commit 7084bd1b162c054ac07583ede1f52e405f593992 Author: vince0656 Date: Tue Jun 12 13:31:38 2018 +0100 Initial commit of DEMOS2 with the upgraded 'Create Event' UI. However, there is no input validation currently diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..ae24445 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*.pyc +*.sqlite +*.sqlite3 +__pycache__ +migrations/ +build + +/venv*/ +/.idea/ \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100755 index 0000000..651b9c1 --- /dev/null +++ b/LICENSE @@ -0,0 +1,25 @@ +demo-allauth-bootstrap: Copyright (c) 2014 A. Ellerton +django-allauth: Copyright (c) 2010 Raymond Penners and contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +` diff --git a/Makefile b/Makefile new file mode 100755 index 0000000..ddcda36 --- /dev/null +++ b/Makefile @@ -0,0 +1,26 @@ +default: run + +DATABASE_NAME=db.sqlite3 + +configure: + python configure.py + +rebuild: deldb syncdb initdb + +deldb: + rm -f $(DATABASE_NAME) + +syncdb: + python manage.py syncdb --noinput + +initdb: + sqlite3 $(DATABASE_NAME) < seed.sql + +run: + python manage.py runserver + +clean: + find . -name "*.pyc" -print0 | xargs -0 rm + +veryclean: deldb clean + rm -f allauthdemo/settings_generated.py diff --git a/Node/demos2-booth.js b/Node/demos2-booth.js new file mode 100755 index 0000000..015493c --- /dev/null +++ b/Node/demos2-booth.js @@ -0,0 +1,231 @@ +/* + +Cryptography functions written by Bingsheng Zhang + +Uses the milagro-crypto-js library at: +https://github.com/milagro-crypto/milagro-crypto-js + +*/ + +//Group parameter generator: returns rng object and generators g1,g2 for G1,G2 as well as order +gpGen = function(){ + //init, and base generators + var ctx = new CTX("BN254CX"); + + var n=new ctx.BIG(0); n.rcopy(ctx.ROM_CURVE.CURVE_Order); + + //get generator P for G1 + P = new ctx.ECP(0); + gx = new ctx.BIG(0); + gx.rcopy(ctx.ROM_CURVE.CURVE_Gx); + if (ctx.ECP.CURVETYPE != ctx.ECP.MONTGOMERY) { + gy = new ctx.BIG(0); + gy.rcopy(ctx.ROM_CURVE.CURVE_Gy); + P.setxy(gx, gy); + } else P.setx(gx); + + //get generator Q for G2 + var A=new ctx.BIG(0); + var B=new ctx.BIG(0); + A.rcopy(ctx.ROM_CURVE.CURVE_Pxa); + B.rcopy(ctx.ROM_CURVE.CURVE_Pxb); + var Qx=new ctx.FP2(0); Qx.bset(A,B); + A.rcopy(ctx.ROM_CURVE.CURVE_Pya); + B.rcopy(ctx.ROM_CURVE.CURVE_Pyb); + var Qy=new ctx.FP2(0); Qy.bset(A,B); + var Q=new ctx.ECP2(); + Q.setxy(Qy,Qy); + + return{ + n:n, + g1:P, + g2:Q + } +} + + +//creates ElGamal public and secret key +keyGen=function(params){ + var ctx = new CTX("BN254CX"); + //set rng + var RAW = []; + var d = new Date();//time for seed, not secure + var rng = new ctx.RAND(); + rng.clean(); + RAW[0] = d.getSeconds(); + RAW[1] = d.getMinutes(); + RAW[2] = d.getMilliseconds(); + rng.seed(3, RAW); + + //ElGamal + var sk = new ctx.BIG(0); + sk = ctx.BIG.randomnum(params.n,rng); + var pk = new ctx.ECP(0); + pk = ctx.PAIR.G1mul(params.g1,sk); + + + return{ + PK:pk, + SK:sk + } +} + + +//combine multiple public key together +//the input is an array of PKs +combine=function(PKs){ + var ctx = new CTX("BN254CX"); + var pk=new ctx.ECP(); + //copy the first pk + pk.copy(PKs[0]); + //multiple the rest PKs + for(i=1;i + + + + + + Demos2 + + + + + + + + + + + + + + + +
+ +
+ +
+ + +
+ +
+ +
+ +
+ + +
    + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Node/index.js b/Node/index.js new file mode 100755 index 0000000..6d29284 --- /dev/null +++ b/Node/index.js @@ -0,0 +1,469 @@ +/* + + +Code by Thomas Smith + + +*/ + +var port = 8080; + +var express = require('express'); +var Buffer = require('buffer').Buffer; +var CTX = require('milagro-crypto-js') +var app = express(); +/* +var cors = require('cors') +app.use(cors()); +*/ + +app.use(express.static('test')); +//default test +app.get('/', function(request, response){ + + var data = { + message: 'hello world', + value: 5 + } + + + //response.send('Hey there'+request.ip); + response.json(data); + console.log('request from'+request.ip); + +}); + +//parameter generation function +app.get('/param', function(request, response){ + var param = gpGen(); + + console.log('Generated Param:' + param); + response.json(param); + +}) + +//combine public keys and return the full combined one - JSON Version +app.get('/combpk', function(request, response){ + + + var partials = request.query['PK'] + + var parsed = []; + + + console.log('Combining...'); + for (var i = partials.length - 1; i >= 0; i--) { + console.log('PK' +i+ ': '+partials[i]); + parsed.push(JSON.parse(partials[i])); + } + + var PK = combine(parsed); + response.json(PK); + +}) + + +//byte array version +app.get('/cmpkstring', function(request, response){ + var ctx = new CTX("BN254CX"); + + var partials = request.query['PK'] + //if there is only one key, partials will be an array of the individual bytes + //if more than one, it will be an array of arrays + //we need to factor for this in code + var noOfKeys = request.query['number']; + var parsed = []; + + if(noOfKeys == partials.length)//if we're submitting more than one key + { + console.log('Combining' + noOfKeys + " keys..."); + for (var i = partials.length - 1; i >= 0; i--) { + console.log('PK' +i+ ': '+partials[i]); + var bytes = Buffer.from(partials[i].split(','), 'hex'); + console.log(bytes) + var pk = new ctx.ECP.fromBytes(bytes); + parsed.push(pk); + } + } + else if(noOfKeys == 1) + { + console.log("Combining just one key"); + var bytes = Buffer.from(partials.split(','), 'hex'); + console.log(bytes); + var pk = new ctx.ECP.fromBytes(bytes); + parsed.push(pk); + } + + response.json(combine(parsed)); +}) + + +//addition function on homomorphically encrypted variables +//this may need some work, different method of serialisation maybe? +app.get('/addec', function(request, response){ + var c1 = request.query['C1']; + var c2 = request.query['C2']; + var number = request.query['number']; //number of ciphertexts to add + //all the list of ciphertext objects to give to the function + var parsed = []; + + var ctx = new CTX("BN254CX"); + console.log('Addec:'); + + if(number == c1.length) + { + for (var i = 0; i < c1.length; i++) { + console.log(i + ".C1: " + c1[i]); + var c1Bytes = Buffer.from(c1[i].split(','), 'hex'); + var newC1 = new ctx.ECP.fromBytes(c1Bytes); + + var cipher = + { + C1:newC1, + C2:null + }; + parsed.push(cipher); + + } + + for (var j = 0; j < c2.length; j++) { + console.log(j + ".C2: " + c2[j]); + var c2Bytes = Buffer.from(c2[j].split(','), 'hex'); + var newC2 = new ctx.ECP.fromBytes(c2Bytes); + + parsed[j].C2 = newC2; + } + } + + else if(number == 1) + { + console.log("only one cipher"); + var c1Bytes = Buffer.from(c1.split(','), 'hex'); + var newC1 = new ctx.ECP.fromBytes(c1Bytes); + console.log("C1: " + c1); + var c2Bytes = Buffer.from(c2.split(','), 'hex'); + var newC2 = new ctx.ECP.fromBytes(c2Bytes); + console.log("C2: " + c2); + + var cipher = + { + C1:newC1, + C2:newC2 + }; + parsed.push(cipher); + } + + + response.json(add(parsed)); +}) + + + +//tally partially decrypted ciphertexts +app.get('/tally', function(request, response){ + console.log("called tally"); + var amount = request.query['number'];//number of decryptions taking in + var paramString = request.query['param'];//event group parameter in JSON + var partialsStrings = request.query['decs'];//array of partial decryption(s) in bytes + var ciphertextString = request.query['cipher'];//ciphertext being decrypted in JSON + + //re-build parameters + var tempParams = JSON.parse(paramString); + var ctx = new CTX("BN254CX"); //new context we can use + var n = new ctx.BIG(); + var g1 = new ctx.ECP(); + var g2 = new ctx.ECP2(); + + //copying the values + n.copy(tempParams.n); + g1.copy(tempParams.g1); + g2.copy(tempParams.g2); + + var params = { + n:n, + g1:g1, + g2:g2 + } + + //re-build partial decryptions + var partials = [] + if(amount == partialsStrings.length) + { + console.log(amount + " partial decryptions"); + for(var i = 0; i < partialsStrings.length; i++) + { + var bytes = Buffer.from(partialsStrings[i].split(','), 'hex'); + var dec = { + D:new ctx.ECP.fromBytes(bytes) + } + partials.push(dec); + } + } + else if(amount == 1) + { + console.log("Only one partial decryption received") + console.log(paramString) + var bytes = Buffer.from(partialsStrings.split(','), 'hex'); + var dec = { + D:new ctx.ECP.fromBytes(bytes) + } + partials.push(dec); + } + + //re-build combined ciphertext + var tempCipher = JSON.parse(ciphertextString); + + cipher = { + C1: new ctx.ECP(), + C2: new ctx.ECP() + } + cipher.C1.copy(tempCipher.C1); + cipher.C2.copy(tempCipher.C2); + + response.json(tally(params, partials, cipher)) +}) + + + +var server = app.listen(port, function(){ + var host = server.address().address; + var appPort = server.address().port; + + console.log('Server listening on ' + host + ':'+ port); +}); + + +/* + +Cryptography functions written by Bingsheng Zhang + +Uses the milagro-crypto-js library at: +https://github.com/milagro-crypto/milagro-crypto-js + +*/ + + +//Group parameter generator: returns rng object and generators g1,g2 for G1,G2 as well as order +gpGen = function(){ + //init, and base generators + var ctx = new CTX("BN254CX"); + + var n=new ctx.BIG(0); n.rcopy(ctx.ROM_CURVE.CURVE_Order); + + //get generator P for G1 + P = new ctx.ECP(0); + gx = new ctx.BIG(0); + gx.rcopy(ctx.ROM_CURVE.CURVE_Gx); + if (ctx.ECP.CURVETYPE != ctx.ECP.MONTGOMERY) { + gy = new ctx.BIG(0); + gy.rcopy(ctx.ROM_CURVE.CURVE_Gy); + P.setxy(gx, gy); + } else P.setx(gx); + + //get generator Q for G2 + var A=new ctx.BIG(0); + var B=new ctx.BIG(0); + A.rcopy(ctx.ROM_CURVE.CURVE_Pxa); + B.rcopy(ctx.ROM_CURVE.CURVE_Pxb); + var Qx=new ctx.FP2(0); Qx.bset(A,B); + A.rcopy(ctx.ROM_CURVE.CURVE_Pya); + B.rcopy(ctx.ROM_CURVE.CURVE_Pyb); + var Qy=new ctx.FP2(0); Qy.bset(A,B); + var Q=new ctx.ECP2(); + Q.setxy(Qy,Qy); + + return{ + n:n, + g1:P, + g2:Q + } +} + + +//creates ElGamal public and secret key +keyGen=function(params){ + var ctx = new CTX("BN254CX"); + //set rng + var RAW = []; + var d = new Date();//time for seed, not secure + var rng = new ctx.RAND(); + rng.clean(); + RAW[0] = d.getSeconds(); + RAW[1] = d.getMinutes(); + RAW[2] = d.getMilliseconds(); + rng.seed(3, RAW); + + //ElGamal + var sk = new ctx.BIG(0); + sk = ctx.BIG.randomnum(params.n,rng); + var pk = new ctx.ECP(0); + pk = ctx.PAIR.G1mul(params.g1,sk); + + + return{ + PK:pk, + SK:sk + } +} + + +//combine multiple public key together +//the input is an array of PKs +combine=function(PKs){ + var ctx = new CTX("BN254CX"); + var pk=new ctx.ECP(); + //copy the first pk + pk.copy(PKs[0]); + //multiple the rest PKs + for(i=1;i + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

DEMOS2 Node.js Server testing page

+ + +

GPGen Local results

+

GPGen Server results

+ + +

addec Local results

+

addec Server results

+

addec comparison results

+ + + +

combpk Local results

+

combpk Server results

+

compk comparison results

+ + + +

combpk Local results

+

combpk Server results

+

compk comparison results

+ + +

tally Local results

+

tally Server results

+

compk comparison results

+ + + + + + diff --git a/README.md b/README.md new file mode 100755 index 0000000..5289626 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# DEMOS2 + +Prototype Django based e-voting application, to demonstrate DEMOS2's client-side encryption e-voting. + +The previous repository for DEMOS2 by Carey Williams can be found at: https://github.com/CareyJWilliams/DEMOS2 + +The Node.js encryption server depends on the milagro-crypto-js library. Download the source and follow the instructions for installation: https://github.com/milagro-crypto/milagro-crypto-js. To install, place the package's files (`package.json` level) into the directory Node/milagro-crypto-js (a new folder) then run `npm install` in the Node folder. This should install dependencies including the local package you just added. diff --git a/allauthdemo/__init__.py b/allauthdemo/__init__.py new file mode 100755 index 0000000..d13e951 --- /dev/null +++ b/allauthdemo/__init__.py @@ -0,0 +1,5 @@ +from __future__ import absolute_import + +# This will make sure the app is always imported when +# Django starts so that shared_task will use this app. +from .celery import app as celery_app # noqa diff --git a/allauthdemo/auth/__init__.py b/allauthdemo/auth/__init__.py new file mode 100755 index 0000000..2bc9a97 --- /dev/null +++ b/allauthdemo/auth/__init__.py @@ -0,0 +1,2 @@ +# See https://docs.djangoproject.com/en/1.7/ref/applications/#for-application-authors +default_app_config = 'allauthdemo.auth.apps.AllAuthDemoAuthAppConfig' diff --git a/allauthdemo/auth/admin.py b/allauthdemo/auth/admin.py new file mode 100755 index 0000000..5f058dc --- /dev/null +++ b/allauthdemo/auth/admin.py @@ -0,0 +1,87 @@ +from django.contrib import admin +#from django.utils.html import format_html_join +#from django.utils.safestring import mark_safe +#from django.utils.encoding import python_2_unicode_compatible +from django.utils.translation import ugettext_lazy as _ +from django.contrib.auth.admin import UserAdmin +try: + from django.utils.encoding import force_text +except ImportError: + from django.utils.encoding import force_unicode as force_text + +from .models import DemoUser, UserProfile +from .forms import DemoUserAdminForm + + +class UserProfileAdmin(admin.ModelAdmin): + search_fields = ('user', 'dob') + ordering = ('user',) + list_select_related = ('user',) + + +admin.site.register(UserProfile, UserProfileAdmin) + + +class UserProfileAdminInline(admin.TabularInline): + model = UserProfile + + +class DemoUserAdmin(UserAdmin): + """The project uses a custom User model, so it uses a custom User admin model. + + Some related notes at: + https://github.com/dabapps/django-email-as-username/blob/master/emailusernames/admin.py + + And: + .../lib/python2.7/site-packages/django/contrib/auth/admin.py + """ + + inlines = [ + UserProfileAdminInline, + ] + + #readonly_fields = ('private_uuid', 'public_id') + + fieldsets = ( + (None, {'fields': ('email', 'password')}), + (_('Personal info'), {'fields': ('first_name', 'last_name', 'display_name')}), + (_('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser', + 'groups', 'user_permissions')}), + (_('Important dates'), {'fields': ('last_login', 'date_joined')}), + #(_('Ids'), {'fields': ('private_uuid', 'public_id')}), + ) + + add_fieldsets = ( + (None, { + 'classes': ('wide',), + 'fields': ('email', 'password1', 'password2')} + ), + ) + list_display = ('email', 'first_name', 'last_name', 'display_name', 'is_staff') + search_fields = ('first_name', 'last_name', 'display_name', 'email') + ordering = ('email',) + + form = DemoUserAdminForm + + + + +# *** NOTE *** +# As the site uses email instead of username, I'm changing how a User object +# displays or identifies itself in admin. The default in Django (file is +# lib/python2.7/site-packages/django/contrib/auth/models.py) is +# +# def __str__(self): +# return self.get_username() +# +# def natural_key(self): +# return (self.get_username(),) +# +# I'm overriding that a cheap way. I'm not sure if I should replace the entire +# User object ... might be better. +# +#User.__unicode__ = lambda(u): u.email +#User.natural_key = lambda(u): (u.email,) + +#admin.site.unregister(DjangoDefaultUser) +admin.site.register(DemoUser, DemoUserAdmin) diff --git a/allauthdemo/auth/apps.py b/allauthdemo/auth/apps.py new file mode 100755 index 0000000..7874a1b --- /dev/null +++ b/allauthdemo/auth/apps.py @@ -0,0 +1,8 @@ +from django.apps import AppConfig + + +class AllAuthDemoAuthAppConfig(AppConfig): + label = "allauthdemo_auth" + name = "allauthdemo.auth" # "all_auth_demo_auth" + verbose_name = "AllAuthDemo Auth" + diff --git a/allauthdemo/auth/forms.py b/allauthdemo/auth/forms.py new file mode 100755 index 0000000..a793b34 --- /dev/null +++ b/allauthdemo/auth/forms.py @@ -0,0 +1,46 @@ +from django import forms +from django.core.validators import MinLengthValidator + +from .models import DemoUser + +from captcha.fields import ReCaptchaField + + +class DemoUserEditForm(forms.ModelForm): + """Form for viewing and editing name fields in a DemoUser object. + + A good reference for Django forms is: + http://pydanny.com/core-concepts-django-modelforms.html + """ + + def __init__(self, *args, **kwargs): + # TODO: this doesn't seem to work. Need to get to the bottom of it. + #self.base_fields["display_name"].min_length = 2 + #self.base_fields["display_name"].validators.append(MinLengthValidator) + #print self.base_fields['display_name'].validators + super(forms.ModelForm, self).__init__(*args, **kwargs) + + class Meta: + model = DemoUser + fields = ('first_name', 'last_name', 'display_name') + + +class DemoUserAdminForm(forms.ModelForm): + + class Meta: + model = DemoUser + fields = ('email', 'first_name', 'last_name', 'display_name', 'is_staff', 'is_active', 'date_joined') + + def is_valid(self): + #log.info(force_text(self.errors)) + return super(DemoUserAdminForm, self).is_valid() + +class NameForm(forms.Form): + your_name = forms.CharField(label='Your name', max_length=100) + + +class RegistrationForm(forms.Form): + captcha = ReCaptchaField() + + def signup(self, request, user): + user.save() diff --git a/allauthdemo/auth/models.py b/allauthdemo/auth/models.py new file mode 100755 index 0000000..ba7816c --- /dev/null +++ b/allauthdemo/auth/models.py @@ -0,0 +1,199 @@ +import hashlib + +from django.db import models +from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, UserManager +from django.utils.encoding import python_2_unicode_compatible +from django.utils.http import urlquote +from django.core.mail import send_mail +from django.dispatch import receiver +from django.utils import timezone +from django.utils.translation import ugettext_lazy as _ +try: + from django.utils.encoding import force_text +except ImportError: + from django.utils.encoding import force_unicode as force_text +from allauth.account.signals import user_signed_up + + +class MyUserManager(UserManager): + """ + Custom User Model manager. + + It overrides default User Model manager's create_user() and create_superuser, + which requires username field. + """ + + def create_user(self, email, password=None, **kwargs): + user = self.model(email=email, **kwargs) + user.set_password(password) + user.save() + return user + + def create_superuser(self, email, password, **kwargs): + user = self.model(email=email, is_staff=True, is_superuser=True, **kwargs) + user.set_password(password) + user.save() + return user + + +class DemoUser(AbstractBaseUser, PermissionsMixin): + """A site-specific user model. + + Important: You don't have to use a custom user model. I did it here because + I didn't want a username to be part of the system and I wanted other data + to be part of the user and not in a separate table. + + You can avoid the username issue without writing a custom model but it + becomes increasingly obtuse as time goes on. Write a custom user model, then + add a custom admin form and model. + + Remember to change ``AUTH_USER_MODEL`` in ``settings.py``. + """ + + email = models.EmailField(_('email address'), blank=False, unique=True) + first_name = models.CharField(_('first name'), max_length=40, blank=True, null=True, unique=False) + last_name = models.CharField(_('last name'), max_length=40, blank=True, null=True, unique=False) + display_name = models.CharField(_('display name'), max_length=14, blank=True, null=True, unique=False) + is_staff = models.BooleanField(_('staff status'), default=False, + help_text=_('Designates whether the user can log into this admin ' + 'site.')) + is_active = models.BooleanField(_('active'), default=True, + help_text=_('Designates whether this user should be treated as ' + 'active. Unselect this instead of deleting accounts.')) + date_joined = models.DateTimeField(_('date joined'), default=timezone.now) + + objects = MyUserManager() + + USERNAME_FIELD = 'email' + REQUIRED_FIELDS = [] + + class Meta: + verbose_name = _('user') + verbose_name_plural = _('users') + db_table = 'auth_user' + abstract = False + + def get_absolute_url(self): + # TODO: what is this for? + return "/users/%s/" % urlquote(self.email) # TODO: email ok for this? better to have uuid? + + @property + def name(self): + if self.first_name: + return self.first_name + elif self.display_name: + return self.display_name + return 'You' + + def get_full_name(self): + """ + Returns the first_name plus the last_name, with a space in between. + """ + full_name = '%s %s' % (self.first_name, self.last_name) + return full_name.strip() + + def get_short_name(self): + "Returns the short name for the user." + return self.first_name + + def guess_display_name(self): + """Set a display name, if one isn't already set.""" + if self.display_name: + return + + if self.first_name and self.last_name: + dn = "%s %s" % (self.first_name, self.last_name[0]) # like "Andrew E" + elif self.first_name: + dn = self.first_name + else: + dn = 'You' + self.display_name = dn.strip() + + def email_user(self, subject, message, from_email=None): + """ + Sends an email to this User. + """ + send_mail(subject, message, from_email, [self.email]) + + def __str__(self): + return self.email + + def natural_key(self): + return (self.email,) + + +@python_2_unicode_compatible +class UserProfile(models.Model): + """Profile data about a user. + Certain data makes sense to be in the User model itself, but some + is more "profile" data than "user" data. I think this is things like + date-of-birth, favourite colour, etc. If you have domain-specific + profile information you might create additional profile classes, like + say UserGeologistProfile. + """ + user = models.OneToOneField(DemoUser, on_delete=models.CASCADE, primary_key=True, verbose_name='user', related_name='profile') + + # I oscillate between whether the ``avatar_url`` should be + # a) in the User model + # b) in this UserProfile model + # c) in a table of it's own to track multiple pictures, with the + # "current" avatar as a foreign key in User or UserProfile. + avatar_url = models.CharField(max_length=256, blank=True, null=True) + + dob=models.DateField(verbose_name="dob", blank=True, null=True) + + def __str__(self): + return force_text(self.user.email) + + class Meta(): + db_table = 'user_profile' + + +@receiver(user_signed_up) +def set_initial_user_names(request, user, sociallogin=None, **kwargs): + """ + When a social account is created successfully and this signal is received, + django-allauth passes in the sociallogin param, giving access to metadata on the remote account, e.g.: + + sociallogin.account.provider # e.g. 'twitter' + sociallogin.account.get_avatar_url() + sociallogin.account.get_profile_url() + sociallogin.account.extra_data['screen_name'] + + See the socialaccount_socialaccount table for more in the 'extra_data' field. + + From http://birdhouse.org/blog/2013/12/03/django-allauth-retrieve-firstlast-names-from-fb-twitter-google/comment-page-1/ + """ + + preferred_avatar_size_pixels=256 + + picture_url = "http://www.gravatar.com/avatar/{0}?s={1}".format( + hashlib.md5(user.email.encode('UTF-8')).hexdigest(), + preferred_avatar_size_pixels + ) + + if sociallogin: + # Extract first / last names from social nets and store on User record + if sociallogin.account.provider == 'twitter': + name = sociallogin.account.extra_data['name'] + user.first_name = name.split()[0] + user.last_name = name.split()[1] + + if sociallogin.account.provider == 'facebook': + user.first_name = sociallogin.account.extra_data['first_name'] + user.last_name = sociallogin.account.extra_data['last_name'] + #verified = sociallogin.account.extra_data['verified'] + picture_url = "http://graph.facebook.com/{0}/picture?width={1}&height={1}".format( + sociallogin.account.uid, preferred_avatar_size_pixels) + + if sociallogin.account.provider == 'google': + user.first_name = sociallogin.account.extra_data['given_name'] + user.last_name = sociallogin.account.extra_data['family_name'] + #verified = sociallogin.account.extra_data['verified_email'] + picture_url = sociallogin.account.extra_data['picture'] + + profile = UserProfile(user=user, avatar_url=picture_url) + profile.save() + + user.guess_display_name() + user.save() diff --git a/allauthdemo/auth/tests.py b/allauthdemo/auth/tests.py new file mode 100755 index 0000000..7ce503c --- /dev/null +++ b/allauthdemo/auth/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/allauthdemo/auth/views.py b/allauthdemo/auth/views.py new file mode 100755 index 0000000..c16ed92 --- /dev/null +++ b/allauthdemo/auth/views.py @@ -0,0 +1,53 @@ + + +from django.contrib import messages +from django.views.generic.base import TemplateResponseMixin, View +from django.views.generic.edit import FormView, ContextMixin, FormMixin, UpdateView +from django.contrib.auth.decorators import login_required +from django.core.urlresolvers import reverse_lazy + +from .forms import DemoUserEditForm + +class MyModelInstanceMixin(FormMixin): + def get_model_instance(self): + return None + + def get_form_kwargs(self): + kwargs = super(MyModelInstanceMixin, self).get_form_kwargs() + instance = self.get_model_instance() + if instance: + kwargs.update({'instance': instance}) + return instance + + +class DemoUserEditView(UpdateView): + """Allow view and update of basic user data. + + In practice this view edits a model, and that model is + the DemoUser object itself, specifically the names that + a user has. + + The key to updating an existing model, as compared to creating + a model (i.e. adding a new row to a database) by using the + Django generic view ``UpdateView``, specifically the + ``get_object`` method. + """ + form_class = DemoUserEditForm + template_name = "auth/profile.html" + #success_url = '/email-sent/' + view_name = 'account_profile' + success_url = reverse_lazy(view_name) + + def get_object(self): + return self.request.user + + def form_valid(self, form): + # TODO: not sure how to enforce *minimum* length of a field. + #print "form valid..." + #print "save to user:", self.request.user, form.cleaned_data + form.save() + messages.add_message(self.request, messages.INFO, 'User profile updated') + return super(DemoUserEditView, self).form_valid(form) + + +account_profile = login_required(DemoUserEditView.as_view()) diff --git a/allauthdemo/celery.py b/allauthdemo/celery.py new file mode 100755 index 0000000..3271395 --- /dev/null +++ b/allauthdemo/celery.py @@ -0,0 +1,22 @@ +from __future__ import absolute_import + +import os + +from celery import Celery + +# set the default Django settings module for the 'celery' program. +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'allauthdemo.settings') + +from django.conf import settings # noqa + +app = Celery('allauthdemo') + +# Using a string here means the worker will not have to +# pickle the object when using Windows. +app.config_from_object('django.conf:settings') +app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) + + +@app.task(bind=True) +def debug_task(self): + print('Request: {0!r}'.format(self.request)) diff --git a/allauthdemo/polls/__init__.py b/allauthdemo/polls/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/allauthdemo/polls/admin.py b/allauthdemo/polls/admin.py new file mode 100755 index 0000000..99a4f61 --- /dev/null +++ b/allauthdemo/polls/admin.py @@ -0,0 +1,43 @@ +from django.contrib import admin + +# Register your models here. + +from allauthdemo.auth.models import DemoUser +from .models import Event, PollOption, Poll, Organiser + +""" + +from .models import Question, Choice + +class ChoiceInline(admin.TabularInline): + model = Choice + extra = 3 + + +class QuestionAdmin(admin.ModelAdmin): + fieldsets = [ + (None, {'fields': ['question_text']}), + ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}), + ] + inlines = [ChoiceInline] + list_display = ('question_text', 'pub_date', 'was_published_recently') + list_filter = ['pub_date'] + search_fields = ['question_text'] +""" + +class PollAdminInline(admin.TabularInline): + model = Poll + +class PollOptionAdminInline(admin.TabularInline): + model = PollOption + +class EventAdmin(admin.ModelAdmin): + list_display = ("title",) + filter_horizontal = ('users_organisers', 'users_trustees') + +class PollAdmin(admin.ModelAdmin): + inlines = [PollOptionAdminInline] + list_display = ("question_text",) + +admin.site.register(Event, EventAdmin) +admin.site.register(Poll, PollAdmin) diff --git a/allauthdemo/polls/apps.py b/allauthdemo/polls/apps.py new file mode 100755 index 0000000..a760eff --- /dev/null +++ b/allauthdemo/polls/apps.py @@ -0,0 +1,7 @@ +from __future__ import unicode_literals + +from django.apps import AppConfig + + +class PollsConfig(AppConfig): + name = 'polls' diff --git a/allauthdemo/polls/cpp_calls.py b/allauthdemo/polls/cpp_calls.py new file mode 100755 index 0000000..c95029f --- /dev/null +++ b/allauthdemo/polls/cpp_calls.py @@ -0,0 +1,61 @@ +import os +import shlex +import subprocess +import json +import urllib2 + +#change this file name etc., temporary change to get it working for the meantime +''' + +All functions in this file have been re-implemenented by Thomas Smith + +''' +def param(): + jsondict = json.load(urllib2.urlopen('http://localhost:8080/param')) + return json.dumps(jsondict) + +def combpk(amount, pks): + url = 'http://localhost:8080/cmpkstring' + querystring = '?number='+str(amount) + for pk in pks: + querystring += '&PK='+pk + + print(url+querystring) + jsondict = json.load(urllib2.urlopen(url+querystring)) + print(json.dumps(jsondict)) + return json.dumps(jsondict) + +def addec(amount, ciphers): + url = 'http://localhost:8080/addec' + querystring = '?number='+str(amount) + c1s = ciphers['c1s'] + c2s = ciphers['c2s'] + for i, value in enumerate(c1s): + querystring += "&C1="+str(c1s[i]) + querystring += "&C2="+str(c2s[i]) + + print(url+querystring) + jsondict = json.load(urllib2.urlopen(url+querystring)) + print(json.dumps(jsondict)) + return json.dumps(jsondict) + +def tally(amount, param, decs, cipher): + url = 'http://localhost:8080/tally' + querystring = '?number='+str(amount) + querystring += '¶m='+urllib2.quote(str(param)) + + testquerystring = '?number='+str(amount) + testquerystring += '¶m='+str(param) + + for i, value in enumerate(decs): + querystring += "&decs="+str(value) + testquerystring += "&decs="+str(value) + + querystring += '&cipher=' + urllib2.quote(str(cipher)) + testquerystring += '&cipher=' + str(cipher) + + print(url+querystring) + print(url+testquerystring) + jsondict = json.load(urllib2.urlopen(url+querystring)) + print('tally: ' + str(jsondict['M'])) + return str(jsondict['M']) \ No newline at end of file diff --git a/allauthdemo/polls/forms.py b/allauthdemo/polls/forms.py new file mode 100755 index 0000000..6e85d9f --- /dev/null +++ b/allauthdemo/polls/forms.py @@ -0,0 +1,383 @@ +from functools import partial +from django import forms +from django.core.validators import MinLengthValidator +from django.template.loader import render_to_string +from django.template import Context +from django.core.exceptions import ValidationError +from django.core.validators import EmailValidator +from django.core.mail import send_mail +from crispy_forms.helper import FormHelper +from crispy_forms.layout import LayoutObject, Layout, TEMPLATE_PACK, Fieldset, ButtonHolder, Submit, Div, Field, HTML +from crispy_forms.bootstrap import StrictButton, TabHolder, Tab, FormActions, PrependedText, PrependedAppendedText, Accordion, AccordionGroup +from captcha.fields import ReCaptchaField +from allauthdemo.auth.models import DemoUser +from .models import Event, Poll, PollOption, Organiser + +def is_valid_email(email): + try: + valid_email = EmailValidator() + valid_email(email) + return True + except ValidationError: + return False + +class EventForm(forms.ModelForm): + #trustees = forms.CharField(label="Trustee list", widget=forms.Textarea(attrs={'width':"100%", 'cols' : "80", 'rows': "20", })) + voters = forms.CharField(label="Voters", required=False, widget=forms.Textarea(attrs={'width':"100%", 'cols' : "80", 'rows': "20", })) + #self.voters.widget=forms.Textarea(attrs={'width':"100%", 'cols' : "80", 'rows': "20", }) + votersTextFile = forms.FileField(required=False) + captcha = ReCaptchaField() + def __init__(self, *args, **kwargs): + self.helper = FormHelper() + self.helper.form_tag = False + self.helper.form_show_labels = False + self.helper.layout = Layout( + Accordion( + AccordionGroup('Event Details', + PrependedText('title', 'Title', placeholder="Title of the Event"), + Div( + PrependedAppendedText('start_time', 'Begins', '', placeholder="dd/mm/yyyy hh:mm"), + css_class="input-group date col-sm-6" + ), + Div( + PrependedAppendedText('end_time', 'Ends', '', placeholder="dd/mm/yyyy hh:mm"), + css_class="input-group date col-sm-6" + ), + Field('captcha') + ), + AccordionGroup("Organisers", + HTML("

Event creators are automatically made an Organiser. Click and drag the tabs to reorder. Blank fields will be ignored.

"), + Formset("organiser_formset", + "polls/create_option.html", + OrganiserFormSetHelper() + ), + ), + AccordionGroup('Trustees', + HTML("

Click and drag the tabs to reorder. Blank fields will be ignored.

"), + Formset("trustee_formset", + "polls/create_option.html", + TrusteeFormSetHelper() + ), + ), + AccordionGroup('Voters', + 'voters', + HTML("

Comma seperated (.csv) file of valid email addresses

"), + 'votersTextFile' + ), + ), + ) + super(EventForm, self).__init__(*args, **kwargs) + + class Meta: + model = Event + fields = ('title', 'start_time', 'end_time', 'captcha') # TWEAK!!! + widgets = { + 'voters': forms.Textarea(attrs={'cols': 80, 'rows': 20}) + } + +class EventEditForm(forms.ModelForm): + #trustees = forms.CharField(label="Trustee list", widget=forms.Textarea(attrs={'width':"100%", 'cols' : "80", 'rows': "20", })) + voters = forms.CharField(label="Voters", required=False, widget=forms.Textarea(attrs={'width':"100%", 'cols' : "80", 'rows': "20", })) + #self.voters.widget=forms.Textarea(attrs={'width':"100%", 'cols' : "80", 'rows': "20", }) + votersTextFile = forms.FileField(required=False) + captcha = ReCaptchaField() + def __init__(self, *args, **kwargs): + self.helper = FormHelper() + self.helper.form_tag = False + self.helper.form_show_labels = False + self.helper.layout = Layout( + Accordion( + AccordionGroup('Event Details', + PrependedText('title', 'Title', placeholder="Title of the Event"), + Div( + PrependedAppendedText('start_time', 'Begins', '', placeholder="dd/mm/yyyy hh:mm"), + css_class="input-group date col-sm-6" + ), + Div( + PrependedAppendedText('end_time', 'Ends', '', placeholder="dd/mm/yyyy hh:mm"), + css_class="input-group date col-sm-6" + ), + Field('captcha') + ), + AccordionGroup('Voters', + 'voters', + HTML("

Comma seperated (.csv) file of valid email addresses

"), + 'votersTextFile' + ), + ), + ) + super(EventEditForm, self).__init__(*args, **kwargs) + + class Meta: + model = Event + fields = ('title', 'start_time', 'end_time', 'captcha') # TWEAK!!! + widgets = { + 'voters': forms.Textarea(attrs={'cols': 80, 'rows': 20}) + } + + + +class EventSetupForm(forms.Form): + public_key = forms.CharField(max_length=1024, required=True) + + def __init__(self, *args, **kwargs): + self.helper = FormHelper() + self.helper.form_tag = False + self.helper.form_show_labels = False + self.helper.layout = Layout( + Field('public_key', id="public-key") + ) + super(EventSetupForm, self).__init__(*args, **kwargs) + + class Meta: + fields = ('public_key',) + +class PollForm(forms.ModelForm): + question_text = forms.CharField( + max_length = 80, + required = True, + ) + def __init__(self, *args, **kwargs): + option_formset = kwargs.pop('option_formset', None) + choices = option_formset.total_form_count() if option_formset else 2 + self.helper = FormHelper() + self.helper.form_show_labels = False + self.helper.form_tag = False + self.helper.layout = Layout( + Accordion( + AccordionGroup("Poll Details", + PrependedText('question_text', 'Question', placeholder='The question or title of your poll') + ), + AccordionGroup("Poll Options", + HTML("

Click and drag the tabs to reorder

"), + Formset("option_formset", + "polls/create_option.html", + PollOptionFormSetHelper() + ) + ) + ), + ) + super(PollForm, self).__init__(*args, **kwargs) + + class Meta: + model = Poll + fields = ('question_text',) + +class VoteModelChoiceField(forms.ModelChoiceField): + def label_from_instance(self, obj): + return obj.choice_text + +class VoteForm(forms.ModelForm): + cipher_text_c1 = forms.CharField( + max_length = 1024, + required = True, + ) + cipher_text_c2 = forms.CharField( + max_length = 1024, + required = True, + ) + def __init__(self, *args, **kwargs): + super(VoteForm, self).__init__(*args, **kwargs) + self.helper = FormHelper(self) + self.helper.form_show_labels = False + self.helper.form_tag = False + self.helper.layout = Layout( + Field('cipher_text_c1', type="hidden"), + Field('cipher_text_c2', type="hidden") + ) + + class Meta: + model = Poll + fields = ()#'options') + +class DecryptionForm(forms.Form): + text = forms.CharField(max_length=1024, required=True) + def __init__(self, *args, **kwargs): + super(DecryptionForm, self).__init__(*args, **kwargs) + self.helper = FormHelper(self) + self.helper.form_show_labels = False + self.helper.form_tag = False + self.layout = Layout( + PrependedText('text', 'Cipher'), + ) + + class Meta: + model = Poll + fields = ('enc',)#'options') + +class EmailForm(forms.Form): + email = forms.CharField( + max_length = 80, + required = True, + ) + + def __init__(self, *args, **kwargs): + super(EmailForm, self).__init__(*args, **kwargs) + + def clean_email(self): + email = self.cleaned_data['email'] + if is_valid_email(email): + return email + raise forms.ValidationError(u'This doesn\'t appear to be a valid email address.') + +class OrganiserForm(EmailForm): + + def clean_email(self): + email = self.cleaned_data['email'] + if is_valid_email(email): + if DemoUser.objects.filter(email=email).exists(): + return email + raise forms.ValidationError(u'User "%s" does not exist.' % email) + raise forms.ValidationError(u'This doesn\'t appear to be a valid email address.') + +class BaseFormSetHelper(FormHelper): + def __init__(self, *args, **kwargs): + super(BaseFormSetHelper, self).__init__(*args, **kwargs) + self.form_method = 'post' + self.form_show_labels = False + self.form_tag = False + self.layout = Layout() + #Field('organiser_email', placeholder="Option here") + self.render_required_fields = True + +class OrganiserFormSetHelper(BaseFormSetHelper): + def __init__(self, *args, **kwargs): + super(OrganiserFormSetHelper, self).__init__(*args, **kwargs) + self.layout = Layout( + Div( + Field('DELETE', css_class='input-small hidden'), + PrependedAppendedText('email', 'Email ', "", placeholder="Email address of the organiser"), + css_class="formset_object") + ) + +class DecryptionFormSetHelper(BaseFormSetHelper): + def __init__(self, *args, **kwargs): + super(DecryptionFormSetHelper, self).__init__(*args, **kwargs) + self.form_show_labels = False + self.layout = Layout( + Div( + PrependedText('text', 'Cipher '), + css_class="formset_object") + ) + +class TrusteeFormSetHelper(BaseFormSetHelper): + def __init__(self, *args, **kwargs): + super(TrusteeFormSetHelper, self).__init__(*args, **kwargs) + self.layout = Layout( + Div( + Field('DELETE', css_class='input-small hidden'), + PrependedAppendedText('email', 'Email ', "", placeholder="Email address of the trustee"), + css_class="formset_object") + ) + +class PollOptionFormSetHelper(BaseFormSetHelper): + def __init__(self, *args, **kwargs): + super(PollOptionFormSetHelper, self).__init__(*args, **kwargs) + self.layout = Layout( + Div( + Field('DELETE', css_class='input-small hidden'), + PrependedAppendedText('choice_text', 'Option', "", placeholder="Option"), + css_class="formset_object") + ) + +class PollOptionFormSetHelper(BaseFormSetHelper): + def __init__(self, *args, **kwargs): + super(PollOptionFormSetHelper, self).__init__(*args, **kwargs) + self.layout = Layout( + Div( + Field('DELETE', css_class='input-small hidden'), + PrependedAppendedText('choice_text', 'Option', "", placeholder="Option"), + css_class="formset_object") + ) + +### EXPERIMENTAL https://stackoverflow.com/questions/15157262/django-crispy-forms-nesting-a-formset-within-a-form/22053952#22053952 +class Formset(LayoutObject): + """ + Layout object. It renders an entire formset, as though it were a Field. + + Example:: + + Formset("attached_files_formset") + """ + + template = "%s/formset.html" % TEMPLATE_PACK + + def __init__(self, formset_name_in_context, template=None, helper=None): + self.formset_name_in_context = formset_name_in_context + + # crispy_forms/layout.py:302 requires us to have a fields property + self.fields = [] + + # Overrides class variable with an instance level variable + if template: + self.template = template + + if helper: + self.helper = helper + + def render(self, form, form_style, context, template_pack=TEMPLATE_PACK): + formset = context[self.formset_name_in_context] + return render_to_string(self.template, Context({'wrapper': self, + 'formset': formset, 'helper': self.helper})) + +class OptionForm(forms.ModelForm): + + choice_text = forms.CharField(label=('Option'), + min_length=1, max_length=1024) + + def clean_option(self): + return _trim_whitespace(self.cleaned_data['text']) + + class Meta: + model = PollOption + fields = ('choice_text',) + +OrganiserFormSet = forms.formset_factory(form=OrganiserForm, extra=0, min_num=1, max_num=10, can_delete=True) +TrusteeFormSet = forms.formset_factory(form=EmailForm, extra=1, min_num=1, max_num=10, can_delete=True) +DecryptionFormset = forms.formset_factory(form=DecryptionForm, extra=0, min_num=0, validate_min=True, max_num=20, can_delete=False) + +OptionFormset = forms.inlineformset_factory(Poll, PollOption, form=OptionForm, min_num=2, max_num=20, validate_min=True, extra=0, fields=('choice_text',), can_delete=True) +QuestionFormset = forms.inlineformset_factory(Event, Poll, form=PollForm, extra=0, min_num=2, validate_min=True, max_num=20, can_delete=True) + +""" +PartialQuestionFormSet = partial(forms.formset_factory, PollQuestionForm, extra=2, + validate_min=True, validate_max=True, min_num=1, max_num=10) + + +OptionFormset = forms.inlineformset_factory(PollQuestion, QuestionChoice, extra=3, fields=('choice_text',)) + +QuestionFormset = forms.inlineformset_factory(Poll, PollQuestion, + formset=BasePollQuestionFormset, extra=2, fields=('question_text',)) + + +TenantFormset = forms.inlineformset_factory(Building, Tenant, extra=1, fields=('name',)) +BuildingFormset = forms.inlineformset_factory(Block, Building, + formset=BaseBuildingFormset, extra=1, fields=('address',)) + AccordionGroup('Poll Questions', + Formset("question_formset", + "polls/create_question.html" + ) + ), +""" +""" + +class PollQuestionForm(forms.ModelForm): + question_text = forms.CharField( + label = "Poll Title", + max_length = 80, + required = True, + ) + def __init__(self, *args, **kwargs): + self.helper = FormHelper() + self.helper.form_tag = False + self.helper.layout = Layout( + TabHolder( + Tab('question_text') + ), + ) + super(PollQuestionForm, self).__init__(*args, **kwargs) + + class Meta: + model = PollQuestion + fields = ('question_text',) +""" diff --git a/allauthdemo/polls/models.py b/allauthdemo/polls/models.py new file mode 100755 index 0000000..b64ca82 --- /dev/null +++ b/allauthdemo/polls/models.py @@ -0,0 +1,110 @@ +from __future__ import unicode_literals + +from django.db import models + +from django import forms + +# Create your models here. + +import datetime + +from django.utils import timezone + +from allauthdemo.auth.models import DemoUser + +class EmailUser(models.Model): + email = models.CharField(max_length=80, unique=True) + def __unicode__(self): + return self.email + +class Event(models.Model): + users_organisers = models.ManyToManyField(DemoUser, blank=True, related_name="organisers") + users_trustees = models.ManyToManyField(EmailUser, blank=True, related_name="trustees") + voters = models.ManyToManyField(EmailUser, blank=True, related_name="voters") + start_time = models.DateTimeField() + end_time = models.DateTimeField() + prepared = models.BooleanField(default=False) + public_key = models.CharField(null=True, blank=False, max_length=1024) + title = models.CharField(max_length=1024) + EID = models.CharField(max_length=2048, blank=True) + creator = models.CharField(max_length=256, blank=True) + c_email = models.CharField(max_length=512, blank=True) + trustees = models.CharField(max_length=4096) + + def __str__(self): + return self.title + + +class TrusteeKey(models.Model): + event = models.ForeignKey(Event, on_delete=models.CASCADE, related_name="trustee_keys") + user = models.ForeignKey(EmailUser, on_delete=models.CASCADE, related_name="trustee_keys") + key = models.CharField(max_length=1024, unique=True) # ideally composite key here, but django doesn't really support yet + +class AccessKey(models.Model): + event = models.ForeignKey(Event, on_delete=models.CASCADE, related_name="keys") + user = models.ForeignKey(EmailUser, on_delete=models.CASCADE, related_name="keys") + key = models.CharField(max_length=1024, unique=True) # ideally composite key here, but django doesn't really support yet + + #total = models.IntegerField(blank=True, null=True, default=0) + + def has_started(self): + return timezone.now() >= self.start + + def has_ended(self): + return timezone.now() >= self.end + + def __unicode__(self): + return self.title + +class Poll(models.Model): + question_text = models.CharField(max_length=200) + total_votes = models.IntegerField(default=0) + min_num_selections = models.IntegerField(default=0) + max_num_selections = models.IntegerField(default=1) + event = models.ForeignKey(Event, on_delete=models.CASCADE, related_name="polls") + enc = models.CharField(max_length=4096, null=True) + + #index = models.IntegerField() + + def __str__(self): + return self.question_text + +class Decryption(models.Model): + event = models.ForeignKey(Event, on_delete=models.CASCADE, related_name="decryptions") + poll = models.ForeignKey(Poll, on_delete=models.CASCADE, related_name="decryptions") + user = models.ForeignKey(EmailUser, on_delete=models.CASCADE, related_name="decryptions") + text = models.CharField(max_length=1024) + +#some modification to this class +class Ballot(models.Model): + voter = models.ForeignKey(EmailUser, on_delete=models.CASCADE, related_name="ballots") + poll = models.ForeignKey(Poll, on_delete=models.CASCADE, related_name="ballots") + cipher_text_c1 = models.CharField(max_length=4096)#the encryption system uses two byte strings + cipher_text_c2 = models.CharField(max_length=4096) + cast = models.BooleanField(default=False) + +class PollOption(models.Model): + choice_text = models.CharField(max_length=200) + votes = models.IntegerField(default=0) + question = models.ForeignKey(Poll, on_delete=models.CASCADE, related_name="options") + #index = models.IntegerField() + + def __str__(self): + return self.choice_text + +class Organiser(models.Model): + index = models.IntegerField(default=0) + email = models.CharField(max_length=100, blank=False, null=False) + event = models.ForeignKey(Event, on_delete=models.CASCADE) + +''' +class Organiser(models.Model): + user = models.ForeignKey(DemoUser, on_delete=models.CASCADE) + event = models.ForeignKey(Event, on_delete=models.CASCADE) + +class Trustee(models.Model): + user = models.ForeignKey(DemoUser, on_delete=models.CASCADE) + event = models.ForeignKey(Event, on_delete=models.CASCADE) + ''' +#class EventOrganisers(): + #event = models.ForeignKey(Event, on_delete=models.CASCADE) diff --git a/allauthdemo/polls/polls/__init__.py b/allauthdemo/polls/polls/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/allauthdemo/polls/polls/admin.py b/allauthdemo/polls/polls/admin.py new file mode 100755 index 0000000..3732ebc --- /dev/null +++ b/allauthdemo/polls/polls/admin.py @@ -0,0 +1,22 @@ +from django.contrib import admin + +# Register your models here. + +from .models import Question, Choice + +class ChoiceInline(admin.TabularInline): + model = Choice + extra = 3 + + +class QuestionAdmin(admin.ModelAdmin): + fieldsets = [ + (None, {'fields': ['question_text']}), + ('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}), + ] + inlines = [ChoiceInline] + list_display = ('question_text', 'pub_date', 'was_published_recently') + list_filter = ['pub_date'] + search_fields = ['question_text'] + +admin.site.register(Question, QuestionAdmin) diff --git a/allauthdemo/polls/polls/apps.py b/allauthdemo/polls/polls/apps.py new file mode 100755 index 0000000..a760eff --- /dev/null +++ b/allauthdemo/polls/polls/apps.py @@ -0,0 +1,7 @@ +from __future__ import unicode_literals + +from django.apps import AppConfig + + +class PollsConfig(AppConfig): + name = 'polls' diff --git a/allauthdemo/polls/polls/demos_encrypt.so.dylib b/allauthdemo/polls/polls/demos_encrypt.so.dylib new file mode 100755 index 0000000..94067b0 Binary files /dev/null and b/allauthdemo/polls/polls/demos_encrypt.so.dylib differ diff --git a/allauthdemo/polls/polls/forms.py b/allauthdemo/polls/polls/forms.py new file mode 100755 index 0000000..e69de29 diff --git a/allauthdemo/polls/polls/models.py b/allauthdemo/polls/polls/models.py new file mode 100755 index 0000000..d262052 --- /dev/null +++ b/allauthdemo/polls/polls/models.py @@ -0,0 +1,32 @@ +from __future__ import unicode_literals + +from django.db import models + +# Create your models here. + +import datetime + +from django.utils import timezone + +class Question(models.Model): + question_text = models.CharField(max_length=200) + pub_date = models.DateTimeField('date published') + + def was_published_recently(self): + now = timezone.now() + return now - datetime.timedelta(days=1) <= self.pub_date <= now + + was_published_recently.admin_order_field = 'pub_date' + was_published_recently.boolean = True + was_published_recently.short_description = 'Published recently?' + + def __str__(self): + return self.question_text + +class Choice(models.Model): + question = models.ForeignKey(Question, on_delete=models.CASCADE) + choice_text = models.CharField(max_length=200) + votes = models.IntegerField(default=0) + + def __str__(self): + return self.choice_text diff --git a/allauthdemo/polls/polls/static/polls/style.css b/allauthdemo/polls/polls/static/polls/style.css new file mode 100755 index 0000000..0383601 --- /dev/null +++ b/allauthdemo/polls/polls/static/polls/style.css @@ -0,0 +1,3 @@ +li a { + color: green; +} diff --git a/allauthdemo/polls/polls/tests.py b/allauthdemo/polls/polls/tests.py new file mode 100755 index 0000000..006e5d3 --- /dev/null +++ b/allauthdemo/polls/polls/tests.py @@ -0,0 +1,9 @@ +from django.test import TestCase + +# Create your tests here. + +import datetime + +from django.utils import timezone +from django.test import TestCase +from django.core.urlresolvers import reverse diff --git a/allauthdemo/polls/polls/urls.py b/allauthdemo/polls/polls/urls.py new file mode 100755 index 0000000..300a6ac --- /dev/null +++ b/allauthdemo/polls/polls/urls.py @@ -0,0 +1,23 @@ +from django.conf.urls import url +from django.contrib.auth.decorators import login_required, permission_required + +from . import views + +app_name = 'polls' + +#urlpatterns = [ +# url(r'^$', views.index, name='index'), + # ex: /polls/5/ +# url(r'^(?P[0-9]+)/$', views.detail, name='detail'), + # ex: /polls/5/results/ +# url(r'^(?P[0-9]+)/results/$', views.results, name='results'), + # ex: /polls/5/vote/ +# url(r'^(?P[0-9]+)/vote/$', views.vote, name='vote'), +#] + +urlpatterns = [ + url(r'^$', views.IndexView.as_view(), name='index'), + url(r'^(?P[0-9]+)/$', login_required(views.DetailView.as_view()), name='detail'), + url(r'^(?P[0-9]+)/results/$', login_required(views.ResultsView.as_view()), name='results'), + url(r'^(?P[0-9]+)/vote/$', login_required(views.vote), name='vote'), +] diff --git a/allauthdemo/polls/polls/views.py b/allauthdemo/polls/polls/views.py new file mode 100755 index 0000000..a1fac44 --- /dev/null +++ b/allauthdemo/polls/polls/views.py @@ -0,0 +1,98 @@ +from django.shortcuts import render + +# Create your views here. + +from django.http import HttpResponseRedirect, HttpResponse +from django.core.urlresolvers import reverse +from django.shortcuts import get_object_or_404, render + +from django.utils import timezone + +from .models import Question, Choice + +from django.views import generic + + +""" from allauthdemo.auth.forms import RegistrationForm + +def get_name(request): + # if this is a POST request we need to process the form data + if request.method == 'POST': + # create a form instance and populate it with data from the request: + form = RegistrationForm(request.POST) + # check whether it's valid: + if form.is_valid(): + # process the data in form.cleaned_data as required + # ... + # redirect to a new URL: + return HttpResponseRedirect('/thanks/') + + # if a GET (or any other method) we'll create a blank form + else: + form = RegistrationForm() + + return render(request, 'polls/index.html', {'form': form}) """ + + +class IndexView(generic.ListView): + template_name = 'polls/index.html' + context_object_name = 'latest_question_list' + + def get_queryset(self): + """ + Return the last five published questions (not including those set to be + published in the future). + """ + return Question.objects.filter( + pub_date__lte=timezone.now() + ).order_by('-pub_date')[:5] + + +class DetailView(generic.DetailView): + model = Question + template_name = 'polls/detail.html' + + def get_queryset(self): + """ + Excludes any questions that aren't published yet. + """ + return Question.objects.filter(pub_date__lte=timezone.now()) + + +class ResultsView(generic.DetailView): + model = Question + template_name = 'polls/results.html' + +def index(request): + latest_question_list = Question.objects.order_by('-pub_date')[:5] + context = {'latest_question_list': latest_question_list} + return render(request, 'polls/index.html', context) + +def detail(request, question_id): + return HttpResponse("You're looking at question %s." % question_id) + +def results(request, question_id): + question = get_object_or_404(Question, pk=question_id) + return render(request, 'polls/results.html', {'question': question}) + +def vote(request, question_id): + question = get_object_or_404(Question, pk=question_id) + try: + selected_choice = question.choice_set.get(pk=request.POST['choice']) + except (KeyError, Choice.DoesNotExist): + # Redisplay the question voting form. + return render(request, 'polls/detail.html', { + 'question': question, + 'error_message': "You didn't select a choice.", + }) + else: + selected_choice.votes += 1 + selected_choice.save() + # Always return an HttpResponseRedirect after successfully dealing + # with POST data. This prevents data from being posted twice if a + # user hits the Back button. + return HttpResponseRedirect(reverse('polls:results', args=(question.id,))) +# ... +def detail(request, question_id): + question = get_object_or_404(Question, pk=question_id) + return render(request, 'polls/detail.html', {'question': question}) diff --git a/allauthdemo/polls/static/polls/style.css b/allauthdemo/polls/static/polls/style.css new file mode 100755 index 0000000..0383601 --- /dev/null +++ b/allauthdemo/polls/static/polls/style.css @@ -0,0 +1,3 @@ +li a { + color: green; +} diff --git a/allauthdemo/polls/tasks.py b/allauthdemo/polls/tasks.py new file mode 100755 index 0000000..39aaa4e --- /dev/null +++ b/allauthdemo/polls/tasks.py @@ -0,0 +1,117 @@ +from __future__ import absolute_import +import csv +from os import urandom +import base64 +from io import StringIO +from celery import task +from django.core.exceptions import ValidationError +from django.core.validators import EmailValidator +from django.core.mail import send_mail +from allauthdemo.polls.models import Ballot, Event, EmailUser, AccessKey +from .cpp_calls import param, combpk, addec, tally + +def is_valid_email(email): + try: + valid_email = EmailValidator(whitelist=None) + valid_email(email) + return True + except ValidationError: + return False + +@task() +def create_ballots(poll): + for voter in poll.event.voters.all(): + ballot = poll.ballots.create(voter=voter, poll=poll) + +@task() +def create_voters(csvfile, event): + print("Creating voters for event " + event.title) + reader = csv.reader(csvfile, delimiter=',') + string = "" + for row in reader: + email = string.join(row) + print(email) + #testvoter = EmailUser.objects.get_or_create(email='notarealemail@live.com')[0] + #event.voters.add(testvoter) + if (is_valid_email(email)): + voter = EmailUser.objects.get_or_create(email=email)[0] + event.voters.add(voter) + key = base64.urlsafe_b64encode(urandom(16)).decode('utf-8') + AccessKey.objects.create(user=voter, event=event, key=key) + send_mail( + 'Your Voting Key', + 'Key: ' + key, + 'from@example.com', + [string.join(row)], + fail_silently=False, + ) +''' + +Starting here: functions re-implemented by Thomas Smith + +''' +@task() +def generate_event_param(event): + event.EID = param() + event.save() + +@task() +def tally_results(event): + for poll in event.polls.all(): + decs = list() + for dec in poll.decryptions.all(): + decs.append(dec.text) + amount = len(decs) + result = tally(amount, event.EID, decs, poll.enc) + send_mail( + 'Your Results:', + poll.question_text + ": " + result, + 'from@example.com', + ["fake@fake.com"], + fail_silently=False, + ) + print(poll.question_text + ": " + result) + +@task() +def generate_combpk(event): + pks = list() + for tkey in event.trustee_keys.all(): + pks.append(str(tkey.key)) + amount = len(pks) + event.public_key = combpk(amount, pks) + event.prepared = True + event.save() + +@task +def generate_enc(poll): + c1s = list()#c1 components of ciphertexts + c2s = list()#c1 components of ciphertexts + for ballot in poll.ballots.all(): + if (ballot.cast): + c1s.append(str(ballot.cipher_text_c1)) + c2s.append(str(ballot.cipher_text_c2)) + ciphers = { + 'c1s':c1s, + 'c2s':c2s + } + amount = len(c1s) + poll.enc = addec(amount, ciphers) + poll.save() + +''' + +End of re-implemented code + +''' + +@task() +def add(x, y): + return x + y + +@task() +def mul(x, y): + return x * y + +@task() +def xsum(numbers): + return sum(numbers) diff --git a/allauthdemo/polls/templatetags/__init__.py b/allauthdemo/polls/templatetags/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/allauthdemo/polls/templatetags/custom_filters_tags.py b/allauthdemo/polls/templatetags/custom_filters_tags.py new file mode 100755 index 0000000..2b0a804 --- /dev/null +++ b/allauthdemo/polls/templatetags/custom_filters_tags.py @@ -0,0 +1,9 @@ +from django import template + +register = template.Library() + +#get a value for additively homomorphic encryption ballots +#we can't do maths in the template normally so a filter is a way around it +@register.filter +def get_ballot_value(value): + return pow(10, value-1) diff --git a/allauthdemo/polls/tests.py b/allauthdemo/polls/tests.py new file mode 100755 index 0000000..b78637c --- /dev/null +++ b/allauthdemo/polls/tests.py @@ -0,0 +1,12 @@ +from django.test import TestCase + +# Create your tests here. + +import datetime + +from django.utils import timezone +from django.test import TestCase +from django.core.urlresolvers import reverse + +from .models import Event +# come up with some tests \ No newline at end of file diff --git a/allauthdemo/polls/urls.py b/allauthdemo/polls/urls.py new file mode 100755 index 0000000..c6a3668 --- /dev/null +++ b/allauthdemo/polls/urls.py @@ -0,0 +1,36 @@ +from django.conf.urls import url +from django.contrib.auth.decorators import login_required, permission_required + +from . import views + +app_name = 'polls' + +#urlpatterns = [ +# url(r'^$', views.index, name='index'), + # ex: /polls/5/ +# url(r'^(?P[0-9]+)/$', views.detail, name='detail'), + # ex: /polls/5/results/ +# url(r'^(?P[0-9]+)/results/$', views.results, name='results'), + # ex: /polls/5/vote/ +# url(r'^(?P[0-9]+)/vote/$', views.vote, name='vote'), +#] + +urlpatterns = [ + url(r'^vote/(?P[0-9]+)/$', views.test_poll_vote, name='vote-poll'), + url(r'^(?P[0-9]+)/$', views.EventDetailView.as_view(), name='view-event'), + url(r'^(?P[0-9]+)/polls$', views.EventDetailPollsView.as_view(), name='event-polls'), + url(r'^(?P[0-9]+)/organisers$', views.EventDetailOrganisersView.as_view(), name='event-organisers'), + url(r'^$', views.EventListView.as_view(), name='index'), + url(r'^create/$', login_required(views.create_event), name='create-event'), + url(r'^(?P[0-9]+)/decrypt/$', login_required(views.event_trustee_decrypt), name='decrypt-event'), + url(r'^(?P[0-9]+)/prepare/$', login_required(views.event_trustee_setup), name='prepare-event'), + url(r'^(?P[0-9]+)/encrypt/$', login_required(views.event_addec), name='enc-event'), + url(r'^(?P[0-9]+)/launch/$', views.EventDetailLaunchView.as_view(), name='launch-event'), + url(r'^edit/(?P[0-9]+)/$', login_required(views.edit_event), name='edit-event'), + url(r'^(?P[0-9]+)/create/poll/$', login_required(views.manage_questions), name='create-poll'), + url(r'^(?P[0-9]+)/poll/(?P[0-9]+)/$', login_required(views.view_poll), name='view-poll'), + url(r'^(?P[0-9]+)/poll/(?P[0-9]+)/edit$', login_required(views.edit_poll), name='edit-poll'), + #url(r'^(?P[0-9]+)/$', login_required(views.DetailView.as_view()), name='detail'), + #url(r'^(?P[0-9]+)/results/$', login_required(views.ResultsView.as_view()), name='results'), + #url(r'^(?P[0-9]+)/vote/$', login_required(views.vote), name='vote'), +] diff --git a/allauthdemo/polls/utils/CreateNewEventModelAdaptor.py b/allauthdemo/polls/utils/CreateNewEventModelAdaptor.py new file mode 100644 index 0000000..96c0d51 --- /dev/null +++ b/allauthdemo/polls/utils/CreateNewEventModelAdaptor.py @@ -0,0 +1,200 @@ +from datetime import datetime + +from allauthdemo.polls.models import Event +from allauthdemo.polls.models import Poll +from allauthdemo.polls.models import PollOption +from allauthdemo.polls.models import EmailUser +from allauthdemo.auth.models import DemoUser + +''' + Goal: Convert the new form data (from the updated DEMOS2 UI) returned to '/event/create' into + an Event object that can be persisted via a Model to the DB + + Author: Vincent de Almeida + + Created: 11/07/2018 +''' + +# TODO: Define a validation function that can do back-end verification on top of the front end validation +# TODO: Validation can make use of __contains__ from QueryDict: +# TODO: https://docs.djangoproject.com/en/2.0/ref/request-response/#django.http.QueryDict + +class CreateNewEventModelAdaptor: + # Raw data from form and django + form_data = None + user = None + + # Extracted form data + event_name = None + identifier = None + starts_at = None + ends_at = None + min_num_selections = 0 + max_num_selections = 0 + organisers = [] + trustees = [] + voters = [] + + # Each element of the map has a sub array with 2 elements - poll and associated options + polls_options_map = [] + + # Event Model Object containing all the extracted data + event = None + + def __init__(self, form_data, user): + self.form_data = form_data.copy() + self.user = user + # TODO: Call validation func here (incl functionality for verifying CSRF + reCAPTCHA) + self.__extractData() + + + def __extractData(self): + # Extract name and identifier first + self.event_name = self.form_data.pop('name-input')[0] + self.identifier = self.form_data.pop('identifier-input')[0] + + # Extract start and end times as string and convert to datetime + starts_at = self.form_data.pop('vote-start-input')[0] + self.starts_at = datetime.strptime(starts_at, '%Y-%m-%d %H:%M') + + ends_at = self.form_data.pop('vote-end-input')[0] + self.ends_at = datetime.strptime(ends_at, '%Y-%m-%d %H:%M') + + # Extract the list of organisers + organisers_list = self.form_data.pop('organiser-email-input') + + for organiser in organisers_list: + if organiser != '' and DemoUser.objects.filter(email=organiser).count() == 1: + self.organisers.append(DemoUser.objects.filter(email=organiser).get()) + + # Extract the list of trustees + trustees_list = self.form_data.pop('trustee-email-input') + + for trustee in trustees_list: + if trustee != '': + if EmailUser.objects.filter(email=trustee).count() == 1: + self.trustees.append(EmailUser.objects.filter(email=trustee).get()) + else: + self.trustees.append(EmailUser(email=trustee)) + + # Extract the email list of voters + voters_csv_string = self.form_data.pop('voters-list-input')[0].replace(' ', '') + voters_email_list = voters_csv_string.split(',') + + for voter_email in voters_email_list: + if voter_email != '': + if EmailUser.objects.filter(email=voter_email).count() == 1: + self.voters.append(EmailUser.objects.filter(email=voter_email).get()) + else: + self.voters.append(EmailUser(email=voter_email)) + + + # Extract the min and max number of selections + self.min_num_selections = int(self.form_data.pop('minimum-input')[0]) + self.max_num_selections = int(self.form_data.pop('maximum-input')[0]) + + # Create the Event model object - this does not persist it to the DB + self.event = Event(start_time=self.starts_at, + end_time=self.ends_at, + title=self.event_name, + EID=self.identifier, + creator=self.user.first_name + ' ' + self.user.last_name, + c_email=self.user.email, + trustees=voters_csv_string) + + + def __gen_polls_options_map(self): + # At the time of writing, you can only define one poll at event-creation time + + # Generate PollOption objects from the option data defined in form_data + options = self.form_data.pop('option-name-input') + poll_options_list = [] + + for option in options: + if option != '': + poll_options_list.append(PollOption(choice_text=option, votes=0)) + + # Extract required Poll object data and create a poll with its PollOption objects + text = self.form_data.pop('question-input')[0] + votes = 0 + + poll = Poll(question_text=text, + total_votes=votes, + min_num_selections=self.min_num_selections, + max_num_selections=self.max_num_selections, + event=self.event) + + self.polls_options_map.append([poll, poll_options_list]) + + # Instantiate all the polls and their associated poll options + def __get_instantiated_polls(self): + polls = [] + for poll_option_map in self.polls_options_map: + poll = poll_option_map[0] + poll_options = poll_option_map[1] + + # Save the poll to the db + poll.save() + + # Instantiate poll options + for option in poll_options: + option.question = poll + option.save() + + poll.options = poll_options + poll.save() + + polls.append(poll) + + return polls + + def updateModel(self): + # First thing to do is persist the event object to the db + # with basic data before adding things like poll data + self.event.save() + + # List of organisers should already be instantiated and present in the db + # so it can just be added + self.event.users_organisers = self.organisers + + # Add the list of trustees to the event, making sure they're instantiated + for trustee in self.trustees: + if EmailUser.objects.filter(email=trustee.email).count() == 0: + trustee.save() + + self.event.users_trustees = self.trustees + + # Add the list of voters to the event, making sure they're instantiated + for voter in self.voters: + if EmailUser.objects.filter(email=voter.email).count() == 0: + voter.save() + + self.event.voters = self.voters + + # Extract all the poll data for the event and associated poll option data + # This can only be done at this point as the event has been persisted + self.__gen_polls_options_map() + + # Get the instantiated list of polls which have already instantiated options + self.event.polls = self.__get_instantiated_polls() + + self.event.save() + + # Finally perform a data clean up + self.__clear_data() + + def __clear_data(self): + self.form_data = None + self.user = None + self.event_name = None + self.identifier = None + self.starts_at = None + self.ends_at = None + self.min_num_selections = 0 + self.max_num_selections = 0 + self.organisers[:] = [] + self.trustees[:] = [] + self.voters[:] = [] + self.polls_options_map[:] = [] + self.event = None + diff --git a/allauthdemo/polls/utils/__init__.py b/allauthdemo/polls/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/allauthdemo/polls/views.py b/allauthdemo/polls/views.py new file mode 100755 index 0000000..b7021f8 --- /dev/null +++ b/allauthdemo/polls/views.py @@ -0,0 +1,367 @@ +import os +from io import StringIO +from django.shortcuts import render +from django.forms import inlineformset_factory, formset_factory +from django.contrib.auth.decorators import user_passes_test +from django.contrib import messages +from django.http import HttpResponseRedirect, HttpResponse, Http404 +from django.core.urlresolvers import reverse +from django.shortcuts import get_object_or_404, render, render_to_response +from django.template import RequestContext +from django.core.exceptions import ObjectDoesNotExist +from django.utils import timezone +from django.views import generic +from django.conf import settings + +from .forms import EventForm, PollForm, OptionFormset, QuestionFormset, OrganiserFormSet, TrusteeFormSet, VoteForm, EventSetupForm, EventEditForm, DecryptionFormset, DecryptionFormSetHelper +from .models import Event, Poll, PollOption, EmailUser, Ballot, TrusteeKey, Decryption +from allauthdemo.auth.models import DemoUser + +from .tasks import create_voters, create_ballots, generate_event_param, generate_combpk, generate_enc, tally_results +from .cpp_calls import param, addec, combpk, tally + +from .utils.CreateNewEventModelAdaptor import CreateNewEventModelAdaptor + +class EventListView(generic.ListView): + + model = Event + + def get_context_data(self, **kwargs): + context = super(EventListView, self).get_context_data(**kwargs) + #context['now'] = timezone.now() + return context + +class EventDetailView(generic.DetailView): + template_name="polls/event_detail_details.html" + model = Event + + def get_context_data(self, **kwargs): + context = super(EventDetailView, self).get_context_data(**kwargs) + context['is_organiser'] = ((not self.request.user.is_anonymous()) and (self.object.users_organisers.filter(email=self.request.user.email).exists())) + #context['now'] = timezone.now() + return context + + +class EventDetailPollsView(EventDetailView): + template_name="polls/event_detail_polls.html" + +class EventDetailOrganisersView(EventDetailView): + template_name="polls/event_detail_organisers.html" + +class EventDetailLaunchView(EventDetailView): + template_name="polls/event_detail_launch.html" + +class PollDetailView(generic.View): + + model = Poll + + def get_context_data(self, **kwargs): + context = super(PollDetailView, self).get_context_data(**kwargs) + #context['now'] = timezone.now() + context['form'] = VoteForm(instance=self.object) + context['poll_count'] = self.object.event.polls.all().count() + return context + +#my_value = self.kwargs.get('key', 'default_value') + +def test_poll_detail(request, event_id, poll_num, key=None): + context = {} + context['form'] = VoteForm(instance=self.object) + context['poll_count'] = self.object.event.polls.all().count() + return render(request, "polls/event_setup.html", context) + +def util_get_poll_by_event_index(event, poll_num): + try: + poll_num = int(poll_num) + if ((poll_num < 1) or (poll_num > event.polls.all().count())): + return None + poll = event.polls.filter().order_by('id')[poll_num-1] # index field eventually + except ValueError: + return None + return poll + +def edit_poll(request, event_id, poll_num): + event = get_object_or_404(Event, pk=event_id) + event_poll_count = event.polls.all().count() + poll = util_get_poll_by_event_index(event, poll_num) + + if (poll == None): + raise Http404("Poll does not exist") + + form = PollForm(instance=poll, prefix="main") + formset = OptionFormset(instance=poll, prefix="formset_options") + return render(request, "polls/generic_form.html", {'form_title': "Edit Poll: " + poll.question_text, 'form': form, 'option_formset': formset}) + +def view_poll(request, event_id, poll_num): + #return HttpResponse(param("012345")) + #return HttpResponse(combpk(param("012345"), "ABzqvL+pqTi+DNLLRcM62RwCoaZTaXVbOs3sk4fc0+Dc 0 AAaQd6S1x+bcgnkDp2ev5mTt34ICQdZIzP9GaqG4x5sy 0" "ABhQay9jI4pZvkAETNwfo8iwJ8eBMkjqplqAiu/FZxMy 0 ABPxj0jVj3rt0VW54iv4tV02gYtujnR41t5gf97asrPs 0 ABfoiW03bsYIUgfAThmjurmOViKy9L89vfkIavhQIblm 1 ABhQay9jI4pZvkAETNwfo8iwJ8eBMkjqplqAiu/FZxMy 0 ABPxj0jVj3rt0VW54iv4tV02gYtujnR41t5gf97asrPs 0 ABfoiW03bsYIUgfAThmjurmOViKy9L89vfkIavhQIblm 1 ABhQay9jI4pZvkAETNwfo8iwJ8eBMkjqplqAiu/FZxMy 0 ABPxj0jVj3rt0VW54iv4tV02gYtujnR41t5gf97asrPs 0 ABfoiW03bsYIUgfAThmjurmOViKy9L89vfkIavhQIblm 1")) + #return HttpResponse(addec("ACMW70Yj3+mJ/FO+6VOSDGYPYHf7NoTXdpInbfzUqYpH 0 ABV4Mo496B0FW3AW/7gY6Fs+oz6BwfwilonMYeriUyV/ 0 AAg+bdGhs3sxSxAc/wcKdBNUy+el8A2b4yVYShNOb8uX 0 AAspJbn5V2AaY4CgLkzCkHwUWbC5nyxrBzw+o4Az8HVM 1 ABKI7o5Yhgi44XwpFnPpLnH0/czbXA8y5vM4ucV8vojo 1 AAwVrT9+dcQsqRZYoI7+QsJvWOgd7JaJpfI6envmC2jU 1 ABIZO0DK4OrdROD805of6iRk2RenonGYmo2qG2IB1sj/ 1 ACMUHQdjGN0wyCd2AgDHMk9u0TpnywNVtamHWopGho8L 0 ABNT5lbE4siC3QklQXRvTwSQPwtme91+UrIr9iXT3y84 1 ABib0mmQ9ZVCrErqFwDgoRp3jHPpjHGQR2vsMVlwM+vI 0 ABvf3cg1NSS8fn6EKJNnTomeoflcEY1WBxkPPKrBBFl+ 0 ACBUZAtolN4HNh+mw4jLZuHzD+/rYHKR5av16PUc6BJF 0", "2")) + #return HttpResponse(tally("ACNQLLQlh+lNm1Dc+X+dEI0ECVLTkxRHjRnzX1OA+HtW 0 AAWOsUZK/G/cjhUee/gPAXop3Bc0CTVG3iDdQxD6+XqV 0", "ACNQLLQlh+lNm1Dc+X+dEI0ECVLTkxRHjRnzX1OA+HtW 0 0 2", "2")) + event = get_object_or_404(Event, pk=event_id) + if (not event.prepared): + messages.add_message(request, messages.WARNING, "This Event isn\'t ready for voting yet.") + return HttpResponseRedirect(reverse("user_home")) + event_poll_count = event.polls.all().count() + prev_poll_index, next_poll_index = False, False + can_vote, has_voted, voter_email, vote_count = False, False, "", 0 + poll = util_get_poll_by_event_index(event, poll_num) + + if (poll == None): + raise Http404("Poll does not exist") + + form = VoteForm(instance=poll) + poll_num = int(poll_num) # now known to be safe as it suceeded in the util function + + if (poll_num > 1): + prev_poll_index = (poll_num - 1) + if (poll_num < event_poll_count): + next_poll_index = (poll_num + 1) + + access_key = request.GET.get('key', None) + email_key = event.keys.filter(key=access_key) + vote_count = Ballot.objects.filter(poll=poll, cast=True).count() + + if (email_key.exists() and event.voters.filter(email=email_key[0].user.email).exists()): + ballot = Ballot.objects.filter(voter=email_key[0].user, poll=poll) + if (ballot.exists() and ballot[0].cast): + has_voted = True + + if (access_key and email_key.exists()): #or (can_vote(request.user, event)) + voter_email = email_key[0].user.email + can_vote = True + + if (request.method == "POST"): + form = VoteForm(request.POST, instance=poll) + if (email_key.exists()): + #return HttpResponse(email_key[0].key) + ballot = Ballot.objects.get_or_create(voter=email_key[0].user, poll=poll)[0] + + if (form.is_valid()): + ballot.cipher_text_c1 = request.POST["cipher_text_c1"] + ballot.cipher_text_c2 = request.POST["cipher_text_c2"] + ballot.cast = True + ballot.save() + if (next_poll_index): + return HttpResponseRedirect(reverse('polls:view-poll', kwargs={'event_id': event.id, 'poll_num': next_poll_index }) + "?key=" + email_key[0].key) + else: + return HttpResponse("Voted successfully!") # finished all polls in event + + return render(request, "polls/poll_detail.html", + {"object": poll, "poll_num": poll_num , "event": event, "form": form, "poll_count": event.polls.all().count(), + "prev_index": prev_poll_index , "next_index": next_poll_index, + "can_vote": can_vote, "voter_email": voter_email, "has_voted": has_voted, "vote_count": vote_count + }) + +def event_trustee_setup(request, event_id): + event = get_object_or_404(Event, pk=event_id) + access_key = request.GET.get('key', None) + if (access_key): + email_key = event.keys.filter(key=access_key) + if (email_key.exists() and event.users_trustees.filter(email=email_key[0].user.email).exists()): + if (TrusteeKey.objects.filter(event=event, user=email_key[0].user).exists()): + messages.add_message(request, messages.WARNING, 'You have already submitted your key for this event') + return HttpResponseRedirect(reverse("user_home")) + if (request.method == "POST"): + form = EventSetupForm(request.POST) + if (form.is_valid()): + public_key = request.POST["public_key"] + key = TrusteeKey.objects.get_or_create(event=event, user=email_key[0].user)[0] + key.key = public_key + key.save() + if (event.trustee_keys.count() == event.users_trustees.count()): # ready for combpk + generate_combpk.delay(event) + messages.add_message(request, messages.SUCCESS, 'You have successfully submitted your public key for this event') + return HttpResponseRedirect(reverse("user_home")) + else: + form = EventSetupForm() + return render(request, "polls/event_setup.html", {"event": event, "form": form }) + + #if no key or is invalid? + messages.add_message(request, messages.WARNING, 'You do not have permission to access: ' + request.path) + return HttpResponseRedirect(reverse("user_home")) + +def event_addec(request, event_id): + event = get_object_or_404(Event, pk=event_id) + for poll in event.polls.all(): + generate_enc.delay(poll) + return HttpResponse("Generating enc.") + +def event_trustee_decrypt(request, event_id): + event = get_object_or_404(Event, pk=event_id) + access_key = request.GET.get('key', None) + if (access_key): + email_key = event.keys.filter(key=access_key) + if (email_key.exists() and event.users_trustees.filter(email=email_key[0].user.email).exists()): + if (Decryption.objects.filter(event=event, user=email_key[0].user).exists()): + messages.add_message(request, messages.WARNING, 'You have already provided your decryptions for this event') + #if (event.decryptions.count() == (event.polls.count() * event.users_trustees.count())): + # tally_results.delay(event) # all keys are in + return HttpResponseRedirect(reverse("user_home")) + elif (request.method == "GET"): + initial = [] + for poll in event.polls.all(): + initial.append({'text': poll.enc }) + formset = DecryptionFormset(initial=initial) + else: + formset = DecryptionFormset(request.POST) + data = [] + for form in formset: + if form.is_valid(): + data.append(form.cleaned_data.get('text')) + if (len(data) == event.polls.count()): + for dec, poll in zip(data, event.polls.all()): + Decryption.objects.get_or_create(user=email_key[0].user, event=event, poll=poll, text=dec) + messages.add_message(request, messages.SUCCESS, 'Decryption complete.') + if (event.decryptions.count() == (event.polls.count() * event.users_trustees.count())): + tally_results.delay(event) # all keys are in + else: + messages.add_message(request, messages.ERROR, 'You didn\'t provide decryptions for every poll. Please try again.') + return HttpResponseRedirect(reverse("user_home")) + return render(request, "polls/event_decrypt.html", {"event": event, "formset": formset, "helper": DecryptionFormSetHelper() }) + + messages.add_message(request, messages.WARNING, 'You do not have permission to decrypt this Event.') + return HttpResponseRedirect(reverse("user_home")) + +def test_poll_vote(request, poll_id): + poll = get_object_or_404(Poll, pk=poll_id) + form = VoteForm(instance=poll) + return render(request, "polls/vote_poll.html", {"vote_form": form, "poll": poll}) + +def manage_questions(request, event_id): + + event = get_object_or_404(Event, pk=event_id) + + if (request.user.is_anonymous()) or (not event.users_organisers.filter(email=request.user.email).exists()): + messages.add_message(request, messages.WARNING, 'You do not have permission to access: ' + request.path) + return HttpResponseRedirect(reverse("user_home")) + + poll = Poll() + formset = OptionFormset(instance=poll, prefix="formset_organiser") + + if request.method == "POST": + form = PollForm(request.POST, prefix="main") + formset = OptionFormset(request.POST, prefix="formset_organiser") # incase form fails, we still want to retain formset data + if form.is_valid(): + poll = form.save(commit=False) + poll.event_id = event_id + poll.save() + formset = OptionFormset(request.POST, prefix="formset_organiser", instance=poll) + if formset.is_valid(): + for form in formset: + formset.save() + create_ballots.delay(poll) + messages.add_message(request, messages.SUCCESS, 'Poll created successfully') + return HttpResponseRedirect(reverse('polls:view-poll', kwargs={'event_id': poll.event_id, 'poll_num': event.polls.count() })) + return render(request, "polls/create_poll.html", {"event": event, "question_form": form, "option_formset": formset}) + + elif request.method == "GET": + form = PollForm(prefix="main") #, instance=poll + return render(request, "polls/create_poll.html", {"event": event, "question_form": form, "option_formset": formset}) + else: + return HttpResponseNotAllowed() + +def create_event(request): + #return HttpResponse(param(str(len("lol_age")))) + event = Event() + if request.method == "POST": + '''if request.FILES: # if there is a file we should ignore voters...? + csvfile = StringIO(request.FILES['votersTextFile'].read().decode('utf-8')) + print("got file from request:") + + form = EventForm(request.POST) + organiser_formset = OrganiserFormSet(request.POST, prefix="formset_organiser") # incase form fails, we still want to retain formset data + trustee_formset = TrusteeFormSet(request.POST, prefix="formset_trustee") + if form.is_valid(): + event = form.save() + generate_event_param.delay(event) + if request.FILES: + print("creating voters") + create_voters.delay(csvfile, event) # this will be done on event launch ultimately + + + + if organiser_formset.is_valid(): + #event.users_organisers.clear() + for oform in organiser_formset: + if (oform.cleaned_data.get('email')): + event.users_organisers.add(DemoUser.objects.get(email=oform.cleaned_data['email'])) + event.users_organisers.add(request.user) # always add editor/creator + if trustee_formset.is_valid(): + #event.users_trustees.clear() + for tform in trustee_formset: + if (tform.cleaned_data.get('email')): + event.users_trustees.add(EmailUser.objects.get_or_create(email=tform.cleaned_data['email'])[0]) + return HttpResponseRedirect('/event/' + str(event.id) + '/create/poll') # change to reverse format + + + return render(request, "polls/create_event.html", {"event": event, "form": form, "organiser_formset": organiser_formset, "trustee_formset": trustee_formset})''' + + adaptor = CreateNewEventModelAdaptor(request.POST, request.user) + adaptor.updateModel() + + # TODO: Based on whether validation was successful within update model and whether + # TODO: data was actually persisted, either perform a redirect (success) or flag an error + + return HttpResponseRedirect("/event") + elif request.method == "GET": + #form = EventForm() + #organiser_formset = OrganiserFormSet(prefix="formset_organiser", initial=[{'email': request.user.email }]) + #trustee_formset = TrusteeFormSet(prefix="formset_trustee", initial=[{'email': request.user.email }]) + # Create the formset, specifying the form and formset we want to use. + '''return render(request, + "polls/create_event.html", + { + "event": event, + "form": form, + "organiser_formset": organiser_formset, + "trustee_formset": trustee_formset, + "G_R_SITE_KEY": settings.RECAPTCHA_PUBLIC_KEY + })''' + + return render(request, "polls/create_event.html", {"G_R_SITE_KEY": settings.RECAPTCHA_PUBLIC_KEY, "user_email": request.user.email}) + else: + return HttpResponseNotAllowed() + +def edit_event(request, event_id): + event = get_object_or_404(Event, pk=event_id) + if request.method == "GET": + form = EventEditForm(instance=event, prefix="main") + ''' + organiser_initial_data = [{'email': request.user.email}] + trustee_initial_data = [] + for user in event.users_organisers.exclude(email=request.user.email): + organiser_initial_data.append({'email': user.email}) + organiser_formset = OrganiserFormSet(prefix="formset_organiser", initial=organiser_initial_data) + for trustee in event.users_trustees.all(): + trustee_initial_data.append({'email': trustee.email}) + trustee_formset = TrusteeFormSet(prefix="formset_trustee", initial=trustee_initial_data) + ''' + elif request.method == "POST": + form = EventEditForm(request.POST, instance=event, prefix="main") + #trustee_formset = TrusteeFormSet(request.POST, prefix="formset_trustee") + #organiser_formset = OrganiserFormSet(request.POST, prefix="formset_organiser") # incase form fails, we still want to retain formset data + if form.is_valid(): + form.save() + ''' + if organiser_formset.is_valid(): + event.users_organisers.clear() + for oform in organiser_formset: + if (oform.cleaned_data.get('email')): + event.users_organisers.add(DemoUser.objects.get(email=oform.cleaned_data['email'])) + event.users_organisers.add(request.user) # always add editor/creator + if trustee_formset.is_valid(): + event.users_trustees.clear() + for tform in trustee_formset: + if (tform.cleaned_data.get('email')): + event.users_trustees.add(EmailUser.objects.get_or_create(email=tform.cleaned_data['email'])[0]) + ''' + return HttpResponseRedirect(reverse('polls:view-event', kwargs={'pk': event.id})) + return render(request, "polls/generic_form.html", {"form_title": "Edit Event: " + event.title, "form": form}) #"organiser_formset": organiser_formset, "trustee_formset": trustee_formset}) + #trustee_formset = TrusteeFormSet(request.POST, prefix="formset_trustee", instance=event) + +#class CreatePoll(generic.View): + +def can_vote(user, event): + if event.voters.filter(email=user.email).exists(): + return True + return False \ No newline at end of file diff --git a/allauthdemo/settings.py b/allauthdemo/settings.py new file mode 100755 index 0000000..73eadf7 --- /dev/null +++ b/allauthdemo/settings.py @@ -0,0 +1,204 @@ +""" +Django settings for allauthdemo project. + +For more information on this file, see +https://docs.djangoproject.com/en/1.6/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/1.6/ref/settings/ +""" + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +import os +BASE_DIR = os.path.dirname(os.path.dirname(__file__)) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '!h8#n5wopc#7zq!_)i=l#t=q)7g0g-+&0!=kxv+*&2b7*xb8bm' # TODO: THIS NEEDS CHANGING!!! + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +TEMPLATE_DEBUG = True + +ALLOWED_HOSTS = ['web.server.com'] + + +# Application definition + +INSTALLED_APPS = ( + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.sites', + 'django.contrib.messages', + 'django.contrib.staticfiles', + + 'bootstrap3', # optional module for making bootstrap forms easier + 'crispy_forms', + + 'allauth', + 'allauth.account', + 'allauth.socialaccount', + + + #'allauth.socialaccount.providers.facebook', + #'allauth.socialaccount.providers.google', + #'allauth.socialaccount.providers.twitter', + + # Core apps + 'allauthdemo.auth', + 'allauthdemo.polls', + + # Celery and captcha + 'kombu.transport.django', + 'djcelery', + 'captcha' + +) + +MIDDLEWARE_CLASSES = ( + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +) + +ROOT_URLCONF = 'allauthdemo.urls' + +WSGI_APPLICATION = 'allauthdemo.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/1.6/ref/settings/#databases +''' +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} +''' +DATABASES = { + 'default':{ + 'ENGINE': 'django.db.backends.mysql', + 'NAME':'DEMOS2', + 'USER': 'username', + 'PASSWORD' : 'password', + 'HOST': 'localhost', + 'PORT':'3306', + } +} + +SILENCED_SYSTEM_CHECKS = ['mysql.E001'] + +# Internationalization +# https://docs.djangoproject.com/en/1.6/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/1.6/howto/static-files/ + +STATIC_URL = '/static/' + +# Authentication + +AUTHENTICATION_BACKENDS = ( + "allauth.account.auth_backends.AuthenticationBackend", +) + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [ + # allauth templates: you could copy this directory into your + # project and tweak it according to your needs + # os.path.join(PROJECT_ROOT, 'templates', 'uniform', 'allauth'), + # example project specific templates + os.path.join(BASE_DIR, 'allauthdemo', 'templates', 'plain', 'example'), + #os.path.join(BASE_DIR, 'allauthdemo', 'templates', 'bootstrap', 'allauth'), + os.path.join(BASE_DIR, 'allauthdemo', 'templates', 'allauth'), + os.path.join(BASE_DIR, 'allauthdemo', 'templates'), + ], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + # needed for admin templates + 'django.contrib.auth.context_processors.auth', + # these *may* not be needed + 'django.template.context_processors.debug', + 'django.template.context_processors.i18n', + 'django.template.context_processors.media', + 'django.template.context_processors.static', + 'django.contrib.messages.context_processors.messages', + # allauth needs this from django + 'django.template.context_processors.request', + # allauth specific context processors + #'allauth.account.context_processors.account', + #'allauth.socialaccount.context_processors.socialaccount', + ], + }, + } +] + +MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage' + +#EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' +#EMAIL_PORT = 1025 + +EMAIL_HOST = 'smtp.gmail.com' +EMAIL_HOST_USER = 'username@gmail.com' +EMAIL_HOST_PASSWORD = 'password' +EMAIL_PORT = 587 +EMAIL_USE_TLS = True + +STATICFILES_DIRS = ( + os.path.join(BASE_DIR, "static"), +) + +SITE_ID = 1 +AUTH_USER_MODEL = 'allauthdemo_auth.DemoUser' +LOGIN_REDIRECT_URL = '/member/' +ACCOUNT_AUTHENTICATION_METHOD = 'email' +ACCOUNT_USERNAME_REQUIRED = False +ACCOUNT_EMAIL_REQUIRED = True +ACCOUNT_USERNAME_MIN_LENGTH = 3 +# ACCOUNT_EMAIL_VERIFICATION = 'none' # testing... +ACCOUNT_USER_MODEL_USERNAME_FIELD = None +SOCIALACCOUNT_AUTO_SIGNUP = False # require social accounts to use the signup form ... I think +ACCOUNT_SIGNUP_FORM_CLASS = 'allauthdemo.auth.forms.RegistrationForm' + +# For custom sign-up form: +# http://stackoverflow.com/questions/12303478/how-to-customize-user-profile-when-using-django-allauth + +# Google reCAPTCHA + +RECAPTCHA_PUBLIC_KEY = '6Ld1Z10UAAAAAG1ExO-I-AivOvQqakHIkYwu5adT' +RECAPTCHA_PRIVATE_KEY = '6Ld1Z10UAAAAAG3-XrkE3Ds0FnKIOa3LloA6wI14' +NOCAPTCHA = True # v2 (no puzzle, just click) + +# crispy_forms + +CRISPY_FAIL_SILENTLY = not DEBUG +CRISPY_TEMPLATE_PACK = 'bootstrap3' + + + +CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend' +BROKER_URL = 'django://' diff --git a/allauthdemo/settings.template.py b/allauthdemo/settings.template.py new file mode 100755 index 0000000..e18fb2a --- /dev/null +++ b/allauthdemo/settings.template.py @@ -0,0 +1,166 @@ +""" +Django settings for allauthdemo project. + +For more information on this file, see +https://docs.djangoproject.com/en/1.6/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/1.6/ref/settings/ +""" + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +import os +BASE_DIR = os.path.dirname(os.path.dirname(__file__)) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '!h8#n5wopc#7zq!_)i=l#t=q)7g0g-+&0!=kxv+*&2b7*xb8bm' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +TEMPLATE_DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = ( + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.sites', + 'django.contrib.messages', + 'django.contrib.staticfiles', + + 'bootstrap3', # optional module for making bootstrap forms easier + + 'allauth', + 'allauth.account', + 'allauth.socialaccount', +{% if facebook or google %} +{% if facebook %} + 'allauth.socialaccount.providers.facebook', # enabled by configure +{% endif %} +{% if google %} + 'allauth.socialaccount.providers.google', # enabled by configure +{% endif %} + #'allauth.socialaccount.providers.dropbox', + #'allauth.socialaccount.providers.github', + #'allauth.socialaccount.providers.linkedin', + # etc +{% endif %} + + 'allauthdemo.auth', + 'allauthdemo.demo', +) + +MIDDLEWARE_CLASSES = ( + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +) + +ROOT_URLCONF = 'allauthdemo.urls' + +WSGI_APPLICATION = 'allauthdemo.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/1.6/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + +# Internationalization +# https://docs.djangoproject.com/en/1.6/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/1.6/howto/static-files/ + +STATIC_URL = '/static/' + +# Authentication + +AUTHENTICATION_BACKENDS = ( + "allauth.account.auth_backends.AuthenticationBackend", +) + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [ + # allauth templates: you could copy this directory into your + # project and tweak it according to your needs + # os.path.join(PROJECT_ROOT, 'templates', 'uniform', 'allauth'), + # example project specific templates + os.path.join(BASE_DIR, 'allauthdemo', 'templates', 'plain', 'example'), + #os.path.join(BASE_DIR, 'allauthdemo', 'templates', 'bootstrap', 'allauth'), + os.path.join(BASE_DIR, 'allauthdemo', 'templates', 'allauth'), + os.path.join(BASE_DIR, 'allauthdemo', 'templates'), + ], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + # needed for admin templates + 'django.contrib.auth.context_processors.auth', + # these *may* not be needed + 'django.template.context_processors.debug', + 'django.template.context_processors.i18n', + 'django.template.context_processors.media', + 'django.template.context_processors.static', + 'django.contrib.messages.context_processors.messages', + # allauth needs this from django + 'django.template.context_processors.request', + # allauth specific context processors + #'allauth.account.context_processors.account', + #'allauth.socialaccount.context_processors.socialaccount', + ], + }, + } +] + +MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage' + +EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' + +STATICFILES_DIRS = ( + os.path.join(BASE_DIR, "static"), +) + +SITE_ID = 1 +AUTH_USER_MODEL = 'allauthdemo_auth.DemoUser' +LOGIN_REDIRECT_URL = '/member/' +ACCOUNT_AUTHENTICATION_METHOD = 'email' +ACCOUNT_USERNAME_REQUIRED = False +ACCOUNT_EMAIL_REQUIRED = True +ACCOUNT_USERNAME_MIN_LENGTH = 3 +# ACCOUNT_EMAIL_VERIFICATION = 'none' # testing... +ACCOUNT_USER_MODEL_USERNAME_FIELD = None +SOCIALACCOUNT_AUTO_SIGNUP = False # require social accounts to use the signup form ... I think +# For custom sign-up form: +# http://stackoverflow.com/questions/12303478/how-to-customize-user-profile-when-using-django-allauth + diff --git a/allauthdemo/setup.py b/allauthdemo/setup.py new file mode 100755 index 0000000..d288103 --- /dev/null +++ b/allauthdemo/setup.py @@ -0,0 +1,15 @@ +from distutils.core import setup, Extension + +demos_encrypt = Extension('demos_encrypt', + sources = ['/Users/carey/Downloads/EC-ElGamal/BNsupport.cpp', '/Users/carey/Downloads/EC-ElGamal/bn_pair.cpp', '/Users/carey/Downloads/EC-ElGamal/zzn12a.cpp', + '/Users/carey/Downloads/EC-ElGamal/ecn2.cpp', '/Users/carey/Downloads/EC-ElGamal/zzn4.cpp', '/Users/carey/Downloads/EC-ElGamal/zzn2.cpp', + '/Users/carey/Downloads/EC-ElGamal/big.cpp', '/Users/carey/Downloads/EC-ElGamal/zzn.cpp', '/Users/carey/Downloads/EC-ElGamal/ecn.cpp'], + include_dirs = ['/Users/carey/Downloads/EC-ElGamal'], + library_dirs = ['/Users/carey/Downloads/EC-ElGamal'], + extra_link_args=[''], + libraries=['miracl']) + +setup (name = 'demos_encrypt', + version = '1.0', + description = 'This is the demos2 package', + ext_modules = [demos_encrypt]) diff --git a/allauthdemo/templates/allauth/README.txt b/allauthdemo/templates/allauth/README.txt new file mode 100755 index 0000000..76feb20 --- /dev/null +++ b/allauthdemo/templates/allauth/README.txt @@ -0,0 +1,3 @@ +This are the files from the django-allauth example +pretty much as-is, except for some visual tweaks +and use of a different bootstrap form renderer. diff --git a/allauthdemo/templates/allauth/account/base.html b/allauthdemo/templates/allauth/account/base.html new file mode 100755 index 0000000..65e6e0f --- /dev/null +++ b/allauthdemo/templates/allauth/account/base.html @@ -0,0 +1,45 @@ +{% extends "bases/bootstrap-member.html" %} + +{% load i18n %} + +{% load bootstrap3 %} + +{% block content %} + +
+ {% bootstrap_messages %} + +

{% trans 'My Account' %}

+ + +{% block account_content %} +{% endblock %} + +
+ +{% endblock %} +{# +{% block appjs %} + + {% block appjs_jquery %} + {% endblock %} +{% endblock %} +#} diff --git a/allauthdemo/templates/allauth/account/base2.html b/allauthdemo/templates/allauth/account/base2.html new file mode 100755 index 0000000..4e365dd --- /dev/null +++ b/allauthdemo/templates/allauth/account/base2.html @@ -0,0 +1,38 @@ +{% extends "bases/bootstrap-member.html" %} + +{% load i18n %} + +{% block content %} + +
+

{% trans 'My Account' %}

+ + +{% block account_content %} +{% endblock %} + +
+ +{% endblock %} +{# +{% block appjs %} + + {% block appjs_jquery %} + {% endblock %} +{% endblock %} +#} diff --git a/allauthdemo/templates/allauth/account/email.html b/allauthdemo/templates/allauth/account/email.html new file mode 100755 index 0000000..2fb13f8 --- /dev/null +++ b/allauthdemo/templates/allauth/account/email.html @@ -0,0 +1,90 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% load bootstrap3 %} + +{% block head_title %}{% trans "Account" %}{% endblock %} + +{% block account_nav_email %}active{% endblock %} + +{% block account_content %} + +{% if user.emailaddress_set.all %} +

{% trans 'The following e-mail addresses are associated to your account:' %}

+ + + +{% else %} +

{% trans 'Warning:'%} {% trans "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." %}

+ +{% endif %} + + +

{% trans "Add E-mail Address" %}

+ +
+ {% csrf_token %} + {% bootstrap_form add_email_form %} +
+ +
+
+ +{% endblock %} + + +{% block appjs_jquery %} + +{% endblock %} diff --git a/allauthdemo/templates/allauth/account/email_confirm.html b/allauthdemo/templates/allauth/account/email_confirm.html new file mode 100755 index 0000000..9e38fe6 --- /dev/null +++ b/allauthdemo/templates/allauth/account/email_confirm.html @@ -0,0 +1,31 @@ +{% extends "bases/bootstrap-auth.html" %} + +{% load i18n %} +{% load account socialaccount %} + +{% block head_title %}{% trans "Confirm E-mail Address" %}{% endblock %} + + +{% block inner-content %} +

{% trans "Confirm E-mail Address" %}

+ +{% if confirmation %} + +{% user_display confirmation.email_address.user as user_display %} + +

{% blocktrans with confirmation.email_address.email as email %}Please confirm that {{ email }} is an e-mail address for user {{ user_display }}.{% endblocktrans %}

+ +
+{% csrf_token %} + +
+ +{% else %} + +{% url 'account_email' as email_url %} + +

{% blocktrans %}This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request.{% endblocktrans %}

+ +{% endif %} + +{% endblock %} diff --git a/allauthdemo/templates/allauth/account/login.html b/allauthdemo/templates/allauth/account/login.html new file mode 100755 index 0000000..8960086 --- /dev/null +++ b/allauthdemo/templates/allauth/account/login.html @@ -0,0 +1,41 @@ +{% extends "bases/bootstrap-auth.html" %} + +{% load i18n %} +{% load bootstrap3 %} +{% load account socialaccount %} + +{% block head_title %}{% trans "Sign In" %}{% endblock %} + + +{% block inner-content %} +{% get_providers as socialaccount_providers %} + +

Log In

+
+ +
+ + {% if socialaccount_providers %} +
+ {% include "allauth/account/provider_panel.html" with process="login" %} +
+ {% endif %} + +
+ +
+
+ +{% endblock %} + diff --git a/allauthdemo/templates/allauth/account/logout.html b/allauthdemo/templates/allauth/account/logout.html new file mode 100755 index 0000000..677724b --- /dev/null +++ b/allauthdemo/templates/allauth/account/logout.html @@ -0,0 +1,21 @@ +{% extends "bases/bootstrap-auth.html" %} + +{% load i18n %} + +{% block head_title %}{% trans "Sign Out" %}{% endblock %} + +{% block inner-content %} +

{% trans "Sign Out" %}

+ +

{% trans 'Are you sure you want to sign out?' %}

+ +
+ {% csrf_token %} + {% if redirect_field_value %} + + {% endif %} + +
+ + +{% endblock %} diff --git a/allauthdemo/templates/allauth/account/my_events_tab.html b/allauthdemo/templates/allauth/account/my_events_tab.html new file mode 100755 index 0000000..5831728 --- /dev/null +++ b/allauthdemo/templates/allauth/account/my_events_tab.html @@ -0,0 +1,90 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% load bootstrap3 %} + +{% block head_title %}{% trans "Account" %}{% endblock %} + +{% block account_tab_events %}active{% endblock %} + +{% block account_content %} + +{% if user.emailaddress_set.all %} +

{% trans 'The following e-mail addresses are associated to your account:' %}

+ + + +{% else %} +

{% trans 'Warning:'%} {% trans "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." %}

+ +{% endif %} + + +

{% trans "Add E-mail Address" %}

+ +
+ {% csrf_token %} + {% bootstrap_form add_email_form %} +
+ +
+
+ +{% endblock %} + + +{% block appjs_jquery %} + +{% endblock %} diff --git a/allauthdemo/templates/allauth/account/password_change.html b/allauthdemo/templates/allauth/account/password_change.html new file mode 100755 index 0000000..feb50de --- /dev/null +++ b/allauthdemo/templates/allauth/account/password_change.html @@ -0,0 +1,17 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% load bootstrap3 %} + +{% block head_title %}{% trans "Change Password" %}{% endblock %} +{% block account_nav_change_password %}active{% endblock %} + +{% block account_content %} +
+ {% csrf_token %} + {% bootstrap_form password_change_form %} +
+ +
+
+{% endblock %} diff --git a/allauthdemo/templates/allauth/account/password_reset.html b/allauthdemo/templates/allauth/account/password_reset.html new file mode 100755 index 0000000..e58cbc2 --- /dev/null +++ b/allauthdemo/templates/allauth/account/password_reset.html @@ -0,0 +1,33 @@ +{% extends "bases/bootstrap-auth.html" %} + +{% load i18n %} +{% load bootstrap3 %} +{% load account socialaccount %} + +{% block head_title %}{% trans "Password Reset" %}{% endblock %} + +{% block inner-content %} + +

{% trans "Password Reset" %}

+ {% if user.is_authenticated %} + {% include "account/snippets/already_logged_in.html" %} + {% endif %} + +

{% trans "Forgotten your password? Enter your e-mail address below, and we'll send you an e-mail allowing you to reset it." %}

+ +
+ {% csrf_token %} + {% bootstrap_form password_reset_form %} +
+ +
+
+ +

{% blocktrans %}Please contact us if you have any trouble resetting your password.{% endblocktrans %}

+{% endblock %} + +{% block appjs_jquery %} + +{% endblock %} diff --git a/allauthdemo/templates/allauth/account/password_reset_from_key.html b/allauthdemo/templates/allauth/account/password_reset_from_key.html new file mode 100755 index 0000000..6b18ef1 --- /dev/null +++ b/allauthdemo/templates/allauth/account/password_reset_from_key.html @@ -0,0 +1,29 @@ +{% extends "bases/bootstrap-auth.html" %} + +{% load i18n %} +{% load bootstrap3 %} + +{% block head_title %}{% trans "Change Password" %}{% endblock %} + +{% block inner-content %} +

{% if token_fail %}{% trans "Bad Token" %}{% else %}{% trans "Change Password" %}{% endif %}

+ +{% if token_fail %} +{% url 'account_reset_password' as passwd_reset_url %} +

{% blocktrans %}The password reset link was invalid, possibly because it has already been used. Please request a new password reset.{% endblocktrans %}

+ +{% else %} +{% if form %} +
+ {% csrf_token %} + {% bootstrap_form form %} +
+ +
+
+{% else %} +

{% trans 'Your password is now changed.' %}

+{% endif %} +{% endif %} + +{% endblock %} diff --git a/allauthdemo/templates/allauth/account/password_set.html b/allauthdemo/templates/allauth/account/password_set.html new file mode 100755 index 0000000..c03dea8 --- /dev/null +++ b/allauthdemo/templates/allauth/account/password_set.html @@ -0,0 +1,17 @@ +{% extends "account/base.html" %} + +{% load i18n %} +{% load bootstrap3 %} + +{% block head_title %}{% trans "Set Password" %}{% endblock %} +{% block account_nav_change_password %}active{% endblock %} + +{% block account_content %} +
+ {% csrf_token %} + {% bootstrap_form password_set_form %} +
+ +
+
+{% endblock %} diff --git a/allauthdemo/templates/allauth/account/provider_panel.html b/allauthdemo/templates/allauth/account/provider_panel.html new file mode 100755 index 0000000..b95f6e3 --- /dev/null +++ b/allauthdemo/templates/allauth/account/provider_panel.html @@ -0,0 +1,22 @@ +{% load i18n %} +{% load bootstrap3 %} +{% load account socialaccount %} + +{% get_providers as socialaccount_providers %} +{% if socialaccount_providers %} + + +
+
    + {% include "socialaccount/snippets/provider_list.html" with process="login" %} +
+ +
+ + {% include "socialaccount/snippets/login_extra.html" %} +{% endif %} diff --git a/allauthdemo/templates/allauth/account/signup.html b/allauthdemo/templates/allauth/account/signup.html new file mode 100755 index 0000000..dfa5506 --- /dev/null +++ b/allauthdemo/templates/allauth/account/signup.html @@ -0,0 +1,38 @@ +{% extends "bases/bootstrap-auth.html" %} + +{% load i18n %} +{% load bootstrap3 %} +{% load account socialaccount %} + +{% block head_title %}{% trans "Signup" %}BS{% endblock %} + +{% block inner-content %} +{% get_providers as socialaccount_providers %} + +

{% trans "Sign Up" %}

+ +
+ {% if socialaccount_providers %} +
+ {% include "allauth/account/provider_panel.html" with process="login" %} +
+ {% endif %} + +
+ +

{% blocktrans %}Already have an account? Then please sign in.{% endblocktrans %}

+ +
+ {% csrf_token %} + {% bootstrap_form form %} + {% if redirect_field_value %} + + {% endif %} +
+ +
+
+
+
+{% endblock %} + diff --git a/allauthdemo/templates/allauth/socialaccount/connections.html b/allauthdemo/templates/allauth/socialaccount/connections.html new file mode 100755 index 0000000..0084575 --- /dev/null +++ b/allauthdemo/templates/allauth/socialaccount/connections.html @@ -0,0 +1,81 @@ +{% extends "socialaccount/base.html" %} + +{% load i18n %} + +{% block head_title %}{% trans "Connected Accounts" %}{% endblock %} +{% block account_nav_socialaccount_connections %}active{% endblock %} + +{% block account_content %} + +{% if form.accounts %} +

{% blocktrans %}You can sign in to your account using any of the following third party accounts:{% endblocktrans %}

+ + +
+{% csrf_token %} + +{% if form.non_field_errors %} +
+ × + {% for non_field_error in form.non_field_errors %} + {{ non_field_error }} + {% endfor %} +
+{% endif %} + + + + + + + + + + +{% for base_account in form.accounts %} +{% with base_account.get_provider_account as account %} + + + + +{% endwith %} +{% endfor %} + +
+ {% trans 'Provider' %} + + {% trans 'Account' %} +
+ + + {{account}} +
+ +
+ +
+ + + +
+ +{% else %} +
+{% trans 'None!' %} {% trans 'You currently have no social network accounts connected to this account.' %} +
+{% endif %} + +

{% trans 'Add a 3rd Party Account' %}

+ +
    +{% include "socialaccount/snippets/provider_list.html" with process="connect" %} +
+ +{% include "socialaccount/snippets/login_extra.html" %} + +{% endblock %} + + diff --git a/allauthdemo/templates/allauth/socialaccount/signup.html b/allauthdemo/templates/allauth/socialaccount/signup.html new file mode 100755 index 0000000..4a9242c --- /dev/null +++ b/allauthdemo/templates/allauth/socialaccount/signup.html @@ -0,0 +1,29 @@ +{% extends "bases/bootstrap-auth.html" %} + +{% load i18n %} +{% load bootstrap3 %} + +{% block head_title %}{% trans "Signup" %}{% endblock %} + +{% block inner-content %} + +

{% trans "Sign Up" %}

+ +

{% blocktrans with provider_name=account.get_provider.name site_name=site.name %}You are about to use your {{provider_name}} account to login to +{{site_name}}. As a final step, please complete the following form:{% endblocktrans %}

+ + + + +{% endblock %} + + diff --git a/allauthdemo/templates/auth/profile.html b/allauthdemo/templates/auth/profile.html new file mode 100755 index 0000000..e0c0822 --- /dev/null +++ b/allauthdemo/templates/auth/profile.html @@ -0,0 +1,44 @@ +{% extends "bases/bootstrap-member.html" %} + +{% load bootstrap3 %} + + +{% block content %} +
+

Profile

+ {# Hmm. Not thrilled about this. #} + {# Could use django-bootstrap3 which removes some of this ugliness. #} + {# Or some AJAX-based way to retrieve messages. #} + {# I don't like the use of cookies for this. #} + + {% bootstrap_messages %} + +
+
+ +
+ {% csrf_token %} + {% bootstrap_form form %} + {% buttons %} + + {% endbuttons %} + + +
+
+ +
+ TODO: DOB, picture +
+
+
+ +{% endblock %} diff --git a/allauthdemo/templates/bases/bootstrap-auth.html b/allauthdemo/templates/bases/bootstrap-auth.html new file mode 100755 index 0000000..5dd8a0f --- /dev/null +++ b/allauthdemo/templates/bases/bootstrap-auth.html @@ -0,0 +1,12 @@ +{% extends "bases/bootstrap-minimal.html" %} + +{% block content %} +
+
+
+ {% block inner-content %} + {% endblock %} +
+
+
+{% endblock %} diff --git a/allauthdemo/templates/bases/bootstrap-jquery.html b/allauthdemo/templates/bases/bootstrap-jquery.html new file mode 100755 index 0000000..14fedfc --- /dev/null +++ b/allauthdemo/templates/bases/bootstrap-jquery.html @@ -0,0 +1,267 @@ +{% extends "bases/bootstrap.html" %} +{% load staticfiles %} + +{% block tail_js %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{% block app_js %} + + + +{% endblock %} + +{% endblock %} diff --git a/allauthdemo/templates/bases/bootstrap-member.html b/allauthdemo/templates/bases/bootstrap-member.html new file mode 100755 index 0000000..77d0785 --- /dev/null +++ b/allauthdemo/templates/bases/bootstrap-member.html @@ -0,0 +1,42 @@ +{% extends "bases/bootstrap-jquery.html" %} +{% load staticfiles %} +{% block nav %} + + + +{% endblock %} diff --git a/allauthdemo/templates/bases/bootstrap-minimal.html b/allauthdemo/templates/bases/bootstrap-minimal.html new file mode 100755 index 0000000..ac40adc --- /dev/null +++ b/allauthdemo/templates/bases/bootstrap-minimal.html @@ -0,0 +1,25 @@ +{% extends "bases/bootstrap-jquery.html" %} +{% load staticfiles %} + +{% block nav %} + +{% endblock %} diff --git a/allauthdemo/templates/bases/bootstrap-visitor.html b/allauthdemo/templates/bases/bootstrap-visitor.html new file mode 100755 index 0000000..165d578 --- /dev/null +++ b/allauthdemo/templates/bases/bootstrap-visitor.html @@ -0,0 +1,29 @@ +{% extends "bases/bootstrap-jquery.html" %} +{% load staticfiles %} + +{% block nav %} + + + +{% endblock %} diff --git a/allauthdemo/templates/bases/bootstrap-with-nav.html b/allauthdemo/templates/bases/bootstrap-with-nav.html new file mode 100755 index 0000000..039a52e --- /dev/null +++ b/allauthdemo/templates/bases/bootstrap-with-nav.html @@ -0,0 +1,48 @@ +{% extends "bases/bootstrap-jquery.html" %} +{% load staticfiles %} + +{% block nav %} + + + +{% endblock %} diff --git a/allauthdemo/templates/bases/bootstrap.html b/allauthdemo/templates/bases/bootstrap.html new file mode 100755 index 0000000..aea4224 --- /dev/null +++ b/allauthdemo/templates/bases/bootstrap.html @@ -0,0 +1,52 @@ +{% load staticfiles %} + + + + + + + + + {% block title %}dẽmos 2{% endblock %} + + + + + + + + + + + {% block head_css %} + + {% endblock %} + + + + +{% block nav %}{% endblock %} + +{% block content %}{% endblock %} + +{% block footer %} +
+
+ +
+{% endblock %} + +{% block tail_js %} +{% endblock %} + + + diff --git a/allauthdemo/templates/bootstrap3/accordion-group.html b/allauthdemo/templates/bootstrap3/accordion-group.html new file mode 100755 index 0000000..5d39b8e --- /dev/null +++ b/allauthdemo/templates/bootstrap3/accordion-group.html @@ -0,0 +1,12 @@ +
+
+

+ {{ div.name }} +

+
+
+
+ {{ fields|safe }} +
+
+
diff --git a/allauthdemo/templates/bootstrap3/accordion.html b/allauthdemo/templates/bootstrap3/accordion.html new file mode 100755 index 0000000..295bf41 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/accordion.html @@ -0,0 +1,3 @@ +
+ {{ content|safe }} +
diff --git a/allauthdemo/templates/bootstrap3/betterform.html b/allauthdemo/templates/bootstrap3/betterform.html new file mode 100755 index 0000000..657b5e9 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/betterform.html @@ -0,0 +1,22 @@ +{% for fieldset in form.fieldsets %} +
+ {% if fieldset.legend %} + {{ fieldset.legend }} + {% endif %} + + {% if fieldset.description %} +

{{ fieldset.description }}

+ {% endif %} + + {% for field in fieldset %} + {% if field.is_hidden %} + {{ field }} + {% else %} + {% include "bootstrap3/field.html" %} + {% endif %} + {% endfor %} + {% if not forloop.last or not fieldset_open %} +
+ {% endif %} +{% endfor %} + diff --git a/allauthdemo/templates/bootstrap3/display_form.html b/allauthdemo/templates/bootstrap3/display_form.html new file mode 100755 index 0000000..1bbfaff --- /dev/null +++ b/allauthdemo/templates/bootstrap3/display_form.html @@ -0,0 +1,9 @@ +{% if form.form_html %} + {% if include_media %}{{ form.media }}{% endif %} + {% if form_show_errors %} + {% include "bootstrap3/errors.html" %} + {% endif %} + {{ form.form_html }} +{% else %} + {% include "bootstrap3/uni_form.html" %} +{% endif %} diff --git a/allauthdemo/templates/bootstrap3/errors.html b/allauthdemo/templates/bootstrap3/errors.html new file mode 100755 index 0000000..14fd41b --- /dev/null +++ b/allauthdemo/templates/bootstrap3/errors.html @@ -0,0 +1,8 @@ +{% if form.non_field_errors %} +
+ {% if form_error_title %}

{{ form_error_title }}

{% endif %} +
    + {{ form.non_field_errors|unordered_list }} +
+
+{% endif %} diff --git a/allauthdemo/templates/bootstrap3/errors_formset.html b/allauthdemo/templates/bootstrap3/errors_formset.html new file mode 100755 index 0000000..900a871 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/errors_formset.html @@ -0,0 +1,9 @@ +{% if formset.non_form_errors %} +
+ {% if formset_error_title %}

{{ formset_error_title }}

{% endif %} +
    + {{ formset.non_form_errors|unordered_list }} +
+
+{% endif %} + diff --git a/allauthdemo/templates/bootstrap3/field.html b/allauthdemo/templates/bootstrap3/field.html new file mode 100755 index 0000000..d7f7cfa --- /dev/null +++ b/allauthdemo/templates/bootstrap3/field.html @@ -0,0 +1,48 @@ +{% load crispy_forms_field %} + +{% if field.is_hidden %} + {{ field }} +{% else %} + {% if field|is_checkbox %} +
+ {% if label_class %} +
+ {% endif %} + {% endif %} + <{% if tag %}{{ tag }}{% else %}div{% endif %} id="div_{{ field.auto_id }}" {% if not field|is_checkbox %}class="form-group{% else %}class="checkbox{% endif %}{% if wrapper_class %} {{ wrapper_class }}{% endif %}{% if form_show_errors%}{% if field.errors %} has-error{% endif %}{% endif %}{% if field.css_classes %} {{ field.css_classes }}{% endif %}"> + {% if field.label and not field|is_checkbox and form_show_labels %} + + {% endif %} + + {% if field|is_checkboxselectmultiple %} + {% include 'bootstrap3/layout/checkboxselectmultiple.html' %} + {% endif %} + + {% if field|is_radioselect %} + {% include 'bootstrap3/layout/radioselect.html' %} + {% endif %} + + {% if not field|is_checkboxselectmultiple and not field|is_radioselect %} + {% if field|is_checkbox and form_show_labels %} + + {% else %} +
+ {% crispy_field field %} + {% include 'bootstrap3/layout/help_text_and_errors.html' %} +
+ {% endif %} + {% endif %} + + {% if field|is_checkbox %} + {% if label_class %} +
+ {% endif %} +
+ {% endif %} +{% endif %} diff --git a/allauthdemo/templates/bootstrap3/inputs.html b/allauthdemo/templates/bootstrap3/inputs.html new file mode 100755 index 0000000..48fe839 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/inputs.html @@ -0,0 +1,13 @@ +{% if inputs %} +
+ {% if label_class %} +
+ {% endif %} + +
+ {% for input in inputs %} + {% include "bootstrap3/layout/baseinput.html" %} + {% endfor %} +
+
+{% endif %} diff --git a/allauthdemo/templates/bootstrap3/layout/alert.html b/allauthdemo/templates/bootstrap3/layout/alert.html new file mode 100755 index 0000000..904c111 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/alert.html @@ -0,0 +1,4 @@ + + {% if dismiss %}{% endif %} + {{ content|safe }} + \ No newline at end of file diff --git a/allauthdemo/templates/bootstrap3/layout/baseinput.html b/allauthdemo/templates/bootstrap3/layout/baseinput.html new file mode 100755 index 0000000..aa3f2fe --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/baseinput.html @@ -0,0 +1,9 @@ + diff --git a/allauthdemo/templates/bootstrap3/layout/button.html b/allauthdemo/templates/bootstrap3/layout/button.html new file mode 100755 index 0000000..013492e --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/button.html @@ -0,0 +1 @@ + diff --git a/allauthdemo/templates/bootstrap3/layout/buttonholder.html b/allauthdemo/templates/bootstrap3/layout/buttonholder.html new file mode 100755 index 0000000..23a3945 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/buttonholder.html @@ -0,0 +1,4 @@ +
+ {{ fields_output|safe }} +
diff --git a/allauthdemo/templates/bootstrap3/layout/checkboxselectmultiple.html b/allauthdemo/templates/bootstrap3/layout/checkboxselectmultiple.html new file mode 100755 index 0000000..919ae0f --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/checkboxselectmultiple.html @@ -0,0 +1,17 @@ +{% load crispy_forms_filters %} +{% load l10n %} + +
+ {% include 'bootstrap3/layout/field_errors_block.html' %} + + {% for choice in field.field.choices %} + + {% if not inline_class %}
{% endif %} + + {% if not inline_class %}
{% endif %} + {% endfor %} + + {% include 'bootstrap3/layout/help_text.html' %} +
diff --git a/allauthdemo/templates/bootstrap3/layout/checkboxselectmultiple_inline.html b/allauthdemo/templates/bootstrap3/layout/checkboxselectmultiple_inline.html new file mode 100755 index 0000000..394480d --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/checkboxselectmultiple_inline.html @@ -0,0 +1,14 @@ +{% if field.is_hidden %} + {{ field }} +{% else %} +
+ + {% if field.label %} + + {% endif %} + + {% include 'bootstrap3/layout/checkboxselectmultiple.html' %} +
+{% endif %} diff --git a/allauthdemo/templates/bootstrap3/layout/div.html b/allauthdemo/templates/bootstrap3/layout/div.html new file mode 100755 index 0000000..1e72f16 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/div.html @@ -0,0 +1,4 @@ +
+ {{ fields|safe }} +
diff --git a/allauthdemo/templates/bootstrap3/layout/field_errors.html b/allauthdemo/templates/bootstrap3/layout/field_errors.html new file mode 100755 index 0000000..b49cdc3 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/field_errors.html @@ -0,0 +1,5 @@ +{% if form_show_errors and field.errors %} + {% for error in field.errors %} + {{ error }} + {% endfor %} +{% endif %} diff --git a/allauthdemo/templates/bootstrap3/layout/field_errors_block.html b/allauthdemo/templates/bootstrap3/layout/field_errors_block.html new file mode 100755 index 0000000..fb02dee --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/field_errors_block.html @@ -0,0 +1,5 @@ +{% if form_show_errors and field.errors %} + {% for error in field.errors %} +

{{ error }}

+ {% endfor %} +{% endif %} diff --git a/allauthdemo/templates/bootstrap3/layout/field_with_buttons.html b/allauthdemo/templates/bootstrap3/layout/field_with_buttons.html new file mode 100755 index 0000000..ed31891 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/field_with_buttons.html @@ -0,0 +1,17 @@ +{% load crispy_forms_field %} + + + {% if field.label and form_show_labels %} + + {% endif %} + +
+
+ {% crispy_field field %} + {{ buttons|safe }} +
+ {% include 'bootstrap3/layout/help_text_and_errors.html' %} +
+ diff --git a/allauthdemo/templates/bootstrap3/layout/fieldset.html b/allauthdemo/templates/bootstrap3/layout/fieldset.html new file mode 100755 index 0000000..81ed29b --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/fieldset.html @@ -0,0 +1,6 @@ +
+ {% if legend %}{{ legend|safe }}{% endif %} + {{ fields|safe }} +
diff --git a/allauthdemo/templates/bootstrap3/layout/formactions.html b/allauthdemo/templates/bootstrap3/layout/formactions.html new file mode 100755 index 0000000..770785e --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/formactions.html @@ -0,0 +1,9 @@ + + {% if label_class %} +
+ {% endif %} + +
+ {{ fields_output|safe }} +
+ diff --git a/allauthdemo/templates/bootstrap3/layout/help_text.html b/allauthdemo/templates/bootstrap3/layout/help_text.html new file mode 100755 index 0000000..0e2ed45 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/help_text.html @@ -0,0 +1,7 @@ +{% if field.help_text %} + {% if help_text_inline %} + {{ field.help_text|safe }} + {% else %} +

{{ field.help_text|safe }}

+ {% endif %} +{% endif %} diff --git a/allauthdemo/templates/bootstrap3/layout/help_text_and_errors.html b/allauthdemo/templates/bootstrap3/layout/help_text_and_errors.html new file mode 100755 index 0000000..3b3964a --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/help_text_and_errors.html @@ -0,0 +1,13 @@ +{% if help_text_inline and not error_text_inline %} + {% include 'bootstrap3/layout/help_text.html' %} +{% endif %} + +{% if error_text_inline %} + {% include 'bootstrap3/layout/field_errors.html' %} +{% else %} + {% include 'bootstrap3/layout/field_errors_block.html' %} +{% endif %} + +{% if not help_text_inline %} + {% include 'bootstrap3/layout/help_text.html' %} +{% endif %} diff --git a/allauthdemo/templates/bootstrap3/layout/inline_field.html b/allauthdemo/templates/bootstrap3/layout/inline_field.html new file mode 100755 index 0000000..9677181 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/inline_field.html @@ -0,0 +1,21 @@ +{% load crispy_forms_field %} + +{% if field.is_hidden %} + {{ field }} +{% else %} + {% if field|is_checkbox %} +
+ +
+ {% else %} +
+ + {% crispy_field field 'placeholder' field.label %} +
+ {% endif %} +{% endif %} diff --git a/allauthdemo/templates/bootstrap3/layout/multifield.html b/allauthdemo/templates/bootstrap3/layout/multifield.html new file mode 100755 index 0000000..0a2c050 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/multifield.html @@ -0,0 +1,27 @@ +{% load crispy_forms_field %} + +{% if field.is_hidden %} + {{ field }} +{% else %} + + {% if field.label %} + + {% endif %} + +{% endif %} diff --git a/allauthdemo/templates/bootstrap3/layout/prepended_appended_text.html b/allauthdemo/templates/bootstrap3/layout/prepended_appended_text.html new file mode 100755 index 0000000..4129dd1 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/prepended_appended_text.html @@ -0,0 +1,30 @@ +{% load crispy_forms_field %} + +{% if field.is_hidden %} + {{ field }} +{% else %} +
+ + {% if field.label and form_show_labels %} + + {% endif %} + +
+ {% if field|is_select %} + {% if crispy_prepended_text %}{{ crispy_prepended_text|safe }}{% endif %} + {% crispy_field field %} + {% if crispy_appended_text %}{{ crispy_appended_text|safe }}{% endif %} + {% else %} +
+ {% if crispy_prepended_text %}{{ crispy_prepended_text|safe }}{% endif %} + {% crispy_field field %} + {% if crispy_appended_text %}{{ crispy_appended_text|safe }}{% endif %} +
+ {% endif %} + + {% include 'bootstrap3/layout/help_text_and_errors.html' %} +
+
+{% endif %} diff --git a/allauthdemo/templates/bootstrap3/layout/radioselect.html b/allauthdemo/templates/bootstrap3/layout/radioselect.html new file mode 100755 index 0000000..872dcda --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/radioselect.html @@ -0,0 +1,16 @@ +{% load crispy_forms_filters %} +{% load l10n %} + +
+ {% include 'bootstrap3/layout/field_errors_block.html' %} + + {% for choice in field.field.choices %} + {% if not inline_class %}
{% endif %} + + {% if not inline_class %}
{% endif %} + {% endfor %} + + {% include 'bootstrap3/layout/help_text.html' %} +
diff --git a/allauthdemo/templates/bootstrap3/layout/radioselect_inline.html b/allauthdemo/templates/bootstrap3/layout/radioselect_inline.html new file mode 100755 index 0000000..d496ed9 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/radioselect_inline.html @@ -0,0 +1,14 @@ +{% if field.is_hidden %} + {{ field }} +{% else %} +
+ + {% if field.label %} + + {% endif %} + + {% include 'bootstrap3/layout/radioselect.html' %} +
+{% endif %} diff --git a/allauthdemo/templates/bootstrap3/layout/tab-link.html b/allauthdemo/templates/bootstrap3/layout/tab-link.html new file mode 100755 index 0000000..60a69e0 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/tab-link.html @@ -0,0 +1 @@ +
  • {{ link.name|capfirst }}{% if tab.errors %}!{% endif %}
  • diff --git a/allauthdemo/templates/bootstrap3/layout/tab.html b/allauthdemo/templates/bootstrap3/layout/tab.html new file mode 100755 index 0000000..730b4b4 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/tab.html @@ -0,0 +1,6 @@ + + {{ links|safe }} + +
    + {{ content|safe }} +
    diff --git a/allauthdemo/templates/bootstrap3/layout/uneditable_input.html b/allauthdemo/templates/bootstrap3/layout/uneditable_input.html new file mode 100755 index 0000000..6a228b6 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/layout/uneditable_input.html @@ -0,0 +1,10 @@ +{% load crispy_forms_field %} + + +
    + +
    + {% crispy_field field 'disabled' 'disabled' %} + {% include 'bootstrap3/layout/help_text.html' %} +
    +
    diff --git a/allauthdemo/templates/bootstrap3/table_inline_formset.html b/allauthdemo/templates/bootstrap3/table_inline_formset.html new file mode 100755 index 0000000..df26b3a --- /dev/null +++ b/allauthdemo/templates/bootstrap3/table_inline_formset.html @@ -0,0 +1,51 @@ +{% load crispy_forms_tags %} +{% load crispy_forms_utils %} +{% load crispy_forms_field %} + +{% specialspaceless %} +{% if formset_tag %} +
    +{% endif %} + {% if formset_method|lower == 'post' and not disable_csrf %} + {% csrf_token %} + {% endif %} + +
    + {{ formset.management_form|crispy }} +
    + + + + {% if formset.readonly and not formset.queryset.exists %} + {% else %} + + {% for field in formset.forms.0 %} + {% if field.label and not field|is_checkbox and not field.is_hidden %} + + {{ field.label|safe }}{% if field.field.required %}*{% endif %} + + {% endif %} + {% endfor %} + + {% endif %} + + + + {% for form in formset %} + {% if form_show_errors and not form.is_extra %} + {% include "bootstrap3/errors.html" %} + {% endif %} + + + {% for field in form %} + {% include 'bootstrap3/field.html' with tag="td" form_show_labels=False %} + {% endfor %} + + {% endfor %} + + + + {% include "bootstrap3/inputs.html" %} + +{% if formset_tag %}{% endif %} +{% endspecialspaceless %} diff --git a/allauthdemo/templates/bootstrap3/uni_form.html b/allauthdemo/templates/bootstrap3/uni_form.html new file mode 100755 index 0000000..a5575ea --- /dev/null +++ b/allauthdemo/templates/bootstrap3/uni_form.html @@ -0,0 +1,11 @@ +{% load crispy_forms_utils %} + +{% specialspaceless %} + {% if include_media %}{{ form.media }}{% endif %} + {% if form_show_errors %} + {% include "bootstrap3/errors.html" %} + {% endif %} + {% for field in form %} + {% include "bootstrap3/field.html" %} + {% endfor %} +{% endspecialspaceless %} diff --git a/allauthdemo/templates/bootstrap3/uni_formset.html b/allauthdemo/templates/bootstrap3/uni_formset.html new file mode 100755 index 0000000..701852f --- /dev/null +++ b/allauthdemo/templates/bootstrap3/uni_formset.html @@ -0,0 +1,8 @@ +{% with formset.management_form as form %} + {% include 'bootstrap3/uni_form.html' %} +{% endwith %} +{% for form in formset %} +
    + {% include 'bootstrap3/uni_form.html' %} +
    +{% endfor %} diff --git a/allauthdemo/templates/bootstrap3/whole_uni_form.html b/allauthdemo/templates/bootstrap3/whole_uni_form.html new file mode 100755 index 0000000..97f4471 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/whole_uni_form.html @@ -0,0 +1,14 @@ +{% load crispy_forms_utils %} + +{% specialspaceless %} +{% if form_tag %}
    {% endif %} + {% if form_method|lower == 'post' and not disable_csrf %} + {% csrf_token %} + {% endif %} + + {% include "bootstrap3/display_form.html" %} + + {% include "bootstrap3/inputs.html" %} + +{% if form_tag %}
    {% endif %} +{% endspecialspaceless %} diff --git a/allauthdemo/templates/bootstrap3/whole_uni_formset.html b/allauthdemo/templates/bootstrap3/whole_uni_formset.html new file mode 100755 index 0000000..30dd974 --- /dev/null +++ b/allauthdemo/templates/bootstrap3/whole_uni_formset.html @@ -0,0 +1,30 @@ +{% load crispy_forms_tags %} +{% load crispy_forms_utils %} + +{% specialspaceless %} +{% if formset_tag %} +
    +{% endif %} + {% if formset_method|lower == 'post' and not disable_csrf %} + {% csrf_token %} + {% endif %} + +
    + {{ formset.management_form|crispy }} +
    + + {% include "bootstrap3/errors_formset.html" %} + + {% for form in formset %} + {% include "bootstrap3/display_form.html" %} + {% endfor %} + + {% if inputs %} +
    + {% for input in inputs %} + {% include "bootstrap3/layout/baseinput.html" %} + {% endfor %} +
    + {% endif %} +{% if formset_tag %}
    {% endif %} +{% endspecialspaceless %} diff --git a/allauthdemo/templates/captcha/widget.html b/allauthdemo/templates/captcha/widget.html new file mode 100755 index 0000000..fb38f61 --- /dev/null +++ b/allauthdemo/templates/captcha/widget.html @@ -0,0 +1,16 @@ + + + diff --git a/allauthdemo/templates/captcha/widget_ajax.html b/allauthdemo/templates/captcha/widget_ajax.html new file mode 100755 index 0000000..a2caffd --- /dev/null +++ b/allauthdemo/templates/captcha/widget_ajax.html @@ -0,0 +1,25 @@ + +{# import recaptcha_ajax.js in your body #} +{# #} + +
    + + + +{% comment %} + +{% endcomment %} \ No newline at end of file diff --git a/allauthdemo/templates/captcha/widget_nocaptcha.html b/allauthdemo/templates/captcha/widget_nocaptcha.html new file mode 100755 index 0000000..e8b6e38 --- /dev/null +++ b/allauthdemo/templates/captcha/widget_nocaptcha.html @@ -0,0 +1,33 @@ + + +
    + diff --git a/allauthdemo/templates/copyright.html b/allauthdemo/templates/copyright.html new file mode 100755 index 0000000..7c5eb57 --- /dev/null +++ b/allauthdemo/templates/copyright.html @@ -0,0 +1 @@ +© 2014-2015 See LICENSE diff --git a/allauthdemo/templates/member/member-action.html b/allauthdemo/templates/member/member-action.html new file mode 100755 index 0000000..b623acb --- /dev/null +++ b/allauthdemo/templates/member/member-action.html @@ -0,0 +1,10 @@ +{% extends "bases/bootstrap-member.html" %} + +{% block head_title %}Action{% endblock %} + +{% block content %} +
    +

    A user could do something else here.

    +
    +{% endblock %} + diff --git a/allauthdemo/templates/member/member-events.html b/allauthdemo/templates/member/member-events.html new file mode 100755 index 0000000..7995348 --- /dev/null +++ b/allauthdemo/templates/member/member-events.html @@ -0,0 +1,63 @@ +{% extends "account/base.html" %} + +{% load i18n %} + +{% load bootstrap3 %} + +{% block head_title %}{% trans "Account Activity & Events" %}{% endblock %} + +{% block account_nav_events %}active{% endblock %} + + +{% block account_content %} +
    +

    My Events

    +{% if object_list %} +
      + {% for event in object_list %} +
    • {{ event.title }} - {{ event.start_time }}
    • + {% endfor %} +
    +{% else %} +

    No Events are available.

    +{% endif %} +
    +{% endblock %} + + diff --git a/allauthdemo/templates/member/member-index.html b/allauthdemo/templates/member/member-index.html new file mode 100755 index 0000000..367ea78 --- /dev/null +++ b/allauthdemo/templates/member/member-index.html @@ -0,0 +1,48 @@ +{% extends "account/base.html" %} + +{% load i18n %} + +{% load bootstrap3 %} + +{% block head_title %}{% trans "" %}{% endblock %} + +{% block account_content %} +{% endblock %} + + diff --git a/allauthdemo/templates/polls/create_event.html b/allauthdemo/templates/polls/create_event.html new file mode 100755 index 0000000..8960930 --- /dev/null +++ b/allauthdemo/templates/polls/create_event.html @@ -0,0 +1,429 @@ +{% extends "bases/bootstrap-with-nav.html" %} +{% load staticfiles %} +{% load bootstrap3 %} + + +{% block content %} + + + + +
    +
    + +
    +
    +
    + {% csrf_token %} + + +
    + +
    + + + + A short and clear name. + + +
    +
    + +
    + +
    + + + + Used in the election URL, it must only consist of letters, numbers, underscores or hyphens; no whitespace is permitted. + + +
    +
    + +
    + +
    +
    + + + + / + + +
    + + + Date and time when registered voters can commence voting. + +
    +
    + +
    + +
    +
    + + + + / + + +
    + + + Date and time when registered voters can no longer vote. + +
    +
    + +
    + +
    + + + + Question / Statement that will be put forward to voters along with the below options. + + +
    +
    + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #OptionActions
    + 1 + +
    + + + +
    +
    + +
    + 2 + +
    + + + +
    +
    + +
    +
    + +
    + + + Drag and drop to re-order options. + +
    +
    +
    + +
    + +
    +
    +
    + + + +
    +
    + + + +
    +
    + + + Minimum and maximum number of option selections that a voter can make for the specified question / statement. + + +
    +
    + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #EmailActions
    + + 1 + + +
    + + + +
    +
    + + +
    + + 2 + + +
    + + + +
    +
    + +
    +
    + +
    + + + Drag and drop to re-order emails. + +
    +
    +
    + +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #EmailActions
    + + 1 + + +
    + + + +
    +
    + + +
    + + 2 + + +
    + + + +
    +
    + +
    +
    + +
    + + + Drag and drop to re-order emails. + +
    +
    +
    + +
    + +
    + + + + Manually enter email addresses separated with commas. Alternatively, you can also upload a CSV file: + + + + + +
    +
    + +
    + +
    +
    + + + Tick the box to prove that you're not a robot. + + +
    +
    +
    + + +
    +
    +
    +
    + + +{% endblock %} \ No newline at end of file diff --git a/allauthdemo/templates/polls/create_option.html b/allauthdemo/templates/polls/create_option.html new file mode 100755 index 0000000..ffc1790 --- /dev/null +++ b/allauthdemo/templates/polls/create_option.html @@ -0,0 +1,6 @@ +{% load crispy_forms_tags %} + +
    + {% crispy formset helper %} + +
    diff --git a/allauthdemo/templates/polls/create_poll.html b/allauthdemo/templates/polls/create_poll.html new file mode 100755 index 0000000..00e44d8 --- /dev/null +++ b/allauthdemo/templates/polls/create_poll.html @@ -0,0 +1,17 @@ +{% extends "bases/bootstrap-with-nav.html" %} +{% load staticfiles %} +{% load bootstrap3 %} + +{% block content %} + +
    +

    Create Poll for {{event.title}}

    + {% load crispy_forms_tags %} +
    + {% crispy question_form %} + +
    +
    + + +{% endblock %} diff --git a/allauthdemo/templates/polls/detail.html b/allauthdemo/templates/polls/detail.html new file mode 100755 index 0000000..73a1e9e --- /dev/null +++ b/allauthdemo/templates/polls/detail.html @@ -0,0 +1,21 @@ +{% extends "bases/bootstrap-with-nav.html" %} +{% load staticfiles %} + +{% block content %} + +
    +

    {{ question.question_text }}

    + + {% if error_message %}

    {{ error_message }}

    {% endif %} + +
    + {% csrf_token %} + {% for choice in question.choice_set.all %} + +
    + {% endfor %} + +
    +
    + +{% endblock %} diff --git a/allauthdemo/templates/polls/event_decrypt.html b/allauthdemo/templates/polls/event_decrypt.html new file mode 100755 index 0000000..9178179 --- /dev/null +++ b/allauthdemo/templates/polls/event_decrypt.html @@ -0,0 +1,32 @@ +{% extends "bases/bootstrap-with-nav.html" %} +{% load staticfiles %} +{% load bootstrap3 %} +{% comment %} is it safe really? {% endcomment %} +{% block sk-file-name %}{{ event.title|safe }}{% endblock %} + +{% block content %} + +
    +

    Event: {{event.title}}

    +

    Trustee Decrypt

    +
    +
    Secret Key
    +
    + +

    Use your secret key to generate a decrypted cipher

    + +
    +
    +
    +
    Encrypted Ciphers
    +
    + {% load crispy_forms_tags %} +
    + {% crispy formset helper %} + +
    +
    +
    +
    + +{% endblock %} diff --git a/allauthdemo/templates/polls/event_detail_base.html b/allauthdemo/templates/polls/event_detail_base.html new file mode 100755 index 0000000..7f81b42 --- /dev/null +++ b/allauthdemo/templates/polls/event_detail_base.html @@ -0,0 +1,39 @@ +{% extends "bases/bootstrap-with-nav.html" %} +{% load staticfiles %} +{% load bootstrap3 %} + +{% block content %} + +
    + << Back to Events List +
    +

    Event: {{object.title}}

    +

    By {{object.users_organisers.all}}

    + + {% block event_content %}{% endblock %} +
    + +{% endblock %} diff --git a/allauthdemo/templates/polls/event_detail_details.html b/allauthdemo/templates/polls/event_detail_details.html new file mode 100755 index 0000000..7a082ce --- /dev/null +++ b/allauthdemo/templates/polls/event_detail_details.html @@ -0,0 +1,13 @@ +{% extends "polls/event_detail_base.html" %} +{% load staticfiles %} +{% load bootstrap3 %} + +{% block event_nav_details %}active{% endblock %} +{% block event_content %} +

    Event Details

    + Ready/Prepared: {{ event.prepared }} +
    + Start Time: {{ event.start_time }} +
    + End Time: {{ event.end_time }} +{% endblock %} diff --git a/allauthdemo/templates/polls/event_detail_launch.html b/allauthdemo/templates/polls/event_detail_launch.html new file mode 100755 index 0000000..40c1fb9 --- /dev/null +++ b/allauthdemo/templates/polls/event_detail_launch.html @@ -0,0 +1,14 @@ +{% extends "polls/event_detail_base.html" %} +{% load staticfiles %} +{% load bootstrap3 %} + +{% block event_nav_launch %}active{% endblock %} +{% block event_content %} +

    Event Details

    + Trustee keys: {{ event.trustee_keys.count }} / {{ event.users_trustees.count }} +
    + EID (param): {{ event.EID }} +
    + Public key: {{ event.public_key }} + +{% endblock %} diff --git a/allauthdemo/templates/polls/event_detail_organisers.html b/allauthdemo/templates/polls/event_detail_organisers.html new file mode 100755 index 0000000..aef73d0 --- /dev/null +++ b/allauthdemo/templates/polls/event_detail_organisers.html @@ -0,0 +1,37 @@ +{% extends "polls/event_detail_base.html" %} +{% load staticfiles %} +{% load bootstrap3 %} + +{% block event_nav_organisers %}active{% endblock %} +{% block event_content %} +

    Event Organisers

    + {% if object.users_organisers.all %} +
      + {% for user in object.users_organisers.all %} +
    • {{ user.email }}
    • + {% endfor %} +
    + {% else %} +

    No organisers for this Event.

    + {% endif %} +

    Event Trustees

    + {% if object.users_trustees.all %} +
      + {% for user in object.users_trustees.all %} +
    • {{ user.email }}
    • + {% endfor %} +
    + {% else %} +

    No trustees for this Event.

    + {% endif %} +

    Voters

    + {% if object.voters.all %} +
      + {% for voter in object.voters.all %} +
    • {{ voter.email }}
    • + {% endfor %} +
    + {% else %} +

    No voters for this Event.

    + {% endif %} +{% endblock %} diff --git a/allauthdemo/templates/polls/event_detail_polls.html b/allauthdemo/templates/polls/event_detail_polls.html new file mode 100755 index 0000000..5a78c92 --- /dev/null +++ b/allauthdemo/templates/polls/event_detail_polls.html @@ -0,0 +1,20 @@ +{% extends "polls/event_detail_base.html" %} +{% load staticfiles %} +{% load bootstrap3 %} + +{% block event_nav_polls %}active{% endblock %} +{% block event_content %} +

    Related Polls

    + {% if object.polls.all %} + + {% else %} +

    No polls are available for this Event.

    + {% endif %} + {% if is_organiser %} + Add Poll + {% endif %} +{% endblock %} diff --git a/allauthdemo/templates/polls/event_list.html b/allauthdemo/templates/polls/event_list.html new file mode 100755 index 0000000..14435a4 --- /dev/null +++ b/allauthdemo/templates/polls/event_list.html @@ -0,0 +1,57 @@ + +{% extends "bases/bootstrap-with-nav.html" %} +{% load staticfiles %} + +{% block content %} + +
    +
    + +
    +

    Events

    +
    + + +
    + {% if object_list %} +
    + + + + + + + + + + + + + {% for event in object_list %} + + + + + + + + {% endfor %} + +
    EventStart TimeEnd TimeNo. PollsEdit
    {{ event.title }}{{ event.start_time }}{{ event.end_time }}{{ event.polls.count }} + + + +
    +
    + {% else %} +
    +

    There are currently no events.

    +
    + {% endif %} +
    + +{% endblock %} diff --git a/allauthdemo/templates/polls/event_setup.html b/allauthdemo/templates/polls/event_setup.html new file mode 100755 index 0000000..fda4992 --- /dev/null +++ b/allauthdemo/templates/polls/event_setup.html @@ -0,0 +1,34 @@ +{% extends "bases/bootstrap-with-nav.html" %} +{% load staticfiles %} +{% load bootstrap3 %} +{% comment %} is it safe really? {% endcomment %} +{% block sk-file-name %}{{ event.title|safe }}{% endblock %} + +{% block content %} + +
    +

    Event: {{event.title}}

    +

    Trustee Setup

    +
    +
    Public Key
    +
    + {% load crispy_forms_tags %} +
    + {% crispy form %} + +
    +
    +
    +
    +
    Secret Key
    +
    + + +

    Make a backup of this secret key before submitting your public key. This can NOT be recalculated if forgotten!

    + + Download +
    +
    +
    + +{% endblock %} diff --git a/allauthdemo/templates/polls/generic_form.html b/allauthdemo/templates/polls/generic_form.html new file mode 100755 index 0000000..822bd59 --- /dev/null +++ b/allauthdemo/templates/polls/generic_form.html @@ -0,0 +1,16 @@ +{% extends "bases/bootstrap-with-nav.html" %} +{% load staticfiles %} +{% load bootstrap3 %} + +{% block content %} + +
    +

    {{ form_title }}

    + {% load crispy_forms_tags %} +
    + {% crispy form %} + +
    +
    + +{% endblock %} diff --git a/allauthdemo/templates/polls/poll_detail.html b/allauthdemo/templates/polls/poll_detail.html new file mode 100755 index 0000000..34501a6 --- /dev/null +++ b/allauthdemo/templates/polls/poll_detail.html @@ -0,0 +1,85 @@ +{% extends "bases/bootstrap-with-nav.html" %} +{% load staticfiles %} +{% load bootstrap3 %} + +{% block app_js_vars %} + + + var option_count = {{ object.options.count }}; +{% endblock %} + +{% block content %} + +
    + + + +

    Poll: {{object.question_text}}

    + Poll {{ poll_num }} of {{ poll_count }} in Event: {{ object.event.title }} +
    + {% if prev_index %} + + + + {% endif %} + {% if next_index %} + + + + {% endif %} +
    + Edit Poll + {% if object.options.all %} +

    Options

    +

    {{ vote_count }} vote(s) have been cast

    + {% if can_vote %} + {% if has_voted %} +

    You have already voted in this poll. Resubmitting the form will change your vote.

    + {% endif %} +

    Voting as {{ voter_email }} -- Do NOT share this url

    + {% load crispy_forms_tags %} +
    +
    Options
    +
    + + + +
    + {% crispy form %} + {% csrf_token %} +
    +
    +
    + {% else %} + + {% endif %} + {% else %} +

    No options are available.

    + {% endif %} +
    +
    +
    +POLL ENC {{ object.enc }} + +{% if form.errors %} + {% for field in form %} + {% for error in field.errors %} +
    + {{ error|escape }} +
    + {% endfor %} + {% endfor %} + {% for error in form.non_field_errors %} +
    + {{ error|escape }} +
    + {% endfor %} +{% endif %} +{% endblock %} diff --git a/allauthdemo/templates/polls/results.html b/allauthdemo/templates/polls/results.html new file mode 100755 index 0000000..85db5e3 --- /dev/null +++ b/allauthdemo/templates/polls/results.html @@ -0,0 +1,21 @@ + +{% extends "bases/bootstrap-with-nav.html" %} +{% load staticfiles %} + +{% block content %} + +
    + +

    {{ question.question_text }}

    + +
      + {% for choice in question.choice_set.all %} +
    • {{ choice.choice_text }} {{ choice.votes }} vote{{ choice.votes|pluralize }}
    • + {% endfor %} +
    + + Vote again? + +
    + +{% endblock %} diff --git a/allauthdemo/templates/polls/view_poll_detail.html b/allauthdemo/templates/polls/view_poll_detail.html new file mode 100755 index 0000000..b1260dd --- /dev/null +++ b/allauthdemo/templates/polls/view_poll_detail.html @@ -0,0 +1,21 @@ +{% extends "bases/bootstrap-with-nav.html" %} +{% load staticfiles %} +{% load bootstrap3 %} + +{% block content %} + +
    +

    Poll: {{poll.question_text}}

    + {% if poll.options %} +
      + {% for option in poll.options.all %} +
    • {{ option.choice_text }}
    • + {% endfor %} +
    + {% else %} +

    No options are listed.

    + {% endif %} +
    + + +{% endblock %} diff --git a/allauthdemo/templates/polls/vote_poll.html b/allauthdemo/templates/polls/vote_poll.html new file mode 100755 index 0000000..2b26dba --- /dev/null +++ b/allauthdemo/templates/polls/vote_poll.html @@ -0,0 +1,17 @@ +{% extends "bases/bootstrap-with-nav.html" %} +{% load staticfiles %} +{% load bootstrap3 %} + +{% block content %} + +
    +

    Vote on {{poll.question_text}}

    + {% load crispy_forms_tags %} +
    + {% crispy vote_form %} + +
    +
    + + +{% endblock %} diff --git a/allauthdemo/templates/visitor/contact.html b/allauthdemo/templates/visitor/contact.html new file mode 100755 index 0000000..81e2199 --- /dev/null +++ b/allauthdemo/templates/visitor/contact.html @@ -0,0 +1,11 @@ +{% extends "bases/bootstrap-visitor.html" %} + +{% block content %} + +
    + A fancy contact form here. +
    + +{% endblock %} + + diff --git a/allauthdemo/templates/visitor/landing-about.html b/allauthdemo/templates/visitor/landing-about.html new file mode 100755 index 0000000..3731d06 --- /dev/null +++ b/allauthdemo/templates/visitor/landing-about.html @@ -0,0 +1,23 @@ +{% extends "bases/bootstrap-visitor.html" %} + +{% block content %} + +
    + +

    +This demo was built with django-allauth + [Code, + Docs]. + + It uses Twitter Bootstrap 3 with jQuery. + With some work you can make it use angularjs and angular-ui with no jQuery. +

    +

    it uses a custom User model with email and no username. + It also has a connected UserProfile model with an avatar URL. +

    + +
    + +{% endblock %} + + diff --git a/allauthdemo/templates/visitor/landing-index.html b/allauthdemo/templates/visitor/landing-index.html new file mode 100755 index 0000000..8e7de05 --- /dev/null +++ b/allauthdemo/templates/visitor/landing-index.html @@ -0,0 +1,21 @@ +{% extends "bases/bootstrap-visitor.html" %} +{% load staticfiles %} + +{% block content %} + +
    +
    +

    DEMOS 2

    + +

    + Read more on the About Page. +

    +

    + Join + or + Log In +

    +
    +
    + +{% endblock %} diff --git a/allauthdemo/templates/visitor/terms.html b/allauthdemo/templates/visitor/terms.html new file mode 100755 index 0000000..469542c --- /dev/null +++ b/allauthdemo/templates/visitor/terms.html @@ -0,0 +1,11 @@ +{% extends "bases/bootstrap-visitor.html" %} + +{% block content %} + +
    + Terms and stuff. +
    + +{% endblock %} + + diff --git a/allauthdemo/urls.py b/allauthdemo/urls.py new file mode 100755 index 0000000..f52279b --- /dev/null +++ b/allauthdemo/urls.py @@ -0,0 +1,27 @@ +from django.conf.urls import include, url +from django.contrib import admin +from django.views.generic.base import TemplateView +from django.conf.urls.static import static +from django.conf import settings + +import allauthdemo.views +import allauthdemo.auth.views +admin.autodiscover() + +urlpatterns = [ + url(r'^$', TemplateView.as_view(template_name='visitor/landing-index.html'), name='landing_index'), + url(r'^about$', TemplateView.as_view(template_name='visitor/landing-about.html'), name='landing_about'), + url(r'^terms/$', TemplateView.as_view(template_name='visitor/terms.html'), name='website_terms'), + url(r'^contact$', TemplateView.as_view(template_name='visitor/contact.html'), name='website_contact'), + + url(r'^event/', include('allauthdemo.polls.urls', namespace="polls")), + + url(r'^accounts/', include('allauth.urls')), + url(r'^accounts/profile/$', allauthdemo.auth.views.account_profile, name='account_profile'), + + url(r'^member/$', allauthdemo.views.member_index, name='user_home'), + url(r'^member/events$', allauthdemo.views.MemberEvents.as_view(), name='account_events'), + url(r'^member/action$', allauthdemo.views.member_action, name='user_action'), + + url(r'^admin/', include(admin.site.urls)) +] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) diff --git a/allauthdemo/utils.py b/allauthdemo/utils.py new file mode 100755 index 0000000..18c6717 --- /dev/null +++ b/allauthdemo/utils.py @@ -0,0 +1,22 @@ +import os +"""Handy utils for config""" + +def contents(*names): + """Return string contents from first matching named environment variable + or file. + + Each name in names is checked first against an environment variable then + a file. An Exception is raised if nothing matches. + """ + for name in names: + if name in os.environ: + return os.environ[name] + + else: + name = os.path.expanduser(name) + if os.path.isfile(name): + with open(name) as src: + return src.read().strip() + + raise Exception("Unresolved content: "+', '.join(names)) + diff --git a/allauthdemo/views.py b/allauthdemo/views.py new file mode 100755 index 0000000..b2c7c05 --- /dev/null +++ b/allauthdemo/views.py @@ -0,0 +1,68 @@ +from django.template import RequestContext +from django.shortcuts import render_to_response, render +from django.contrib.auth.decorators import login_required +from django.http import HttpResponseRedirect +from django.views import generic +from allauthdemo.polls.models import Event +from django.shortcuts import get_object_or_404, render, render_to_response + +@login_required +def member_index(request): + return render_to_response("member/member-index.html", RequestContext(request)) + + +#def member_events(request): + #self.publisher = get_object_or_404(Publisher, name=self.args[0]) + #return Book.objects.filter(publisher=self.publisher) + #return render_to_response("member/member-events.html", RequestContext(request)) + +class MemberEvents(generic.ListView): + model = Event + template_name = 'member/member-events.html' + + def get_context_data(self, **kwargs): + context = super(MemberEvents, self).get_context_data(**kwargs) + #self.object.organisers.filter(email=self.request.user.email()) + # no check needed for anon, as url should make sure we're logged in! + return context + + def get_queryset(self): + #self.publisher = get_object_or_404(Publisher, name=self.args[0]) + return self.request.user.organisers.all() + +@login_required +def member_action(request): + return render_to_response("member/member-action.html", RequestContext(request)) + + + + +''' + +class EventListView(generic.ListView): + + model = Event + + def get_context_data(self, **kwargs): + context = super(EventListView, self).get_context_data(**kwargs) + #context['now'] = timezone.now() + return context + + def get_context_data(self, **kwargs): + context = super(EventDetailView, self).get_context_data(**kwargs) + context['is_organiser'] = ((not self.request.user.is_anonymous()) and (self.object.users.filter(email=self.request.user.email).exists())) + #context['now'] = timezone.now() + return context + +class PollDetailView(generic.DetailView): + + model = Poll + + def get_context_data(self, **kwargs): + context = super(PollDetailView, self).get_context_data(**kwargs) + #context['now'] = timezone.now() + context['form'] = VoteForm(instance=self.object) + context['poll_count'] = self.object.event.polls.all().count() + return context + +''' diff --git a/allauthdemo/wsgi.py b/allauthdemo/wsgi.py new file mode 100755 index 0000000..cce7fc0 --- /dev/null +++ b/allauthdemo/wsgi.py @@ -0,0 +1,14 @@ +""" +WSGI config for allauthdemo project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/ +""" + +import os +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "allauthdemo.settings") + +from django.core.wsgi import get_wsgi_application +application = get_wsgi_application() diff --git a/commands.txt b/commands.txt new file mode 100755 index 0000000..860b605 --- /dev/null +++ b/commands.txt @@ -0,0 +1,5 @@ +celery -A allauthdemo worker -l info //start celery worker from parent dir of allauthdemo + +python manage.py runserver //start django server + +node index.js //start node server \ No newline at end of file diff --git a/configure.py b/configure.py new file mode 100755 index 0000000..2746c2d --- /dev/null +++ b/configure.py @@ -0,0 +1,167 @@ +#!/bin/env +"""Help new users configure the database for use with social networks. +""" +import os +from datetime import datetime + +# Fix Python 2.x. +try: input = raw_input +except NameError: pass + +import django +from django.conf import settings + +BASE_DIR = os.path.dirname(os.path.dirname(__file__)) + +settings.configure(DEBUG=True, TEMPLATE_DEBUG=True, + TEMPLATE_DIRS=(os.path.join(BASE_DIR, 'allauthdemo'),) +) + +try: + django.setup() # for Django >= 1.7 +except AttributeError: + pass # must be < Django 1.7 + + +from django.template import Template, Context +from django.template.loader import get_template +#from django.conf.settings import configure as django_configure + +sql_template = Template(""" +UPDATE django_site SET DOMAIN = '127.0.0.1:8000', name = 'allauthdemo' WHERE id=1; + +{% if admin %} +DELETE from auth_user; -- or just the first user? +INSERT INTO auth_user(id, password, last_login, is_superuser, first_name, last_name, email, is_staff, is_active, date_joined) +VALUES (1, '{{admin.password}}', '{{now}}', 1, '{{admin.first_name}}', '{{admin.last_name}}', '{{admin.email}}', 1, 1, '{{now}}'); +{% endif %} + +{% if facebook or google %} +-- +-- Prep for socialapp_sites +-- +DELETE FROM socialaccount_socialapp_sites; +{% endif %} + +{% if facebook %} +-- +-- Facebook +-- +DELETE FROM socialaccount_socialapp WHERE provider='facebook'; +INSERT INTO socialaccount_socialapp (provider, name, secret, client_id, `key`) +VALUES ("facebook", "Facebook", "{{facebook.secret}}", "{{facebook.client_id}}", ''); + +INSERT INTO socialaccount_socialapp_sites (socialapp_id, site_id) VALUES ( + (SELECT id FROM socialaccount_socialapp WHERE provider='facebook'),1); +{% endif %} + +{% if google %} +-- +-- Google +-- +DELETE FROM socialaccount_socialapp WHERE provider='google'; +INSERT INTO socialaccount_socialapp (provider, name, secret, client_id, `key`) +VALUES ("google", "Google", "{{ google.secret }}", "{{ google.client_id}}", ''); + +INSERT INTO socialaccount_socialapp_sites (socialapp_id, site_id) VALUES ( + (SELECT id FROM socialaccount_socialapp WHERE provider='google'),1); +{% endif %} +""") + +#settings_template = Template(open("allauthdemo/settings.template.py").read()) +settings_template = get_template("settings.template.py") + +default_superuser_first_name='The' +default_superuser_last_name='Admin' +default_superuser_email='me@admin.test' + + +def heading(text): + text = text.strip() + line = '-' * len(text) + print("\n%s\n%s\n%s\n" % (line, text, line)) + + +def ask_yes_no(msg): + msg = "\n" + msg.strip()+'\n\nPlease enter "yes" or "no": ' + confirm = input(msg) + while True: + confirm = confirm.strip().lower() + if confirm not in ('yes', 'y', 'no', 'n'): + confirm = input('Please enter either "yes" or "no": ') + continue + return confirm in ('yes', 'y') + + +def ask_text(need, default=None): + need = need.strip() + if default: + msg = "\n%s? Default: [%s] > " % (need, default) + else: + msg = "\n%s? > " % need + + while True: + response = input(msg) + if response: + return response + elif default is not None: + return default + else: + pass # raw_input('Please enter a value.') + + +def ask_superuser(): + from django.contrib.auth.hashers import make_password + first_name = ask_text("Admin first name", default_superuser_first_name) + last_name = ask_text("Admin last name", default_superuser_last_name) + email = ask_text("Admin email", default_superuser_email) + password = ask_text("Admin password") + password = make_password(password) + + return dict(first_name=first_name, last_name=last_name, email=email, password=password) + + +def ask_facebook(): + secret = ask_text("Facebook secret") + client_id = ask_text("Facebook client id") + return dict(secret=secret, client_id=client_id) + + +def ask_google(): + secret = ask_text("Google secret") + client_id = ask_text("Google client id") + return dict(secret=secret, client_id=client_id) + + +if __name__ == "__main__": + + context = Context({ + 'now': str(datetime.now()) + }) + + heading("Admin User") + if ask_yes_no("Do you want to set up a superuser?\n\n" + "Doing it now means you don't have to re-enter it every time\n" + "you rebuild the database in development."): + context['admin'] = ask_superuser() + + heading("Facebook") + if ask_yes_no("Do you want to configure auth via Facebook?\n" + "You'll need the app secret and client."): + context['facebook'] = ask_facebook() + + heading("Google") + if ask_yes_no("Do you want to configure auth via Google?\n" + "You'll need the app secret and client."): + context['google'] = ask_google() + + with open('seed.sql', 'w') as out: + out.write(sql_template.render(context)) + + with open('allauthdemo/settings_generated.py', 'w') as out: + out.write(settings_template.render(context)) + + print("\nAll done!\n") + print("Have a look in seed.sql\n\n") + print("Next:\n make rebuild\n make run (or ``python manage.py runserver``)") + diff --git a/demos_cpp b/demos_cpp new file mode 100755 index 0000000..fa57500 Binary files /dev/null and b/demos_cpp differ diff --git a/demos_cpp_bak b/demos_cpp_bak new file mode 100755 index 0000000..fa57500 Binary files /dev/null and b/demos_cpp_bak differ diff --git a/manage.py b/manage.py new file mode 100755 index 0000000..c09ddbd --- /dev/null +++ b/manage.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "allauthdemo.settings") + + from django.core.management import execute_from_command_line + + execute_from_command_line(sys.argv) diff --git a/requirements.txt b/requirements.txt new file mode 100755 index 0000000..4b77699 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,11 @@ +django==1.8.1 +django-allauth==0.22.0 +django-uuidfield # you don't have to use uuids, but I choose to. +django-bootstrap3 # allauth doesn't require this but again I chose to. +django-celery +django-crispy-forms +django-simple-captcha +django-nocaptcha-recaptcha +django-recaptcha +mysqlclient + diff --git a/static/css/main.css b/static/css/main.css new file mode 100755 index 0000000..b4b6261 --- /dev/null +++ b/static/css/main.css @@ -0,0 +1,154 @@ +.big-box { + border: 1px solid #eee; + -webkit-box-shadow: 0 3px 3px rgba(0,0,0,.5); + box-shadow: 0 3px 3px rgba(0,0,0,.5); + padding: 20px; + margin-top: 60px; + margin-bottom: 60px; + +/* + -webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset; + -moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset; + box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset; +*/ +} + + +.socialaccount_providers li a.socialaccount_provider { + rem-border: 1px solid #ddd; + border-radius: 10px; + rem-box-shadow: 2px 2px 8px rgba(0,0,0,.7); + -padding: 10px; + margin-bottom: 6px; + display: block; + width: 100%; + overflow: hidden; + rem-font-size: 1.2em; +} + +.socialaccount_providers li a.socialaccount_provider:hover { + text-decoration: none; + box-shadow: 1px 1px 2px rgba(0,0,0,.7); +} + +.socialaccount_providers li a.socialaccount_provider.facebook { + background: #4B67A3; /* technically gradient down to #3A579A */ + color: #fff; +} +.socialaccount_providers li a.socialaccount_provider.facebook:before { + font-family: FontAwesome; + font-size: 1.9em; + content: "\f082"; + display: inline-block; + padding-left: 8px; + padding-right: 8px; +} + +.socialaccount_providers li a.socialaccount_provider.google { + background: #DE4931; + color: #fff; +} +.socialaccount_providers li a.socialaccount_provider.google:before { + font-family: FontAwesome; + font-size: 1.9em; + content: "\f1a0"; + display: inline-block; + padding-left: 8px; + padding-right: 8px; +} + + +/* from http://konigi.com/tools/css-sticky-notes */ +.sticky { + -webkit-box-shadow: #DDD 0px 1px 2px; + position: relative; + background-color: #F4F39E; + border-color: #DEE184; + text-align: center; + margin: 2.5em 0px; + padding: 1.5em 1em; + -webkit-box-shadow: 0px 1px 3px rgba(0,0,0,0.25); + -moz-box-shadow: 0px 1px 3px rgba(0,0,0,0.25); + box-shadow: 0px 1px 3px rgba(0,0,0,0.25); + font-family: Chalkboard, 'Comic Sans'; +} +.sticky.taped2:after { + display: block; + content: ""; + position: absolute; + width: 110px; + height: 30px; + top: -21px; + left: 30%; + border: 1px solid #fff; + background: rgba(254, 254, 254, .6); + -webkit-box-shadow: 0px 0 3px rgba(0,0,0,0.1); + -moz-box-shadow: 0px 0 3px rgba(0,0,0,0.1); + box-shadow: 0px 0 3px rgba(0,0,0,0.1); +} + +/* borrowed from http://designshack.net/articles/css/4-fun-css-image-effects-you-can-copy-and-paste/ */ +.picture-frame img { + border: 10px solid #fff; + -webkit-box-shadow: 3px 0px 0px #777; + -moz-box-shadow: 3px 0px 0px #777; + box-shadow: 0px 0px 5px rgba(0,0,0,0.35); +} + +/* Formsets */ + +.form-group table { + border-bottom: 2px solid #ddd; +} + +tbody.option-formset > tr, +tbody.organiser-formset > tr, +tbody.trustee-formset > tr { + cursor: grab; +} + +.formset-add { + margin-bottom: 10px; +} + +div.formset_object { + animation: 0.3s drop-intro; +} + +@keyframes drop-intro { + from { + transform:scale(0.8); + opacity:0; + } + to { + transform:scale(1); + opacity:1; + } +} + +.panel-heading.error { + background-image: -webkit-linear-gradient(top, rgb(242, 222, 222) 0, rgb(242, 203, 208) 100%); + background-image: -o-linear-gradient(top, rgb(242, 222, 222) 0, rgb(242, 203, 208) 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(242, 222, 222)), to(rgb(242, 203, 208))); + background-image: linear-gradient(to bottom, rgb(242, 222, 222) 0, rgb(242, 203, 208) 100%); +} + +/* Error */ +.errorText { + color: red; +} + +/* File uploading */ +input[type="file"] { + display: none; +} + +/* Events List page */ + +.marginTopEventList { + margin-top: 5.75em; +} + +.marginTopCreateButton { + margin-top: 1.75em; +} \ No newline at end of file diff --git a/static/img/demos-banner.png b/static/img/demos-banner.png new file mode 100755 index 0000000..533e204 Binary files /dev/null and b/static/img/demos-banner.png differ diff --git a/static/img/demos2-banner.png b/static/img/demos2-banner.png new file mode 100755 index 0000000..3eec0fa Binary files /dev/null and b/static/img/demos2-banner.png differ diff --git a/static/img/demos2-sm.png b/static/img/demos2-sm.png new file mode 100755 index 0000000..0dda1d0 Binary files /dev/null and b/static/img/demos2-sm.png differ diff --git a/static/js/.gitignore b/static/js/.gitignore new file mode 100755 index 0000000..0f31176 --- /dev/null +++ b/static/js/.gitignore @@ -0,0 +1 @@ +core \ No newline at end of file diff --git a/static/js/create-event-poll.js b/static/js/create-event-poll.js new file mode 100755 index 0000000..face5fd --- /dev/null +++ b/static/js/create-event-poll.js @@ -0,0 +1,237 @@ +// File handling + +function processFileChange(event) { + var files = event.target.files; + + // By parsing the file we ensure that it's valid CSV at the client side. Papa parse + // also allows us to aggregate emails from multiple rows in a file. + if(files !== undefined + && files[0] !== undefined) { + Papa.parse(files[0], { + complete: function(results) { + var errors = results.errors; + + if(errors.length === 0) { + var data = results.data; + var numRows = data.length; + var totalNumEmails = 0; + var emails = []; + + if(numRows > 1) { + for(var i = 0; i < numRows; i++) { + var numEmails = data[i].length; + totalNumEmails += numEmails; + + for(var j = 0; j < numEmails; j++) { + emails.push(data[i][j]); + } + } + } else if(numRows === 1) { + totalNumEmails = data[0].length; + + for(var i = 0; i < totalNumEmails; i++) { + emails.push(data[0][i]); + } + } + + $('#result').removeClass("hidden").html( + totalNumEmails + " email(s) have been successfully uploaded."); + + $('#voters-list-input').html(emails.join(', ')); + } else { + // There were errors, so inform the user + $('#result') + .removeClass("hidden") + .html("Error reading uploaded file! Check the format and try again") + .addClass("errorText"); + } + } + }); + } +} + +document.getElementById('files').addEventListener('change', processFileChange, false); + +// reCAPTCHA + +function recaptchaCallback(){ + $('#submit-event-create').removeAttr('disabled'); +} + +// Slug field. + +function slugify(value) { + return value.toString() + .replace(/[^\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03CE\w\s-]+/g, '') + .replace(/^[-\s]+/, '') + .replace(/[-\s]+$/, '') + .replace(/[-\s]+/g, '-') + .toLowerCase(); +} + +$('#name-input').on('input', function (e) { + var slugField = $('#identifier-input'); + if (!slugField.data('changed')) { + var name = $(this).val(); + var maxLength = parseInt(slugField.attr('maxlength')); + var slug = slugify(name).substring(0, maxLength); + slugField.val(slug); + slugField.trigger('input'); + } +}); + +$('#identifier-input').change(function (e) { + $(this).data('changed', $(this).val().length > 0); +}); + +// Poll start and end + +var datetime_now = window.moment().seconds(0); +var datetime_format = "YYYY-MM-DD H:mm"; +$("#vote-start-input, #vote-end-input").each(function(index, element) { + + // Set datetimepickers' current, default and minimum date/time + + var datetime_picker = $(element); + var datetime_iso8601 = datetime_picker.siblings(".datetime-iso8601-input").val(); + var datetime_local = moment(datetime_iso8601); + + datetime_picker.datetimepicker({ + sideBySide: false, + minDate: datetime_now.clone().startOf("day"), + format: datetime_format, + widgetParent: $(datetime_picker) + }); + + var minutes = (Math.ceil(datetime_now.minute() / 5) * 5) + 5 * index; + var datetime_default = datetime_now.clone().minutes(minutes); + + datetime_picker.data("DateTimePicker").defaultDate(datetime_default); + + datetime_local = datetime_local.isValid() ? datetime_local.format(datetime_format) : ""; + datetime_picker.children("input").val(datetime_local); +}); + +$('#vote-start-input, #vote-end-input').parent('.date').datetimepicker({ + allowInputToggle: true, + icons: { + time: 'fa fa-clock-o', + date: 'fa fa-calendar', + up: 'fa fa-chevron-up', + down: 'fa fa-chevron-down', + previous: 'fa fa-chevron-left', + next: 'fa fa-chevron-right' + }, + minDate: moment().startOf('day'), + useCurrent: false, +}); + +// Form management and Sortable rows + +function update(event, ui) { + var formsetPrefix = $(event.target.lastElementChild).attr('data-formset-prefix'); + var formset = $('.formset[data-formset-prefix="' + formsetPrefix + '"]'); + updateFormset(formset); +} + +/*$('#options-input-table').rowSorter({ + "handler" : null, // drag handler selector (default: null) + "tbody" : true, // True if you want to sort only tbody > tr. (default: true) + "tableClass" : "sorting-table", // This is added to the table during sorting + "dragClass": "sorting-row", // dragging row's class name (default: "sorting-row"). + "stickTopRows": 0, // count of top sticky rows (default: 0) + "stickBottomRows": 0, // count of bottom sticky rows (default: 0) + "onDragStart": dragStart, // (default: null) + "onDragEnd": dragEnd, // (default: null) + "onDrop": drop // (default: null) +});*/ + +$("#options-input-table, #organisers-input-table, #trustees-input-table").sortable({ + items: "tr", + update: update +}); + + +function updateFormset(formset) { // Ported from DEMOS 1. Updates the row number for the # and performs any removals. + var forms = formset.children('.formset-form:not(.formset-form-empty, .formset-form-removed)'); + var removedForms = formset.children('.formset-form.formset-form-removed'); + forms.each(function(index) { + updateForm($(this), index); + }); + removedForms.each(function(index) { + updateForm($(this), forms.length + index); + }); +} + +function updateForm(form, formIndex) { // Ported from DEMOS 1. + // Specific update for option forms + var mayBeTextInput = form.find('input:text')[0]; + if(mayBeTextInput.placeholder !== undefined + && mayBeTextInput.placeholder.indexOf("Candidate") > -1) { + mayBeTextInput.placeholder = "Example: Candidate " + (formIndex + 1); + } + + var formset = form.parent('.formset'); + var formsetPrefix = formset.attr('data-formset-prefix'); + var formPrefix = formsetPrefix + '-' + formIndex; + var formPrefixRegex = new RegExp(formsetPrefix + '-(?:__prefix__|\\d+)'); + form.find('*').addBack().each(function(index, element) { + $.each(this.attributes, function(index, attr) { + $(element).attr(attr.nodeName, function(index, attrValue) { + return attrValue.replace(formPrefixRegex, formPrefix); + }); + }); + }); + form.find('input[name="' + formPrefix + '-ORDER"]').val(formIndex); + form.find('.formset-form-index:first').text(formIndex + 1); +} + +function manageTotalForms(formset, value) { // Ported from DEMOS1. + var formsetPrefix = formset.attr('data-formset-prefix'); + var totalForms = $('#id_' + formsetPrefix + '-TOTAL_FORMS'); + var maxNumForms = $('#id_' + formsetPrefix + '-MAX_NUM_FORMS'); + totalForms.val(parseInt(totalForms.val()) + value); + var addButton = $('.formset-add[data-formset-prefix="' + formsetPrefix + '"]'); + var removedForms = formset.children('.formset-form.formset-form-removed'); + addButton.prop('disabled', parseInt(totalForms.val()) - removedForms.length >= parseInt(maxNumForms.val())); +} + +$('.formset-add').click(function (e) { // Ported from DEMOS1 + var formsetPrefix = $(this).attr('data-formset-prefix'); + var formset = $('.formset[data-formset-prefix="' + formsetPrefix + '"]'); + var emptyForm = formset.children('.formset-form-empty'); + var emptyFormCheckedInputs = emptyForm.find('input:checkbox:checked, input:radio:checked'); + var form = emptyForm.clone(true).removeClass('formset-form-empty'); + var formIndex = formset.children('.formset-form:not(.formset-form-empty)').length; + + formset.append(form); + updateForm(form, formIndex); + emptyFormCheckedInputs.each(function (index) { + $(this).prop('checked', true); + }); + switch (formset.attr('data-formset-type')) { + case 'modal': + $('#formset-modal').data('form', form).data('formAdd', true).modal('show'); + break; + case 'inline': + manageTotalForms(formset, +1); + form.removeClass('hidden'); + formset.trigger('formsetFormAdded', [form]); + break; + } +}); + +$('.formset-form-remove').click(function (e) { // Ported from DEMOS1 + var form = $(this).closest('.formset-form'); + var formPrefix = form.attr('data-formset-form-prefix'); + var formset = form.parent('.formset'); + if ($('#id_' + formPrefix + '-id').val()) { + $('#id_' + formPrefix + '-DELETE').prop('checked', true); + form.addClass('formset-form-removed hidden'); + } else { + form.remove(); + manageTotalForms(formset, -1); + } + updateFormset(formset); + formset.trigger('formsetFormRemoved'); +}); \ No newline at end of file diff --git a/static/js/demos2-booth.js b/static/js/demos2-booth.js new file mode 100755 index 0000000..015493c --- /dev/null +++ b/static/js/demos2-booth.js @@ -0,0 +1,231 @@ +/* + +Cryptography functions written by Bingsheng Zhang + +Uses the milagro-crypto-js library at: +https://github.com/milagro-crypto/milagro-crypto-js + +*/ + +//Group parameter generator: returns rng object and generators g1,g2 for G1,G2 as well as order +gpGen = function(){ + //init, and base generators + var ctx = new CTX("BN254CX"); + + var n=new ctx.BIG(0); n.rcopy(ctx.ROM_CURVE.CURVE_Order); + + //get generator P for G1 + P = new ctx.ECP(0); + gx = new ctx.BIG(0); + gx.rcopy(ctx.ROM_CURVE.CURVE_Gx); + if (ctx.ECP.CURVETYPE != ctx.ECP.MONTGOMERY) { + gy = new ctx.BIG(0); + gy.rcopy(ctx.ROM_CURVE.CURVE_Gy); + P.setxy(gx, gy); + } else P.setx(gx); + + //get generator Q for G2 + var A=new ctx.BIG(0); + var B=new ctx.BIG(0); + A.rcopy(ctx.ROM_CURVE.CURVE_Pxa); + B.rcopy(ctx.ROM_CURVE.CURVE_Pxb); + var Qx=new ctx.FP2(0); Qx.bset(A,B); + A.rcopy(ctx.ROM_CURVE.CURVE_Pya); + B.rcopy(ctx.ROM_CURVE.CURVE_Pyb); + var Qy=new ctx.FP2(0); Qy.bset(A,B); + var Q=new ctx.ECP2(); + Q.setxy(Qy,Qy); + + return{ + n:n, + g1:P, + g2:Q + } +} + + +//creates ElGamal public and secret key +keyGen=function(params){ + var ctx = new CTX("BN254CX"); + //set rng + var RAW = []; + var d = new Date();//time for seed, not secure + var rng = new ctx.RAND(); + rng.clean(); + RAW[0] = d.getSeconds(); + RAW[1] = d.getMinutes(); + RAW[2] = d.getMilliseconds(); + rng.seed(3, RAW); + + //ElGamal + var sk = new ctx.BIG(0); + sk = ctx.BIG.randomnum(params.n,rng); + var pk = new ctx.ECP(0); + pk = ctx.PAIR.G1mul(params.g1,sk); + + + return{ + PK:pk, + SK:sk + } +} + + +//combine multiple public key together +//the input is an array of PKs +combine=function(PKs){ + var ctx = new CTX("BN254CX"); + var pk=new ctx.ECP(); + //copy the first pk + pk.copy(PKs[0]); + //multiple the rest PKs + for(i=1;i1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+29360;__ATINIT__.push({func:(function(){__GLOBAL__I_000101()})},{func:(function(){__GLOBAL__sub_I_iostream_cpp()})});memoryInitializer="trustee.js.mem";var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;var _BDtoILow=true;function _pthread_mutex_lock(){}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){return leadingNulls(date.tm_hour<13?date.tm_hour:date.tm_hour-12,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>0&&date.tm_hour<13){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _fabs=Math_abs;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if((flags&2097155)!==0||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}var mounts=FS.getMounts(FS.root.mount);var completed=0;function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=mounts.length){callback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperty(lazyArray,"length",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})});Object.defineProperty(lazyArray,"chunkSize",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperty(node,"usedBytes",{get:(function(){return this.contents.length})});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2]=ret}return ret}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_bitshift64Shl"]=_bitshift64Shl;Module["_memmove"]=_memmove;var _BItoD=true;function _pthread_cond_wait(){return 0}function _pthread_mutex_unlock(){}function ___cxa_guard_release(){}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___dso_handle=allocate(1,"i32*",ALLOC_STATIC);Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function Mb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function Nb(a){a=a|0;D=a}function Ob(){return D|0}function Pb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+720|0;n=d+700|0;e=d+192|0;f=d+56|0;g=d+40|0;h=d+24|0;j=d+16|0;m=d+12|0;k=d;uc(e,128,0);c[(Xc()|0)+564>>2]=64;l=f+4|0;c[f>>2]=2252;c[f+56>>2]=2272;yk(f+56|0,l);c[f+128>>2]=0;c[f+132>>2]=-1;c[f>>2]=2196;c[f+56>>2]=2216;Bk(l);c[l>>2]=2288;o=f+36|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[f+52>>2]=16;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;oc(l,n);Zj(n);n=Jd(1)|0;c[g+4>>2]=n;c[g>>2]=Id(n,0)|0;c[g+8>>2]=0;c[g+12>>2]=0;n=Jd(1)|0;c[h+4>>2]=n;c[h>>2]=Id(n,0)|0;c[h+8>>2]=0;c[h+12>>2]=0;c[j>>2]=gd(0)|0;gb(m|0)|0;cd((c[m>>2]|0)+b|0);Ac(e,g);b=ff(g,j)|0;pc(vl(pc(Vc(f,j)|0,19716,1)|0,b)|0,19716,1)|0;Ac(e,h);b=ff(h,j)|0;vl(pc(Vc(f,j)|0,19716,1)|0,b)|0;rc(k,l);l=(a[k>>0]&1)==0?k+1|0:c[k+8>>2]|0;b=mj((Xi(l)|0)+1|0)|0;Wi(b,l)|0;Zj(k);ce(c[j>>2]|0);Rb(h);Rb(g);Sb(f);vc(e);i=d;return b|0}function Qb(a){a=a|0;Ma(a|0)|0;yf()}function Rb(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;if(!e){a=a+4|0;a=c[a>>2]|0;ce(a);return}f=e+-4|0;b=c[f>>2]|0;if(b){b=e+(b<<3)|0;do{ce(c[b+-4>>2]|0);b=b+-8|0}while((b|0)!=(e|0))}sf(f);c[d>>2]=0;a=a+4|0;a=c[a>>2]|0;ce(a);return}function Sb(a){a=a|0;var b=0,d=0;c[a>>2]=2196;b=a+56|0;c[b>>2]=2216;d=a+4|0;c[d>>2]=2288;Zj(a+36|0);zk(d);tk(b);return}function Tb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;y=i;i=i+992|0;e=y+980|0;q=y+472|0;p=y+336|0;n=y+180|0;z=y+320|0;u=y+168|0;l=y+152|0;m=y+136|0;r=y+120|0;v=y+104|0;w=y+88|0;x=y+80|0;t=y+76|0;s=y+72|0;o=y+68|0;A=y+64|0;f=y+48|0;g=y+32|0;h=y+16|0;j=y;uc(q,128,0);c[(Xc()|0)+564>>2]=64;k=p+4|0;c[p>>2]=2252;c[p+56>>2]=2272;yk(p+56|0,k);c[p+128>>2]=0;c[p+132>>2]=-1;c[p>>2]=2196;c[p+56>>2]=2216;Bk(k);c[k>>2]=2288;d=p+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[p+52>>2]=16;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;oc(k,e);Zj(e);Xj(z,b,Xi(b)|0);b=n+8|0;c[n>>2]=2412;c[n+60>>2]=2432;c[n+4>>2]=0;yk(n+60|0,b);c[n+132>>2]=0;c[n+136>>2]=-1;c[n>>2]=2356;c[n+60>>2]=2376;Bk(b);c[b>>2]=2288;d=n+40|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[n+56>>2]=8;oc(b,z);Zj(z);c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;z=Jd(1)|0;c[l+4>>2]=z;c[l>>2]=Id(z,0)|0;c[l+8>>2]=0;c[l+12>>2]=0;z=Jd(1)|0;c[m+4>>2]=z;c[m>>2]=Id(z,0)|0;c[m+8>>2]=0;c[m+12>>2]=0;z=Jd(1)|0;c[r+4>>2]=z;c[r>>2]=Id(z,0)|0;z=r+8|0;c[z>>2]=0;c[r+12>>2]=0;b=Jd(1)|0;c[v+4>>2]=b;c[v>>2]=Id(b,0)|0;b=v+8|0;c[b>>2]=0;c[v+12>>2]=0;d=Jd(1)|0;c[w+4>>2]=d;c[w>>2]=Id(d,0)|0;d=w+8|0;c[d>>2]=0;c[w+12>>2]=0;c[x>>2]=gd(0)|0;c[t>>2]=gd(0)|0;c[s>>2]=gd(0)|0;gb(A|0)|0;cd(c[A>>2]|0);Ub(n,u)|0;A=u+8|0;C=u+1|0;je(c[x>>2]|0,(a[u>>0]&1)==0?C:c[A>>2]|0)|0;il(n,o)|0;B=c[o>>2]|0;E=Fc(x)|0;D=Fc(x)|0;Je(E,D,B,c[l>>2]|0)|0;Ub(n,u)|0;je(c[x>>2]|0,(a[u>>0]&1)==0?C:c[A>>2]|0)|0;il(n,o)|0;A=c[o>>2]|0;C=Fc(x)|0;B=Fc(x)|0;Je(C,B,A,c[m>>2]|0)|0;zc(q,t);zc(q,s);yc(f,q,l,t);if(c[z>>2]|0)sc();Oe(c[f>>2]|0,c[r>>2]|0);Rb(f);c[o>>2]=ff(r,x)|0;E=pc(Vc(p,x)|0,19716,1)|0;pc(vl(E,c[o>>2]|0)|0,19716,1)|0;yc(g,q,l,s);if(c[b>>2]|0)sc();Oe(c[g>>2]|0,c[v>>2]|0);Rb(g);c[o>>2]=ff(v,x)|0;E=pc(Vc(p,x)|0,19716,1)|0;pc(vl(E,c[o>>2]|0)|0,19716,1)|0;yc(h,q,m,s);if(!(c[d>>2]|0)){Oe(c[h>>2]|0,c[w>>2]|0);Rb(h);c[o>>2]=ff(w,x)|0;D=pc(Vc(p,x)|0,19716,1)|0;D=vl(D,c[o>>2]|0)|0;c[e>>2]=xk(D+(c[(c[D>>2]|0)+-12>>2]|0)|0)|0;E=Qp(e,10868)|0;E=Db[c[(c[E>>2]|0)+28>>2]&31](E,10)|0;Op(e);wl(D,E)|0;hl(D)|0;Vc(p,t)|0;rc(j,k);D=(a[j>>0]&1)==0?j+1|0:c[j+8>>2]|0;E=mj((Xi(D)|0)+1|0)|0;Wi(E,D)|0;Zj(j);ce(c[s>>2]|0);ce(c[t>>2]|0);ce(c[x>>2]|0);Rb(w);Rb(v);Rb(r);Rb(m);Rb(l);Zj(u);Vb(n);Sb(p);vc(q);i=y;return E|0}else sc();return 0}function Ub(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;m=n+4|0;g=n;gl(m,e,0);if(!(a[m>>0]|0)){f=c[(c[e>>2]|0)+-12>>2]|0;sk(e+f|0,c[e+(f+16)>>2]|4);i=n;return e|0}if(!(a[f>>0]&1)){a[f+1>>0]=0;a[f>>0]=0}else{a[c[f+8>>2]>>0]=0;c[f+4>>2]=0}h=c[(c[e>>2]|0)+-12>>2]|0;m=c[e+(h+12)>>2]|0;m=(m|0)<1?2147483647:m;c[g>>2]=xk(e+h|0)|0;h=Qp(g,10868)|0;Op(g);a:do if((m|0)>0){l=h+8|0;g=0;while(1){h=c[e+((c[(c[e>>2]|0)+-12>>2]|0)+24)>>2]|0;j=c[h+12>>2]|0;if((j|0)==(c[h+16>>2]|0)){h=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;if((h|0)==-1){h=2;break a}}else h=d[j>>0]|0;j=h&255;if(j<<24>>24>-1?(b[(c[l>>2]|0)+(h<<24>>24<<1)>>1]&8192)!=0:0){h=0;break a}ek(f,j);k=c[e+((c[(c[e>>2]|0)+-12>>2]|0)+24)>>2]|0;g=g+1|0;h=k+12|0;j=c[h>>2]|0;if((j|0)==(c[k+16>>2]|0))xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;else c[h>>2]=j+1;if((g|0)>=(m|0)){h=0;break}}}else{g=0;h=0}while(0);c[e+((c[(c[e>>2]|0)+-12>>2]|0)+12)>>2]=0;f=c[(c[e>>2]|0)+-12>>2]|0;sk(e+f|0,c[e+(f+16)>>2]|((g|0)==0?h|4:h));i=n;return e|0}function Vb(a){a=a|0;var b=0,d=0;c[a>>2]=2356;b=a+60|0;c[b>>2]=2376;d=a+8|0;c[d>>2]=2288;Zj(a+40|0);zk(d);tk(b);return}function Wb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;C=i;i=i+1168|0;l=C+1020|0;v=C+512|0;u=C+376|0;e=C+364|0;x=C+224|0;g=C+212|0;y=C+200|0;s=C+184|0;p=C+168|0;q=C+152|0;r=C+136|0;w=C+120|0;z=C+104|0;A=C+88|0;B=C+84|0;t=C+80|0;h=C+64|0;j=C+48|0;k=C+32|0;n=C+16|0;o=C;uc(v,128,0);c[(Xc()|0)+564>>2]=64;m=u+4|0;c[u>>2]=2252;c[u+56>>2]=2272;yk(u+56|0,m);c[u+128>>2]=0;c[u+132>>2]=-1;c[u>>2]=2196;c[u+56>>2]=2216;Bk(m);c[m>>2]=2288;f=u+36|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[u+52>>2]=16;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;oc(m,l);Zj(l);Xj(e,b,Xi(b)|0);b=l+8|0;c[l>>2]=2412;c[l+60>>2]=2432;c[l+4>>2]=0;yk(l+60|0,b);c[l+132>>2]=0;c[l+136>>2]=-1;c[l>>2]=2356;c[l+60>>2]=2376;Bk(b);c[b>>2]=2288;f=l+40|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[l+56>>2]=8;oc(b,e);Zj(e);Xj(g,d,Xi(d)|0);b=x+8|0;c[x>>2]=2412;c[x+60>>2]=2432;c[x+4>>2]=0;yk(x+60|0,b);c[x+132>>2]=0;c[x+136>>2]=-1;c[x>>2]=2356;c[x+60>>2]=2376;Bk(b);c[b>>2]=2288;d=x+40|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[x+56>>2]=8;oc(b,g);Zj(g);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=Jd(1)|0;c[s+4>>2]=b;c[s>>2]=Id(b,0)|0;c[s+8>>2]=0;c[s+12>>2]=0;b=Jd(1)|0;c[p+4>>2]=b;c[p>>2]=Id(b,0)|0;b=p+8|0;c[b>>2]=0;c[p+12>>2]=0;d=Jd(1)|0;c[q+4>>2]=d;c[q>>2]=Id(d,0)|0;d=q+8|0;c[d>>2]=0;c[q+12>>2]=0;g=Jd(1)|0;c[r+4>>2]=g;c[r>>2]=Id(g,0)|0;g=r+8|0;c[g>>2]=0;c[r+12>>2]=0;e=Jd(1)|0;c[w+4>>2]=e;c[w>>2]=Id(e,0)|0;c[w+8>>2]=0;c[w+12>>2]=0;e=Jd(1)|0;c[z+4>>2]=e;c[z>>2]=Id(e,0)|0;c[z+8>>2]=0;c[z+12>>2]=0;e=Jd(1)|0;c[A+4>>2]=e;c[A>>2]=Id(e,0)|0;c[A+8>>2]=0;c[A+12>>2]=0;c[B>>2]=gd(0)|0;Ub(l,y)|0;e=y+8|0;f=y+1|0;je(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;il(l,t)|0;D=c[t>>2]|0;E=Fc(B)|0;F=Fc(B)|0;Je(E,F,D,c[s>>2]|0)|0;Ub(x,y)|0;je(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;il(x,t)|0;D=c[t>>2]|0;F=Fc(B)|0;E=Fc(B)|0;Je(F,E,D,c[p>>2]|0)|0;Ub(x,y)|0;je(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;il(x,t)|0;D=c[t>>2]|0;E=Fc(B)|0;F=Fc(B)|0;Je(E,F,D,c[q>>2]|0)|0;Ub(x,y)|0;je(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;il(x,t)|0;D=c[t>>2]|0;F=Fc(B)|0;E=Fc(B)|0;Je(F,E,D,c[r>>2]|0)|0;while(1){F=Ub(x,y)|0;if(c[F+((c[(c[F>>2]|0)+-12>>2]|0)+16)>>2]&5){b=10;break}je(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;il(x,t)|0;F=c[t>>2]|0;D=Fc(B)|0;E=Fc(B)|0;Je(D,E,F,c[w>>2]|0)|0;Ub(x,y)|0;je(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;il(x,t)|0;F=c[t>>2]|0;E=Fc(B)|0;D=Fc(B)|0;Je(E,D,F,c[z>>2]|0)|0;Ub(x,y)|0;je(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;il(x,t)|0;F=c[t>>2]|0;D=Fc(B)|0;E=Fc(B)|0;Je(D,E,F,c[A>>2]|0)|0;Bc(h,p,w);if(c[b>>2]|0){b=5;break}Oe(c[h>>2]|0,c[p>>2]|0);Rb(h);Bc(j,q,z);if(c[d>>2]|0){b=7;break}Oe(c[j>>2]|0,c[q>>2]|0);Rb(j);Bc(k,r,A);if(c[g>>2]|0){b=9;break}Oe(c[k>>2]|0,c[r>>2]|0);Rb(k)}if((b|0)==5)sc();else if((b|0)==7)sc();else if((b|0)==9)sc();else if((b|0)==10){Bc(n,r,s);if(!(c[g>>2]|0)){Oe(c[n>>2]|0,c[r>>2]|0);Rb(n);c[t>>2]=ff(p,B)|0;E=pc(Vc(u,B)|0,19716,1)|0;pc(vl(E,c[t>>2]|0)|0,19716,1)|0;c[t>>2]=ff(q,B)|0;E=pc(Vc(u,B)|0,19716,1)|0;pc(vl(E,c[t>>2]|0)|0,19716,1)|0;c[t>>2]=ff(r,B)|0;E=pc(Vc(u,B)|0,19716,1)|0;vl(E,c[t>>2]|0)|0;rc(o,m);E=(a[o>>0]&1)==0?o+1|0:c[o+8>>2]|0;F=mj((Xi(E)|0)+1|0)|0;Wi(F,E)|0;Zj(o);ce(c[B>>2]|0);Rb(A);Rb(z);Rb(w);Rb(r);Rb(q);Rb(p);Rb(s);Zj(y);Vb(x);Vb(l);Sb(u);vc(v);i=C;return F|0}else sc()}return 0}function Xb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;B=i;i=i+1136|0;m=B+996|0;t=B+488|0;s=B+352|0;g=B+340|0;v=B+200|0;E=B+188|0;x=B+176|0;r=B+160|0;u=B+144|0;y=B+128|0;z=B+112|0;p=B+96|0;q=B+80|0;A=B+76|0;w=B+72|0;l=B+68|0;C=B+64|0;h=B+48|0;j=B+32|0;k=B+16|0;o=B;uc(t,128,0);c[(Xc()|0)+564>>2]=64;n=s+4|0;c[s>>2]=2252;c[s+56>>2]=2272;yk(s+56|0,n);c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=2196;c[s+56>>2]=2216;Bk(n);c[n>>2]=2288;D=s+36|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;c[D+12>>2]=0;c[s+52>>2]=16;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;oc(n,m);Zj(m);Xj(g,b,Xi(b)|0);b=m+8|0;c[m>>2]=2412;c[m+60>>2]=2432;c[m+4>>2]=0;yk(m+60|0,b);c[m+132>>2]=0;c[m+136>>2]=-1;c[m>>2]=2356;c[m+60>>2]=2376;Bk(b);c[b>>2]=2288;D=m+40|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;c[D+12>>2]=0;c[m+56>>2]=8;oc(b,g);Zj(g);Xj(E,d,Xi(d)|0);g=v+8|0;c[v>>2]=2412;c[v+60>>2]=2432;c[v+4>>2]=0;yk(v+60|0,g);c[v+132>>2]=0;c[v+136>>2]=-1;c[v>>2]=2356;c[v+60>>2]=2376;Bk(g);c[g>>2]=2288;b=v+40|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[v+56>>2]=8;oc(g,E);Zj(E);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;E=Jd(1)|0;c[r+4>>2]=E;c[r>>2]=Id(E,0)|0;c[r+8>>2]=0;c[r+12>>2]=0;E=Jd(1)|0;c[u+4>>2]=E;c[u>>2]=Id(E,0)|0;c[u+8>>2]=0;c[u+12>>2]=0;E=Jd(1)|0;c[y+4>>2]=E;E=Id(E,0)|0;c[y>>2]=E;c[y+8>>2]=0;c[y+12>>2]=0;g=Jd(1)|0;c[z+4>>2]=g;g=Id(g,0)|0;c[z>>2]=g;c[z+8>>2]=0;c[z+12>>2]=0;b=Jd(1)|0;c[p+4>>2]=b;c[p>>2]=Id(b,0)|0;b=p+8|0;c[b>>2]=0;c[p+12>>2]=0;d=Jd(1)|0;c[q+4>>2]=d;c[q>>2]=Id(d,0)|0;d=q+8|0;c[d>>2]=0;c[q+12>>2]=0;c[A>>2]=gd(0)|0;c[w>>2]=gd(0)|0;gb(C|0)|0;cd(c[C>>2]|0);Ub(m,x)|0;C=x+8|0;D=x+1|0;je(c[A>>2]|0,(a[x>>0]&1)==0?D:c[C>>2]|0)|0;il(m,l)|0;F=c[l>>2]|0;G=Fc(A)|0;H=Fc(A)|0;Je(G,H,F,c[r>>2]|0)|0;Ub(v,x)|0;je(c[A>>2]|0,(a[x>>0]&1)==0?D:c[C>>2]|0)|0;il(v,l)|0;F=c[l>>2]|0;H=Fc(A)|0;G=Fc(A)|0;Je(H,G,F,c[u>>2]|0)|0;Ub(v,x)|0;je(c[A>>2]|0,(a[x>>0]&1)==0?D:c[C>>2]|0)|0;il(v,l)|0;F=c[l>>2]|0;G=Fc(A)|0;Je(G,Fc(A)|0,F,E)|0;Ub(v,x)|0;je(c[A>>2]|0,(a[x>>0]&1)==0?D:c[C>>2]|0)|0;il(v,l)|0;C=c[l>>2]|0;D=Fc(A)|0;Je(D,Fc(A)|0,C,g)|0;if((f|0)<1){rc(o,n);F=a[o>>0]|0;F=F&1;F=F<<24>>24==0;G=o+8|0;G=c[G>>2]|0;H=o+1|0;G=F?H:G;H=Xi(G)|0;H=H+1|0;H=mj(H)|0;Wi(H,G)|0;Zj(o);G=c[w>>2]|0;ce(G);G=c[A>>2]|0;ce(G);Rb(q);Rb(p);Rb(z);Rb(y);Rb(u);Rb(r);Zj(x);Vb(v);Vb(m);Sb(s);vc(t);i=B;return H|0}g=1;while(1){zc(t,w);yc(h,t,r,w);if(c[b>>2]|0){b=5;break}Oe(c[h>>2]|0,c[p>>2]|0);Rb(h);c[l>>2]=ff(p,A)|0;H=pc(Vc(s,A)|0,19716,1)|0;pc(vl(H,c[l>>2]|0)|0,19716,1)|0;yc(j,t,u,w);if(c[d>>2]|0){b=7;break}Oe(c[j>>2]|0,c[q>>2]|0);Rb(j);if((g|0)==(e|0)){Bc(k,q,r);if(c[d>>2]|0){b=10;break}Oe(c[k>>2]|0,c[q>>2]|0);Rb(k)}c[l>>2]=ff(q,A)|0;H=pc(Vc(s,A)|0,19716,1)|0;vl(H,c[l>>2]|0)|0;if((g|0)>=(f|0)){b=13;break}pc(s,19716,1)|0;g=g+1|0}if((b|0)==5)sc();else if((b|0)==7)sc();else if((b|0)==10)sc();else if((b|0)==13){rc(o,n);F=a[o>>0]|0;F=F&1;F=F<<24>>24==0;G=o+8|0;G=c[G>>2]|0;H=o+1|0;G=F?H:G;H=Xi(G)|0;H=H+1|0;H=mj(H)|0;Wi(H,G)|0;Zj(o);G=c[w>>2]|0;ce(G);G=c[A>>2]|0;ce(G);Rb(q);Rb(p);Rb(z);Rb(y);Rb(u);Rb(r);Zj(x);Vb(v);Vb(m);Sb(s);vc(t);i=B;return H|0}return 0}function Yb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+896|0;n=x+756|0;u=x+248|0;t=x+112|0;m=x+100|0;v=x+88|0;q=x+72|0;r=x+56|0;w=x+52|0;s=x+48|0;k=x+32|0;l=x+16|0;o=x;uc(u,128,0);c[(Xc()|0)+564>>2]=64;p=t+4|0;c[t>>2]=2252;c[t+56>>2]=2272;yk(t+56|0,p);c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=2196;c[t+56>>2]=2216;Bk(p);c[p>>2]=2288;g=t+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[t+52>>2]=16;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;oc(p,n);Zj(n);Xj(m,b,Xi(b)|0);b=n+8|0;c[n>>2]=2412;c[n+60>>2]=2432;c[n+4>>2]=0;yk(n+60|0,b);c[n+132>>2]=0;c[n+136>>2]=-1;c[n>>2]=2356;c[n+60>>2]=2376;Bk(b);c[b>>2]=2288;g=n+40|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[n+56>>2]=8;oc(b,m);Zj(m);c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;b=Jd(1)|0;c[q+4>>2]=b;c[q>>2]=Id(b,0)|0;c[q+8>>2]=0;c[q+12>>2]=0;b=Jd(1)|0;c[r+4>>2]=b;c[r>>2]=Id(b,0)|0;c[r+8>>2]=0;c[r+12>>2]=0;b=d<<4;b=d>>>0>268435455|b>>>0>4294967291?-1:b+4|0;m=qf(b)|0;c[m>>2]=d;m=m+4|0;g=(d|0)==0;if(!g){e=m+(d<<4)|0;f=m;do{j=Jd(1)|0;c[f+4>>2]=j;c[f>>2]=Id(j,0)|0;c[f+8>>2]=0;c[f+12>>2]=0;f=f+16|0}while((f|0)!=(e|0))}j=qf(b)|0;c[j>>2]=d;j=j+4|0;if(!g){b=j+(d<<4)|0;e=j;do{h=Jd(1)|0;c[e+4>>2]=h;c[e>>2]=Id(h,0)|0;c[e+8>>2]=0;c[e+12>>2]=0;e=e+16|0}while((e|0)!=(b|0))}c[w>>2]=gd(0)|0;h=(d|0)>0;f=v+8|0;g=v+1|0;if(h){b=0;do{Ub(n,v)|0;je(c[w>>2]|0,(a[v>>0]&1)==0?g:c[f>>2]|0)|0;il(n,s)|0;e=c[s>>2]|0;y=Fc(w)|0;z=Fc(w)|0;Je(y,z,e,c[m+(b<<4)>>2]|0)|0;Ub(n,v)|0;je(c[w>>2]|0,(a[v>>0]&1)==0?g:c[f>>2]|0)|0;il(n,s)|0;e=c[s>>2]|0;z=Fc(w)|0;y=Fc(w)|0;Je(z,y,e,c[j+(b<<4)>>2]|0)|0;b=b+1|0}while((b|0)<(d|0))}a:while(1){z=Ub(n,v)|0;if(c[z+((c[(c[z>>2]|0)+-12>>2]|0)+16)>>2]&5){b=12;break}if(h)b=0;else continue;while(1){if((b|0)>0)Ub(n,v)|0;je(c[w>>2]|0,(a[v>>0]&1)==0?g:c[f>>2]|0)|0;il(n,s)|0;e=c[s>>2]|0;z=Fc(w)|0;y=Fc(w)|0;Je(z,y,e,c[q>>2]|0)|0;Ub(n,v)|0;je(c[w>>2]|0,(a[v>>0]&1)==0?g:c[f>>2]|0)|0;il(n,s)|0;e=c[s>>2]|0;y=Fc(w)|0;z=Fc(w)|0;Je(y,z,e,c[r>>2]|0)|0;e=m+(b<<4)|0;Bc(k,e,q);if(c[m+(b<<4)+8>>2]|0){b=18;break a}Oe(c[k>>2]|0,c[e>>2]|0);Rb(k);e=j+(b<<4)|0;Bc(l,e,r);if(c[j+(b<<4)+8>>2]|0){b=20;break a}Oe(c[l>>2]|0,c[e>>2]|0);Rb(l);b=b+1|0;if((b|0)>=(d|0))continue a}}if((b|0)==12){if(!h){rc(o,p);d=a[o>>0]|0;d=d&1;d=d<<24>>24==0;y=o+8|0;y=c[y>>2]|0;z=o+1|0;y=d?z:y;z=Xi(y)|0;z=z+1|0;z=mj(z)|0;Wi(z,y)|0;Zj(o);y=c[w>>2]|0;ce(y);Rb(r);Rb(q);Zj(v);Vb(n);Sb(t);vc(u);i=x;return z|0}b=d+-1|0;e=0;do{c[s>>2]=ff(m+(e<<4)|0,w)|0;z=pc(Vc(t,w)|0,19716,1)|0;pc(vl(z,c[s>>2]|0)|0,19716,1)|0;c[s>>2]=ff(j+(e<<4)|0,w)|0;z=pc(Vc(t,w)|0,19716,1)|0;vl(z,c[s>>2]|0)|0;if((e|0)<(b|0))pc(t,19716,1)|0;e=e+1|0}while((e|0)<(d|0));rc(o,p);d=a[o>>0]|0;d=d&1;d=d<<24>>24==0;y=o+8|0;y=c[y>>2]|0;z=o+1|0;y=d?z:y;z=Xi(y)|0;z=z+1|0;z=mj(z)|0;Wi(z,y)|0;Zj(o);y=c[w>>2]|0;ce(y);Rb(r);Rb(q);Zj(v);Vb(n);Sb(t);vc(u);i=x;return z|0}else if((b|0)==18)sc();else if((b|0)==20)sc();return 0}function Zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+944|0;m=w+792|0;u=w+780|0;r=w+272|0;q=w+136|0;e=w+124|0;t=w+112|0;o=w+96|0;p=w+80|0;v=w+72|0;s=w+68|0;l=w+64|0;h=w+48|0;j=w+32|0;k=w+16|0;n=w;Xj(u,b,Xi(b)|0);uc(r,128,0);c[(Xc()|0)+564>>2]=64;g=q+4|0;c[q>>2]=2252;c[q+56>>2]=2272;yk(q+56|0,g);c[q+128>>2]=0;c[q+132>>2]=-1;c[q>>2]=2196;c[q+56>>2]=2216;Bk(g);c[g>>2]=2288;b=q+36|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[q+52>>2]=16;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;oc(g,m);Zj(m);Xj(e,d,Xi(d)|0);b=m+8|0;c[m>>2]=2412;c[m+60>>2]=2432;c[m+4>>2]=0;yk(m+60|0,b);c[m+132>>2]=0;c[m+136>>2]=-1;c[m>>2]=2356;c[m+60>>2]=2376;Bk(b);c[b>>2]=2288;d=m+40|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[m+56>>2]=8;oc(b,e);Zj(e);c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;b=Jd(1)|0;c[o+4>>2]=b;c[o>>2]=Id(b,0)|0;b=o+8|0;c[b>>2]=0;c[o+12>>2]=0;d=Jd(1)|0;c[p+4>>2]=d;c[p>>2]=Id(d,0)|0;d=p+8|0;c[d>>2]=0;c[p+12>>2]=0;c[v>>2]=gd(0)|0;e=gd(0)|0;c[s>>2]=e;je(e,(a[u>>0]&1)==0?u+1|0:c[u+8>>2]|0)|0;e=t+8|0;f=t+1|0;while(1){x=Ub(m,t)|0;if(c[x+((c[(c[x>>2]|0)+-12>>2]|0)+16)>>2]&5){b=10;break}je(c[v>>2]|0,(a[t>>0]&1)==0?f:c[e>>2]|0)|0;il(m,l)|0;x=c[l>>2]|0;y=Fc(v)|0;z=Fc(v)|0;Je(y,z,x,c[o>>2]|0)|0;Ub(m,t)|0;je(c[v>>2]|0,(a[t>>0]&1)==0?f:c[e>>2]|0)|0;il(m,l)|0;x=c[l>>2]|0;z=Fc(v)|0;y=Fc(v)|0;Je(z,y,x,c[p>>2]|0)|0;yc(j,r,o,s);Cc(h,j);if(c[b>>2]|0){b=5;break}Oe(c[h>>2]|0,c[o>>2]|0);Rb(h);Rb(j);Bc(k,p,o);if(c[d>>2]|0){b=7;break}Oe(c[k>>2]|0,c[p>>2]|0);Rb(k);if(!(gf(p)|0)){c[l>>2]=ff(p,v)|0;z=pc(Vc(q,v)|0,19716,1)|0;pc(vl(z,c[l>>2]|0)|0,19716,1)|0;continue}else{pc(q,15228,4)|0;continue}}if((b|0)==5)sc();else if((b|0)==7)sc();else if((b|0)==10){rc(n,g);y=(a[n>>0]&1)==0?n+1|0:c[n+8>>2]|0;z=mj((Xi(y)|0)+1|0)|0;Wi(z,y)|0;Zj(n);ce(c[s>>2]|0);ce(c[v>>2]|0);Rb(p);Rb(o);Zj(t);Vb(m);Sb(q);vc(r);Zj(u);i=w;return z|0}return 0}function _b(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=i;i=i+1120|0;r=C+972|0;y=C+464|0;x=C+328|0;q=C+316|0;v=C+176|0;p=C+164|0;z=C+152|0;w=C+136|0;A=C+120|0;B=C+116|0;o=C+112|0;f=C+96|0;g=C+80|0;l=C+64|0;m=C+48|0;n=C+32|0;t=C+16|0;u=C;uc(y,128,0);c[(Xc()|0)+564>>2]=64;s=x+4|0;c[x>>2]=2252;c[x+56>>2]=2272;yk(x+56|0,s);c[x+128>>2]=0;c[x+132>>2]=-1;c[x>>2]=2196;c[x+56>>2]=2216;Bk(s);c[s>>2]=2288;k=x+36|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[x+52>>2]=16;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;oc(s,r);Zj(r);Xj(q,b,Xi(b)|0);k=r+8|0;c[r>>2]=2412;c[r+60>>2]=2432;c[r+4>>2]=0;yk(r+60|0,k);c[r+132>>2]=0;c[r+136>>2]=-1;c[r>>2]=2356;c[r+60>>2]=2376;Bk(k);c[k>>2]=2288;j=r+40|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[r+56>>2]=8;oc(k,q);Zj(q);Xj(p,d,Xi(d)|0);q=v+8|0;c[v>>2]=2412;c[v+60>>2]=2432;c[v+4>>2]=0;yk(v+60|0,q);c[v+132>>2]=0;c[v+136>>2]=-1;c[v>>2]=2356;c[v+60>>2]=2376;Bk(q);c[q>>2]=2288;k=v+40|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[v+56>>2]=8;oc(q,p);Zj(p);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;p=Jd(1)|0;c[w+4>>2]=p;c[w>>2]=Id(p,0)|0;c[w+8>>2]=0;c[w+12>>2]=0;p=Jd(1)|0;c[A+4>>2]=p;c[A>>2]=Id(p,0)|0;p=A+8|0;c[p>>2]=0;c[A+12>>2]=0;q=e<<4;q=qf(e>>>0>268435455|q>>>0>4294967291?-1:q+4|0)|0;c[q>>2]=e;q=q+4|0;if(e){d=q+(e<<4)|0;b=q;do{k=Jd(1)|0;c[b+4>>2]=k;c[b>>2]=Id(k,0)|0;c[b+8>>2]=0;c[b+12>>2]=0;b=b+16|0}while((b|0)!=(d|0))}c[B>>2]=gd(0)|0;Ub(r,z)|0;h=z+8|0;j=z+1|0;je(c[B>>2]|0,(a[z>>0]&1)==0?j:c[h>>2]|0)|0;il(r,o)|0;k=c[o>>2]|0;d=Fc(B)|0;b=Fc(B)|0;Je(d,b,k,c[w>>2]|0)|0;k=(e|0)>0;a:do if(k){d=0;while(1){Ub(v,z)|0;il(v,o)|0;if((c[o>>2]|0)==2){Cc(f,w);if(c[p>>2]|0){f=23;break}Oe(c[f>>2]|0,c[A>>2]|0);Rb(f);Bc(g,w,A);if(c[q+(d<<4)+8>>2]|0){f=25;break}Oe(c[g>>2]|0,c[q+(d<<4)>>2]|0);Rb(g)}else{je(c[B>>2]|0,(a[z>>0]&1)==0?j:c[h>>2]|0)|0;b=c[o>>2]|0;E=Fc(B)|0;D=Fc(B)|0;Je(E,D,b,c[q+(d<<4)>>2]|0)|0}d=d+1|0;if((d|0)>=(e|0)){f=6;break}}if((f|0)==6){if(!k){f=28;break}b:while(1){E=Ub(v,z)|0;if(!(c[E+((c[(c[E>>2]|0)+-12>>2]|0)+16)>>2]&5))d=0;else break a;while(1){if((d|0)>0)Ub(v,z)|0;il(v,o)|0;if((c[o>>2]|0)==2){Cc(l,w);if(c[p>>2]|0){f=13;break b}Oe(c[l>>2]|0,c[A>>2]|0);Rb(l);Bc(m,w,A);if(c[p>>2]|0){f=15;break b}Oe(c[m>>2]|0,c[A>>2]|0);Rb(m)}else{je(c[B>>2]|0,(a[z>>0]&1)==0?j:c[h>>2]|0)|0;E=c[o>>2]|0;g=Fc(B)|0;D=Fc(B)|0;Je(g,D,E,c[A>>2]|0)|0}b=q+(d<<4)|0;Bc(n,b,A);if(c[q+(d<<4)+8>>2]|0){f=18;break b}Oe(c[n>>2]|0,c[b>>2]|0);Rb(n);d=d+1|0;if((d|0)>=(e|0))continue b}}if((f|0)==13)sc();else if((f|0)==15)sc();else if((f|0)==18)sc()}else if((f|0)==23)sc();else if((f|0)==25)sc()}else f=28;while(0);if((f|0)==28)while(1){E=Ub(v,z)|0;if(!(c[E+((c[(c[E>>2]|0)+-12>>2]|0)+16)>>2]&5))f=28;else break}if(!k){rc(u,s);e=a[u>>0]|0;e=e&1;e=e<<24>>24==0;D=u+8|0;D=c[D>>2]|0;E=u+1|0;D=e?E:D;E=Xi(D)|0;E=E+1|0;E=mj(E)|0;Wi(E,D)|0;Zj(u);D=c[B>>2]|0;ce(D);Rb(A);Rb(w);Zj(z);Vb(v);Vb(r);Sb(x);vc(y);i=C;return E|0}f=e+-1|0;g=0;c:while(1){b=q+(g<<4)|0;d=0;do{E=gd(0)|0;fd(d,E);td(E,c[B>>2]|0);ce(E);yc(t,y,w,B);if(c[p>>2]|0){f=34;break c}Oe(c[t>>2]|0,c[A>>2]|0);Rb(t);if(Qe(c[A>>2]|0,c[b>>2]|0)|0)break;d=d+1|0}while((d|0)<1e5);vl(x,d)|0;if((g|0)<(f|0))pc(x,19716,1)|0;g=g+1|0;if((g|0)>=(e|0)){f=39;break}}if((f|0)==34)sc();else if((f|0)==39){rc(u,s);e=a[u>>0]|0;e=e&1;e=e<<24>>24==0;D=u+8|0;D=c[D>>2]|0;E=u+1|0;D=e?E:D;E=Xi(D)|0;E=E+1|0;E=mj(E)|0;Wi(E,D)|0;Zj(u);D=c[B>>2]|0;ce(D);Rb(A);Rb(w);Zj(z);Vb(v);Vb(r);Sb(x);vc(y);i=C;return E|0}return 0}function $b(b){b=b|0;var c=0,d=0,e=0,f=0;f=mj(Xi(b)|0)|0;Wi(f,b)|0;b=Xi(f)|0;if((b|0)>0)e=0;else return f|0;do{c=f+e|0;d=a[c>>0]|0;if((d+-97&255)<26)a[c>>0]=(d&255)+224;e=e+1|0}while((e|0)!=(b|0));return f|0}function ac(){var a=0,b=0,d=0;b=i;i=i+16|0;a=b+8|0;d=b;c[d>>2]=Pb(5349)|0;Gi(15233,d)|0;c[a>>2]=Xi(Pb(5349)|0)|0;Gi(15244,a)|0;a=Xb(15253,15347,1,3)|0;i=b;return a|0}function bc(a){a=a|0;Sb(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function cc(a){a=a|0;Sb(a);rf(a);return}function dc(a){a=a|0;a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;Sb(a);rf(a);return}function ec(a){a=a|0;c[a>>2]=2288;Zj(a+32|0);zk(a);return}function fc(a){a=a|0;c[a>>2]=2288;Zj(a+32|0);zk(a);rf(a);return}function gc(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=d+44|0;j=c[i>>2]|0;l=d+24|0;m=c[l>>2]|0;if(j>>>0>>0){c[i>>2]=m;j=m}k=j;i=h&24;if(!i){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((g|0)==1&(i|0)==24){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}a:do switch(g|0){case 0:{i=0;g=0;break}case 1:if(!(h&8)){g=m-(c[d+20>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}else{g=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}case 2:{i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;g=j-i|0;i=g;g=((g|0)<0)<<31>>31;break}default:{d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}while(0);g=rt(i|0,g|0,e|0,f|0)|0;e=D;if((e|0)>=0){i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;f=j-i|0;j=((f|0)<0)<<31>>31;if(!((j|0)<(e|0)|(j|0)==(e|0)&f>>>0>>0)){i=h&8;if(!((g|0)==0&(e|0)==0)){if((i|0)!=0?(c[d+12>>2]|0)==0:0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((h&16|0)!=0&(m|0)==0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}if(i){c[d+12>>2]=(c[d+8>>2]|0)+g;c[d+16>>2]=k}if(h&16)c[l>>2]=(c[d+20>>2]|0)+g;d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=g;c[d+4>>2]=e;return}}d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=d+8|0;qb[c[(c[b>>2]|0)+16>>2]&15](a,b,c[d>>2]|0,c[d+4>>2]|0,0,e);return}function ic(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+44|0;e=c[b>>2]|0;f=c[a+24>>2]|0;if(e>>>0>>0){c[b>>2]=f;e=f}if(!(c[a+48>>2]&8)){a=-1;return a|0}g=a+16|0;b=c[g>>2]|0;f=a+12|0;if(b>>>0>>0){f=c[f>>2]|0;c[g>>2]=e;b=e}else f=c[f>>2]|0;if(f>>>0>=b>>>0){a=-1;return a|0}a=d[f>>0]|0;return a|0}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+44|0;e=c[f>>2]|0;g=c[b+24>>2]|0;if(e>>>0>>0){c[f>>2]=g;e=g}j=b+8|0;f=c[j>>2]|0;k=b+12|0;h=c[k>>2]|0;i=f;if(f>>>0>=h>>>0){b=-1;return b|0}if((d|0)==-1){c[j>>2]=f;c[k>>2]=h+-1;c[b+16>>2]=e;b=0;return b|0}if(!(c[b+48>>2]&16)){g=d&255;f=h+-1|0;if(g<<24>>24!=(a[f>>0]|0)){b=-1;return b|0}}else{g=d&255;f=h+-1|0}c[j>>2]=i;c[k>>2]=f;c[b+16>>2]=e;a[f>>0]=g;b=d;return b|0}function kc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+16|0;o=t;if((d|0)==-1){b=0;i=t;return b|0}p=b+12|0;q=b+8|0;r=(c[p>>2]|0)-(c[q>>2]|0)|0;s=b+24|0;l=c[s>>2]|0;n=b+28|0;e=c[n>>2]|0;if((l|0)==(e|0)){k=b+48|0;if(!(c[k>>2]&16)){b=-1;i=t;return b|0}h=b+20|0;j=c[h>>2]|0;g=b+44|0;m=(c[g>>2]|0)-j|0;f=b+32|0;ek(f,0);if(!(a[f>>0]&1))e=10;else e=(c[f>>2]&-2)+-1|0;bk(f,e,0);e=a[f>>0]|0;if(!(e&1)){f=f+1|0;e=(e&255)>>>1}else{f=c[b+40>>2]|0;e=c[b+36>>2]|0}e=f+e|0;c[h>>2]=f;c[n>>2]=e;l=f+(l-j)|0;c[s>>2]=l;f=f+m|0;c[g>>2]=f;j=e}else{f=b+44|0;k=b+48|0;g=f;f=c[f>>2]|0;j=e}h=l+1|0;c[o>>2]=h;f=c[(h>>>0>>0?g:o)>>2]|0;c[g>>2]=f;if(c[k>>2]&8){e=b+32|0;if(!(a[e>>0]&1))e=e+1|0;else e=c[b+40>>2]|0;c[q>>2]=e;c[p>>2]=e+r;c[b+16>>2]=f}if((l|0)==(j|0)){b=Db[c[(c[b>>2]|0)+52>>2]&31](b,d&255)|0;i=t;return b|0}else{c[s>>2]=h;a[l>>0]=d;b=d&255;i=t;return b|0}return 0}function lc(a){a=a|0;Vb(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function mc(a){a=a|0;Vb(a);rf(a);return}function nc(a){a=a|0;a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;Vb(a);rf(a);return}function oc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+32|0;_j(i,d)|0;h=b+44|0;c[h>>2]=0;j=b+48|0;g=c[j>>2]|0;if(g&8){d=a[i>>0]|0;if(!(d&1)){d=((d&255)>>>1)+(i+1)|0;c[h>>2]=d;e=i+1|0;f=i+1|0}else{d=(c[b+40>>2]|0)+(c[b+36>>2]|0)|0;c[h>>2]=d;f=c[b+40>>2]|0;e=f}c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=d}if(!(g&16))return;d=a[i>>0]|0;if(!(d&1)){g=(d&255)>>>1;c[h>>2]=i+1+g;d=10;h=g}else{g=c[b+36>>2]|0;c[h>>2]=(c[b+40>>2]|0)+g;d=(c[i>>2]&-2)+-1|0;h=g}bk(i,d,0);d=a[i>>0]|0;if(!(d&1)){g=i+1|0;f=(d&255)>>>1;e=i+1|0}else{e=c[b+40>>2]|0;g=e;f=c[b+36>>2]|0}d=b+24|0;c[d>>2]=e;c[b+20>>2]=e;c[b+28>>2]=g+f;if(!(c[j>>2]&3))return;c[d>>2]=e+h;return}function pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;m=n+8|0;j=n;tl(m,b);if(!(a[m>>0]|0)){ul(m);i=n;return b|0}f=c[(c[b>>2]|0)+-12>>2]|0;c[j>>2]=c[b+(f+24)>>2];l=b+f|0;k=c[b+(f+4)>>2]|0;g=d+e|0;f=b+(f+76)|0;e=c[f>>2]|0;if((e|0)==-1){c[h>>2]=xk(l)|0;e=Qp(h,10868)|0;e=Db[c[(c[e>>2]|0)+28>>2]&31](e,32)|0;Op(h);e=e<<24>>24;c[f>>2]=e}c[h>>2]=c[j>>2];if(qc(h,d,(k&176|0)==32?g:d,g,l,e&255)|0){ul(m);i=n;return b|0}d=c[(c[b>>2]|0)+-12>>2]|0;sk(b+d|0,c[b+(d+16)>>2]|5);ul(m);i=n;return b|0}function qc(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+16|0;m=o;n=c[b>>2]|0;if(!n){b=0;i=o;return b|0}p=d;k=f-p|0;l=g+12|0;j=c[l>>2]|0;k=(j|0)>(k|0)?j-k|0:0;j=e;g=j-p|0;if((g|0)>0?(pb[c[(c[n>>2]|0)+48>>2]&31](n,d,g)|0)!=(g|0):0){c[b>>2]=0;p=0;i=o;return p|0}do if((k|0)>0){Yj(m,k,h);if((pb[c[(c[n>>2]|0)+48>>2]&31](n,(a[m>>0]&1)==0?m+1|0:c[m+8>>2]|0,k)|0)==(k|0)){Zj(m);break}c[b>>2]=0;Zj(m);p=0;i=o;return p|0}while(0);f=f-j|0;if((f|0)>0?(pb[c[(c[n>>2]|0)+48>>2]&31](n,e,f)|0)!=(f|0):0){c[b>>2]=0;p=0;i=o;return p|0}c[l>>2]=0;p=n;i=o;return p|0}function rc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+48>>2]|0;if(e&16){e=d+44|0;f=c[e>>2]|0;g=c[d+24>>2]|0;if(f>>>0>>0)c[e>>2]=g;else g=f;f=c[d+20>>2]|0;h=g-f|0;if(h>>>0>4294967279)nf(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{d=h+16&-16;e=pf(d)|0;c[b+8>>2]=e;c[b>>2]=d|1;c[b+4>>2]=h}if((f|0)!=(g|0)){d=e;while(1){a[d>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(g|0))break;else d=d+1|0}e=e+h|0}a[e>>0]=0;return}if(!(e&8)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}f=c[d+8>>2]|0;d=c[d+16>>2]|0;h=d-f|0;if(h>>>0>4294967279)nf(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{g=h+16&-16;e=pf(g)|0;c[b+8>>2]=e;c[b>>2]=g|1;c[b+4>>2]=h}if((f|0)!=(d|0)){g=e;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(d|0))break;else g=g+1|0}e=e+h|0}a[e>>0]=0;return}function sc(){var a=0,b=0,d=0;d=i;i=i+16|0;a=pc(8260,15694,36)|0;c[d>>2]=xk(a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;b=Qp(d,10868)|0;b=Db[c[(c[b>>2]|0)+28>>2]&31](b,10)|0;Op(d);wl(a,b)|0;hl(a)|0;kb(0)}function tc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;m=n+40|0;b=n+36|0;d=n+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+8|0;k=n+4|0;l=n;c[m>>2]=Uc()|0;switch(c[(Xc()|0)+716>>2]|0){case 5:{h=gd(0)|0;c[b>>2]=h;fd(0,h);h=gd(0)|0;c[d>>2]=h;fd(1,h);fe(Fc(b)|0,Fc(d)|0,a);ce(c[d>>2]|0);ce(c[b>>2]|0);break}case 3:{h=gd(0)|0;c[e>>2]=h;fd(1,h);h=gd(0)|0;c[f>>2]=h;fd(1,h);fe(Fc(e)|0,Fc(f)|0,a);ce(c[f>>2]|0);ce(c[e>>2]|0);break}case 7:{f=gd(0)|0;c[g>>2]=f;fd(2,f);f=gd(0)|0;c[h>>2]=f;fd(1,f);fe(Fc(g)|0,Fc(h)|0,a);ce(c[h>>2]|0);ce(c[g>>2]|0);break}default:{}}c[l>>2]=Jc(m,1)|0;c[k>>2]=Nc(l,6)|0;Ec(j,a,k);ge(j,a);ce(c[j>>2]|0);ce(c[j+4>>2]|0);ce(c[k>>2]|0);ce(c[l>>2]|0);ce(c[m>>2]|0);i=n;return}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0;cb=i;i=i+288|0;e=cb+276|0;ab=cb+272|0;bb=cb+268|0;P=cb+264|0;_=cb+260|0;ja=cb+256|0;ua=cb+252|0;Fa=cb+248|0;Qa=cb+244|0;Za=cb+240|0;_a=cb+236|0;$a=cb+232|0;Q=cb+228|0;R=cb+224|0;S=cb+220|0;T=cb+216|0;U=cb+212|0;V=cb+208|0;W=cb+204|0;X=cb+200|0;Y=cb+196|0;Z=cb+192|0;$=cb+188|0;aa=cb+184|0;ba=cb+180|0;ca=cb+176|0;da=cb+172|0;ea=cb+168|0;fa=cb+164|0;ga=cb+160|0;ha=cb+156|0;ia=cb+152|0;ka=cb+148|0;la=cb+144|0;ma=cb+140|0;na=cb+136|0;oa=cb+132|0;pa=cb+128|0;qa=cb+124|0;ra=cb+120|0;sa=cb+116|0;ta=cb+112|0;va=cb+108|0;wa=cb+104|0;xa=cb+100|0;ya=cb+96|0;za=cb+92|0;Aa=cb+88|0;Ba=cb+84|0;Ca=cb+80|0;Da=cb+76|0;Ea=cb+72|0;Ga=cb+68|0;Ha=cb+64|0;Ia=cb+60|0;Ja=cb+56|0;Ka=cb+52|0;La=cb+48|0;Ma=cb+44|0;Na=cb+40|0;Oa=cb+36|0;Pa=cb+32|0;Ra=cb+28|0;Sa=cb+24|0;Ta=cb+20|0;Ua=cb+16|0;Va=cb+12|0;Wa=cb+8|0;Xa=cb+4|0;Ya=cb;switch(b|0){case 128:case 192:break;default:{O=pc(8260,15731,27)|0;c[e>>2]=xk(O+(c[(c[O>>2]|0)+-12>>2]|0)|0)|0;N=Qp(e,10868)|0;N=Db[c[(c[N>>2]|0)+28>>2]&31](N,10)|0;Op(e);wl(O,N)|0;hl(O)|0;kb(0)}}I=(b|0)==192;J=jd(I?24:8,0)|0;c[J+564>>2]=16;db=pf(4)|0;c[db>>2]=gd(0)|0;c[a>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;K=a+4|0;c[K>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;L=a+8|0;c[L>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;M=a+12|0;c[M>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;N=a+16|0;c[N>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;O=a+20|0;c[O>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;e=a+24|0;c[e>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;f=a+92|0;c[f>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;g=a+28|0;c[g>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;h=a+32|0;c[h>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;j=a+36|0;c[j>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;k=a+40|0;c[k>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;l=a+96|0;c[l>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;m=a+44|0;c[m>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;n=a+48|0;c[n>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;o=a+52|0;c[o>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;p=a+56|0;c[p>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;q=a+100|0;c[q>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;r=a+60|0;c[r>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;s=a+64|0;c[s>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;t=a+68|0;c[t>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;u=a+72|0;c[u>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;v=a+104|0;c[v>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;w=a+76|0;c[w>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;x=a+80|0;c[x>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;y=a+84|0;c[y>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;z=a+88|0;c[z>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;A=a+124|0;c[A>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;B=a+108|0;c[B>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;C=a+112|0;c[C>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;D=a+128|0;c[D>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;E=a+116|0;c[E>>2]=db;db=pf(4)|0;c[db>>2]=gd(0)|0;F=a+120|0;c[F>>2]=db;db=pf(4)|0;G=gd(0)|0;c[db>>2]=G;ed(G);G=a+132|0;c[G>>2]=db;db=pf(8)|0;c[db>>2]=gd(0)|0;c[db+4>>2]=gd(0)|0;he(db);H=a+136|0;c[H>>2]=db;db=gd(0)|0;c[ab>>2]=db;fd(0,db);je(c[c[a>>2]>>2]|0,15759)|0;if((b|0)==128)je(c[c[K>>2]>>2]|0,15761)|0;if(I)je(c[c[K>>2]>>2]|0,15779)|0;c[a+140>>2]=b;db=c[K>>2]|0;b=gd(0)|0;c[bb>>2]=b;td(c[db>>2]|0,b);b=c[L>>2]|0;c[Fa>>2]=Pc(bb,4)|0;c[ua>>2]=Lc(36,Fa)|0;c[Za>>2]=Pc(bb,3)|0;c[Qa>>2]=Lc(36,Za)|0;c[ja>>2]=Ic(ua,Qa)|0;c[$a>>2]=Lc(24,bb)|0;c[_a>>2]=Mc($a,bb)|0;c[_>>2]=Ic(ja,_a)|0;c[Q>>2]=Lc(6,bb)|0;c[P>>2]=Ic(_,Q)|0;db=Hc(P,1)|0;td(db,c[b>>2]|0);ce(db);ce(c[P>>2]|0);ce(c[Q>>2]|0);ce(c[_>>2]|0);ce(c[_a>>2]|0);ce(c[$a>>2]|0);ce(c[ja>>2]|0);ce(c[Qa>>2]|0);ce(c[Za>>2]|0);ce(c[ua>>2]|0);ce(c[Fa>>2]|0);db=c[e>>2]|0;c[S>>2]=Lc(6,bb)|0;c[R>>2]=Mc(S,bb)|0;b=Hc(R,1)|0;td(b,c[db>>2]|0);ce(b);ce(c[R>>2]|0);ce(c[S>>2]|0);b=c[O>>2]|0;c[T>>2]=Hc(c[L>>2]|0,1)|0;db=Kc(T,c[e>>2]|0)|0;td(db,c[b>>2]|0);ce(db);ce(c[T>>2]|0);db=c[N>>2]|0;c[U>>2]=Jc(c[L>>2]|0,1)|0;b=Ic(U,c[e>>2]|0)|0;td(b,c[db>>2]|0);ce(b);ce(c[U>>2]|0);td(c[c[O>>2]>>2]|0,c[c[M>>2]>>2]|0);Wc(ab,c[a>>2]|0,c[L>>2]|0,0);b=c[G>>2]|0;c[$>>2]=Pc(bb,3)|0;c[Z>>2]=Lc(18,$)|0;c[ba>>2]=Lc(18,bb)|0;c[aa>>2]=Mc(ba,bb)|0;c[Y>>2]=Ic(Z,aa)|0;c[ca>>2]=Lc(9,bb)|0;c[X>>2]=Ic(Y,ca)|0;c[W>>2]=Hc(X,2)|0;c[V>>2]=Gc(W)|0;db=gd(0)|0;we(Fc(V)|0,db);td(db,c[b>>2]|0);ce(db);ce(c[V>>2]|0);ce(c[W>>2]|0);ce(c[X>>2]|0);ce(c[ca>>2]|0);ce(c[Y>>2]|0);ce(c[aa>>2]|0);ce(c[ba>>2]|0);ce(c[Z>>2]|0);ce(c[$>>2]|0);tc(c[H>>2]|0);db=c[A>>2]|0;c[fa>>2]=Lc(6,bb)|0;c[ea>>2]=Mc(fa,bb)|0;c[ga>>2]=Lc(4,bb)|0;c[da>>2]=Ic(ea,ga)|0;b=Hc(da,1)|0;td(b,c[db>>2]|0);ce(b);ce(c[da>>2]|0);ce(c[ga>>2]|0);ce(c[ea>>2]|0);ce(c[fa>>2]|0);b=c[D>>2]|0;c[ia>>2]=Lc(2,bb)|0;c[ha>>2]=Hc(ia,1)|0;db=Gc(ha)|0;td(db,c[b>>2]|0);ce(db);ce(c[ha>>2]|0);ce(c[ia>>2]|0);db=c[B>>2]|0;c[la>>2]=Lc(6,bb)|0;c[ka>>2]=Mc(la,bb)|0;c[ma>>2]=Lc(2,bb)|0;b=Ic(ka,ma)|0;td(b,c[db>>2]|0);ce(b);ce(c[ma>>2]|0);ce(c[ka>>2]|0);ce(c[la>>2]|0);b=c[C>>2]|0;c[oa>>2]=Lc(2,bb)|0;c[na>>2]=Hc(oa,1)|0;db=Gc(na)|0;td(db,c[b>>2]|0);ce(db);ce(c[na>>2]|0);ce(c[oa>>2]|0);db=c[E>>2]|0;c[qa>>2]=Lc(2,bb)|0;c[pa>>2]=Hc(qa,1)|0;b=Gc(pa)|0;td(b,c[db>>2]|0);ce(b);ce(c[pa>>2]|0);ce(c[qa>>2]|0);b=c[F>>2]|0;c[va>>2]=Lc(6,bb)|0;c[ta>>2]=Mc(va,bb)|0;c[wa>>2]=Lc(4,bb)|0;c[sa>>2]=Ic(ta,wa)|0;c[ra>>2]=Hc(sa,1)|0;db=Gc(ra)|0;td(db,c[b>>2]|0);ce(db);ce(c[ra>>2]|0);ce(c[sa>>2]|0);ce(c[wa>>2]|0);ce(c[ta>>2]|0);ce(c[va>>2]|0);db=c[f>>2]|0;c[za>>2]=Lc(2,bb)|0;c[ya>>2]=Mc(za,bb)|0;c[Aa>>2]=Lc(3,bb)|0;c[xa>>2]=Ic(ya,Aa)|0;b=Hc(xa,1)|0;td(b,c[db>>2]|0);ce(b);ce(c[xa>>2]|0);ce(c[Aa>>2]|0);ce(c[ya>>2]|0);ce(c[za>>2]|0);b=c[l>>2]|0;c[Ea>>2]=Lc(12,bb)|0;c[Da>>2]=Mc(Ea,bb)|0;c[Ca>>2]=Mc(Da,bb)|0;c[Ha>>2]=Lc(8,bb)|0;c[Ga>>2]=Mc(Ha,bb)|0;c[Ba>>2]=Ic(Ca,Ga)|0;db=Ic(Ba,bb)|0;td(db,c[b>>2]|0);ce(db);ce(c[Ba>>2]|0);ce(c[Ga>>2]|0);ce(c[Ha>>2]|0);ce(c[Ca>>2]|0);ce(c[Da>>2]|0);ce(c[Ea>>2]|0);db=c[q>>2]|0;c[La>>2]=Lc(6,bb)|0;c[Ka>>2]=Mc(La,bb)|0;c[Ja>>2]=Mc(Ka,bb)|0;c[Na>>2]=Lc(4,bb)|0;c[Ma>>2]=Mc(Na,bb)|0;c[Ia>>2]=Ic(Ja,Ma)|0;b=Ic(Ia,bb)|0;td(b,c[db>>2]|0);ce(b);ce(c[Ia>>2]|0);ce(c[Ma>>2]|0);ce(c[Na>>2]|0);ce(c[Ja>>2]|0);ce(c[Ka>>2]|0);ce(c[La>>2]|0);b=c[v>>2]|0;c[Pa>>2]=Lc(-2,bb)|0;c[Oa>>2]=Mc(Pa,bb)|0;db=Kc(Oa,bb)|0;td(db,c[b>>2]|0);ce(db);ce(c[Oa>>2]|0);ce(c[Pa>>2]|0);db=c[g>>2]|0;b=Hc(bb,1)|0;td(b,c[db>>2]|0);ce(b);td(c[bb>>2]|0,c[c[h>>2]>>2]|0);td(c[bb>>2]|0,c[c[j>>2]>>2]|0);b=c[k>>2]|0;db=Lc(-2,bb)|0;td(db,c[b>>2]|0);ce(db);db=c[m>>2]|0;c[Ra>>2]=Lc(2,bb)|0;b=Hc(Ra,1)|0;td(b,c[db>>2]|0);ce(b);ce(c[Ra>>2]|0);b=c[n>>2]|0;db=Gc(bb)|0;td(db,c[b>>2]|0);ce(db);db=c[o>>2]|0;c[Sa>>2]=Hc(bb,1)|0;b=Gc(Sa)|0;td(b,c[db>>2]|0);ce(b);ce(c[Sa>>2]|0);b=c[p>>2]|0;db=Gc(bb)|0;td(db,c[b>>2]|0);ce(db);db=c[r>>2]|0;b=Lc(2,bb)|0;td(b,c[db>>2]|0);ce(b);b=c[s>>2]|0;c[Ta>>2]=Lc(2,bb)|0;db=Hc(Ta,1)|0;td(db,c[b>>2]|0);ce(db);ce(c[Ta>>2]|0);db=c[t>>2]|0;c[Ua>>2]=Lc(2,bb)|0;b=Hc(Ua,1)|0;td(b,c[db>>2]|0);ce(b);ce(c[Ua>>2]|0);b=c[u>>2]|0;c[Va>>2]=Lc(2,bb)|0;db=Hc(Va,1)|0;td(db,c[b>>2]|0);ce(db);ce(c[Va>>2]|0);db=c[w>>2]|0;b=Jc(bb,1)|0;td(b,c[db>>2]|0);ce(b);b=c[x>>2]|0;c[Wa>>2]=Lc(4,bb)|0;db=Hc(Wa,2)|0;td(db,c[b>>2]|0);ce(db);ce(c[Wa>>2]|0);db=c[y>>2]|0;c[Ya>>2]=Lc(2,bb)|0;c[Xa>>2]=Jc(Ya,1)|0;b=Gc(Xa)|0;td(b,c[db>>2]|0);ce(b);ce(c[Xa>>2]|0);ce(c[Ya>>2]|0);b=c[z>>2]|0;db=Jc(bb,1)|0;td(db,c[b>>2]|0);ce(db);c[J+704>>2]=107;c[a+504>>2]=d;ce(c[bb>>2]|0);ce(c[ab>>2]|0);i=cb;return}function vc(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+4>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+8>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+12>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+16>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+20>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+24>>2]|0;if(!b)d=0;else{ce(c[b>>2]|0);rf(b);d=0}do{b=c[a+92+(d<<2)>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+28+(d<<4)>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+28+(d<<4)+4>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+28+(d<<4)+8>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+28+(d<<4)+12>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}d=d+1|0}while((d|0)<4);b=c[a+124>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+108>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+112>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+128>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+116>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+120>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+132>>2]|0;if(b){ce(c[b>>2]|0);rf(b)}b=c[a+136>>2]|0;if(!b){nd();return}ce(c[b>>2]|0);ce(c[b+4>>2]|0);rf(b);nd();return}function wc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;h=g+8|0;j=g+4|0;k=g;c[h>>2]=gd(0)|0;c[h+4>>2]=gd(0)|0;c[j>>2]=gd(0)|0;l=c[d>>2]|0;m=gd(0)|0;c[k>>2]=m;fd(0,m);l=Oc(l,a,k,b,j)|0;td(l,c[h>>2]|0);ce(l);ce(c[k>>2]|0);fd(0,c[f>>2]|0);d=c[d+4>>2]|0;l=gd(0)|0;c[k>>2]=l;fd(0,l);b=Oc(d,a,k,b,j)|0;td(b,c[h+4>>2]|0);ce(b);ce(c[k>>2]|0);b=f+4|0;fd(0,c[b>>2]|0);td(c[a>>2]|0,c[f>>2]|0);a=Mc(h,c[e>>2]|0)|0;d=c[f>>2]|0;Od(d,a,d);ce(a);a=h+4|0;d=Mc(a,c[e+8>>2]|0)|0;f=c[f>>2]|0;Od(f,d,f);ce(d);f=Mc(h,c[e+4>>2]|0)|0;d=c[b>>2]|0;Od(d,f,d);ce(f);f=Mc(a,c[e+12>>2]|0)|0;b=c[b>>2]|0;Od(b,f,b);ce(f);ce(c[j>>2]|0);ce(c[h+4>>2]|0);ce(c[h>>2]|0);i=g;return}function xc(a,b){a=a|0;b=b|0;var d=0;d=gd(0)|0;ed(d);td(c[(hf(a)|0)+4>>2]|0,d);ze(d,c[b>>2]|0,d);td(d,c[(hf(a)|0)+4>>2]|0);ce(d);return}function yc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;h=o+32|0;n=o+24|0;k=o+16|0;j=o+8|0;f=o;g=Jd(1)|0;c[a+4>>2]=g;c[a>>2]=Id(g,0)|0;c[a+8>>2]=0;c[a+12>>2]=0;g=Jd(1)|0;m=h+4|0;c[m>>2]=g;g=Id(g,0)|0;c[h>>2]=g;l=d+8|0;if(!(c[l>>2]|0)){c[j>>2]=gd(0)|0;c[j+4>>2]=gd(0)|0;Oe(c[d>>2]|0,g);wc(e,c[b+12>>2]|0,b+124|0,b+108|0,j);xc(h,c[b+132>>2]|0);kf(f,j,d,j+4|0,h);Oe(c[f>>2]|0,c[h>>2]|0);ce(c[f+4>>2]|0);Oe(c[h>>2]|0,c[a>>2]|0);ce(c[j+4>>2]|0);ce(c[j>>2]|0);e=c[m>>2]|0;ce(e);i=o;return}b=gd(0)|0;c[n>>2]=b;td(c[e>>2]|0,b);b=gd(0)|0;fd(0,b);j=yd(c[e>>2]|0,b)|0;ce(b);if((j|0)<=-1){j=Gc(n)|0;td(j,c[n>>2]|0);ce(j)}h=c[d+12>>2]|0;f=Ed(c[n>>2]|0,h,8,h+-1|0)|0;Oe(c[(c[l>>2]|0)+(f<<3)>>2]|0,c[a>>2]|0);f=h+-2|0;if((f|0)>-1)while(1){g=Ed(c[n>>2]|0,h,8,f)|0;d=c[a>>2]|0;Ne(d,d)|0;if((g|0)>0)Ne(c[(c[l>>2]|0)+(g<<3)>>2]|0,c[a>>2]|0)|0;if((f|0)>0)f=f+-1|0;else break}l=gd(0)|0;fd(0,l);e=yd(c[e>>2]|0,l)|0;ce(l);if((e|0)<=-1){jf(k,a);Oe(c[k>>2]|0,c[a>>2]|0);ce(c[k+4>>2]|0)}ce(c[n>>2]|0);e=c[m>>2]|0;ce(e);i=o;return}function zc(a,b){a=a|0;b=b|0;var d=0;d=c[a+504>>2]|0;a=c[a+140>>2]<<1;if(!d){d=Rc(a,2)|0;td(d,c[b>>2]|0);ce(d);return}else{d=Tc(d,a,2)|0;td(d,c[b>>2]|0);ce(d);return}}function Ac(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=gd(0)|0;d=c[a+504>>2]|0;a=c[a+8>>2]|0;if(!d){d=Qc(a)|0;td(d,c[e>>2]|0);ce(d)}else{d=Sc(d,a)|0;td(d,c[e>>2]|0);ce(d)}while(1){a=Fc(e)|0;d=Fc(e)|0;if(Je(a,d,0,c[b>>2]|0)|0)break;d=c[e>>2]|0;Pd(d,1,d)}ce(c[e>>2]|0);i=f;return}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Jd(1)|0;c[a+4>>2]=e;e=Id(e,0)|0;c[a>>2]=e;c[a+8>>2]=0;c[a+12>>2]=0;Oe(c[b>>2]|0,e);Ne(c[d>>2]|0,e)|0;return}function Cc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=Jd(1)|0;c[a+4>>2]=f;f=Id(f,0)|0;c[a>>2]=f;c[a+8>>2]=0;c[a+12>>2]=0;Oe(c[b>>2]|0,f);jf(e,a);Oe(c[e>>2]|0,c[a>>2]|0);ce(c[e+4>>2]|0);i=d;return}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=gd(0)|0;c[a+4>>2]=gd(0)|0;ge(b,a);if((b|0)==(d|0)){ie(a,a,a);return}else{ie(a,d,a);return}}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+176|0;l=q+36|0;m=q+32|0;o=q+24|0;p=q+16|0;n=q+40|0;f=q+8|0;h=q;c[o>>2]=gd(0)|0;j=o+4|0;c[j>>2]=gd(0)|0;he(o);c[p>>2]=gd(0)|0;k=p+4|0;c[k>>2]=gd(0)|0;he(p);c[n>>2]=gd(0)|0;c[n+4>>2]=gd(0)|0;he(n);r=n+8|0;c[r>>2]=gd(0)|0;c[n+12>>2]=gd(0)|0;he(r);r=n+16|0;c[r>>2]=gd(0)|0;c[n+20>>2]=gd(0)|0;he(r);r=n+24|0;c[r>>2]=gd(0)|0;c[n+28>>2]=gd(0)|0;he(r);r=n+32|0;c[r>>2]=gd(0)|0;c[n+36>>2]=gd(0)|0;he(r);r=n+40|0;c[r>>2]=gd(0)|0;c[n+44>>2]=gd(0)|0;he(r);r=n+48|0;c[r>>2]=gd(0)|0;c[n+52>>2]=gd(0)|0;he(r);r=n+56|0;c[r>>2]=gd(0)|0;c[n+60>>2]=gd(0)|0;he(r);r=n+64|0;c[r>>2]=gd(0)|0;c[n+68>>2]=gd(0)|0;he(r);r=n+72|0;c[r>>2]=gd(0)|0;c[n+76>>2]=gd(0)|0;he(r);r=n+80|0;c[r>>2]=gd(0)|0;c[n+84>>2]=gd(0)|0;he(r);r=n+88|0;c[r>>2]=gd(0)|0;c[n+92>>2]=gd(0)|0;he(r);r=n+96|0;c[r>>2]=gd(0)|0;c[n+100>>2]=gd(0)|0;he(r);r=n+104|0;c[r>>2]=gd(0)|0;c[n+108>>2]=gd(0)|0;he(r);r=n+112|0;c[r>>2]=gd(0)|0;c[n+116>>2]=gd(0)|0;he(r);r=n+120|0;c[r>>2]=gd(0)|0;c[n+124>>2]=gd(0)|0;he(r);r=(de(b)|0)==0;g=gd(0)|0;do if(r){fd(0,g);r=yd(c[d>>2]|0,g)|0;ce(g);if(!r){c[a>>2]=gd(0)|0;c[a+4>>2]=gd(0)|0;ee(1,a);break}ge(b,o);b=gd(0)|0;fd(1,b);r=yd(c[d>>2]|0,b)|0;ce(b);if(!r){c[a>>2]=gd(0)|0;c[a+4>>2]=gd(0)|0;ge(o,a);break}Dc(f,o,o);ge(f,p);ce(c[f>>2]|0);ce(c[f+4>>2]|0);ge(o,n);f=h+4|0;g=1;do{Dc(h,p,n+(g+-1<<3)|0);ge(h,n+(g<<3)|0);ce(c[h>>2]|0);ce(c[f>>2]|0);g=g+1|0}while((g|0)<16);f=re(c[d>>2]|0)|0;if((f|0)>1?(e=f+-2|0,(e|0)>-1):0)do{b=Fd(c[d>>2]|0,e,l,m,5)|0;f=c[l>>2]|0;if((f|0)>0){g=0;do{ie(o,o,o);g=g+1|0;f=c[l>>2]|0}while((g|0)<(f|0))}if((b|0)>0){ie(o,n+(((b|0)/2|0)<<3)|0,o);f=c[l>>2]|0}e=e-f|0;f=c[m>>2]|0;if(f){if((f|0)>0){g=0;do{ie(o,o,o);g=g+1|0;f=c[m>>2]|0}while((g|0)<(f|0))}e=e-f|0}}while((e|0)>-1);c[a>>2]=gd(0)|0;c[a+4>>2]=gd(0)|0;ge(o,a)}else{c[a>>2]=g;c[a+4>>2]=gd(0)|0;he(a)}while(0);ce(c[n+120>>2]|0);ce(c[n+124>>2]|0);ce(c[n+112>>2]|0);ce(c[n+116>>2]|0);ce(c[n+104>>2]|0);ce(c[n+108>>2]|0);ce(c[n+96>>2]|0);ce(c[n+100>>2]|0);ce(c[n+88>>2]|0);ce(c[n+92>>2]|0);ce(c[n+80>>2]|0);ce(c[n+84>>2]|0);ce(c[n+72>>2]|0);ce(c[n+76>>2]|0);ce(c[n+64>>2]|0);ce(c[n+68>>2]|0);ce(c[n+56>>2]|0);ce(c[n+60>>2]|0);ce(c[n+48>>2]|0);ce(c[n+52>>2]|0);ce(c[n+40>>2]|0);ce(c[n+44>>2]|0);ce(c[n+32>>2]|0);ce(c[n+36>>2]|0);ce(c[n+24>>2]|0);ce(c[n+28>>2]|0);ce(c[n+16>>2]|0);ce(c[n+20>>2]|0);ce(c[n+8>>2]|0);ce(c[n+12>>2]|0);ce(c[n>>2]|0);ce(c[n+4>>2]|0);ce(c[p>>2]|0);ce(c[k>>2]|0);ce(c[o>>2]|0);ce(c[j>>2]|0);i=q;return}function Fc(a){a=a|0;return c[a>>2]|0}function Gc(a){a=a|0;var b=0;b=gd(0)|0;ud(c[a>>2]|0,b);return b|0}function Hc(a,b){a=a|0;b=b|0;var d=0;d=gd(0)|0;Pd(c[a>>2]|0,b,d);return d|0}function Ic(a,b){a=a|0;b=b|0;var d=0;d=gd(0)|0;Nd(c[a>>2]|0,c[b>>2]|0,d);return d|0}function Jc(a,b){a=a|0;b=b|0;var d=0;d=gd(0)|0;Qd(c[a>>2]|0,b,d);return d|0}function Kc(a,b){a=a|0;b=b|0;var d=0;d=gd(0)|0;Od(c[a>>2]|0,c[b>>2]|0,d);return d|0}function Lc(a,b){a=a|0;b=b|0;var d=0;d=gd(0)|0;Td(c[b>>2]|0,a,d);return d|0}function Mc(a,b){a=a|0;b=b|0;var d=0;d=gd(0)|0;Zd(c[a>>2]|0,c[b>>2]|0,d);return d|0}function Nc(a,b){a=a|0;b=b|0;var d=0;d=gd(0)|0;Vd(c[a>>2]|0,b,d)|0;return d|0}function Oc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=gd(0)|0;$d(c[a>>2]|0,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,g,c[f>>2]|0);return g|0}function Pc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=gd(0)|0;f=(xd(c[a>>2]|0)|0)<0;e=xd(c[a>>2]|0)|0;if(((f?0-e|0:e)|0)<1073741824){pe(e,b,d);return d|0}else{qe(c[a>>2]|0,b,d,d);return d|0}return 0}function Qc(a){a=a|0;var b=0;b=gd(0)|0;te(c[a>>2]|0,b);return b|0}function Rc(a,b){a=a|0;b=b|0;var c=0;c=gd(0)|0;ue(a,b,c);return c|0}function Sc(a,b){a=a|0;b=b|0;var d=0;d=gd(0)|0;af(a,c[b>>2]|0,d);return d|0}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=gd(0)|0;bf(a,b,c,d);return d|0}function Uc(){var a=0;a=gd(0)|0;td(c[(Xc()|0)+312>>2]|0,a);return a|0}function Vc(a,b){a=a|0;b=b|0;var d=0;d=Xc()|0;d=d+584|0;ke(c[b>>2]|0,c[d>>2]|0)|0;b=c[d>>2]|0;pc(a,b,Xi(b)|0)|0;return a|0}function Wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Ie(c[a>>2]|0,c[b>>2]|0,c[d>>2]|0,e);return}function Xc(){return c[610]|0}function Yc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;a=Bt(b|0,0,a|0,0)|0;a=rt(a|0,D|0,d|0,0)|0;b=D;d=Ct(a|0,b|0,e|0,0)|0;e=Bt(d|0,0,e|0,0)|0;e=pt(a|0,b|0,e|0,D|0)|0;c[f>>2]=e;return d|0}function Zc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=Ct(b|0,a|0,d|0,0)|0;d=Bt(a|0,0,d|0,0)|0;d=pt(b|0,0,d|0,D|0)|0;c[e>>2]=d;return a|0}function _c(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[610]|0;if(c[d+548>>2]|0){c[d+552>>2]=b;return}i=c[1023]|0;e=10;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==27)break;else e=a[15829+d>>0]|0}d=c[610]|0;e=c[d+28>>2]|0;if((e|0)<24){f=c[2444+(c[d+32+(e<<2)>>2]<<2)>>2]|0;d=a[f>>0]|0;if(d<<24>>24){e=0;do{e=e+1|0;Ci(d<<24>>24,i)|0;d=a[f+e>>0]|0}while(d<<24>>24!=0)}}else{Ci(63,i)|0;Ci(63,i)|0;Ci(63,i)|0}Ci(10,i)|0;d=c[(c[610]|0)+28>>2]|0;if((d|0)>0)while(1){f=32;e=0;while(1){e=e+1|0;Ci(f<<24>>24,i)|0;if((e|0)==26)break;else f=a[15857+e>>0]|0}h=d;d=d+-1|0;if((h|0)>=25){Ci(63,i)|0;Ci(63,i)|0;Ci(63,i)|0;Ci(10,i)|0;continue}g=c[2444+(c[(c[610]|0)+32+(d<<2)>>2]<<2)>>2]|0;e=a[g>>0]|0;if(e<<24>>24){f=0;do{f=f+1|0;Ci(e<<24>>24,i)|0;e=a[g+f>>0]|0}while(e<<24>>24!=0)}Ci(10,i)|0;if((h|0)<=1)break}do switch(b|0){case 1:{e=78;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==39)break;else e=a[15884+d>>0]|0}kb(0);break}case 2:{e=68;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==27)break;else e=a[15924+d>>0]|0}kb(0);break}case 3:{e=79;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==26)break;else e=a[15952+d>>0]|0}kb(0);break}case 4:{e=73;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==28)break;else e=a[15979+d>>0]|0}kb(0);break}case 5:{Ci(73,i)|0;Ci(110,i)|0;Ci(112,i)|0;Ci(117,i)|0;Ci(116,i)|0;Ci(32,i)|0;Ci(102,i)|0;Ci(111,i)|0;Ci(114,i)|0;Ci(109,i)|0;Ci(97,i)|0;Ci(116,i)|0;Ci(32,i)|0;Ci(101,i)|0;Ci(114,i)|0;Ci(114,i)|0;Ci(111,i)|0;Ci(114,i)|0;Ci(10,i)|0;kb(0);break}case 6:{Ci(73,i)|0;Ci(108,i)|0;Ci(108,i)|0;Ci(101,i)|0;Ci(103,i)|0;Ci(97,i)|0;Ci(108,i)|0;Ci(32,i)|0;Ci(110,i)|0;Ci(117,i)|0;Ci(109,i)|0;Ci(98,i)|0;Ci(101,i)|0;Ci(114,i)|0;Ci(32,i)|0;Ci(98,i)|0;Ci(97,i)|0;Ci(115,i)|0;Ci(101,i)|0;Ci(10,i)|0;kb(0);break}case 7:{e=73;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==24)break;else e=a[16008+d>>0]|0}kb(0);break}case 8:{Ci(79,i)|0;Ci(117,i)|0;Ci(116,i)|0;Ci(32,i)|0;Ci(111,i)|0;Ci(102,i)|0;Ci(32,i)|0;Ci(115,i)|0;Ci(112,i)|0;Ci(97,i)|0;Ci(99,i)|0;Ci(101,i)|0;Ci(10,i)|0;kb(0);break}case 9:{e=69;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==31)break;else e=a[16033+d>>0]|0}kb(0);break}case 10:{e=82;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==34)break;else e=a[16065+d>>0]|0}kb(0);break}case 11:{e=65;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==29)break;else e=a[16100+d>>0]|0}kb(0);break}case 12:{e=73;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==44)break;else e=a[16130+d>>0]|0}kb(0);break}case 13:{Ci(70,i)|0;Ci(108,i)|0;Ci(97,i)|0;Ci(115,i)|0;Ci(104,i)|0;Ci(32,i)|0;Ci(111,i)|0;Ci(118,i)|0;Ci(101,i)|0;Ci(114,i)|0;Ci(102,i)|0;Ci(108,i)|0;Ci(111,i)|0;Ci(119,i)|0;Ci(10,i)|0;kb(0);break}case 14:{Ci(78,i)|0;Ci(117,i)|0;Ci(109,i)|0;Ci(98,i)|0;Ci(101,i)|0;Ci(114,i)|0;Ci(115,i)|0;Ci(32,i)|0;Ci(116,i)|0;Ci(111,i)|0;Ci(111,i)|0;Ci(32,i)|0;Ci(98,i)|0;Ci(105,i)|0;Ci(103,i)|0;Ci(10,i)|0;kb(0);break}case 15:{e=76;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==29)break;else e=a[16175+d>>0]|0}kb(0);break}case 16:{e=70;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==35)break;else e=a[16205+d>>0]|0}kb(0);break}case 17:{Ci(73,i)|0;Ci(47,i)|0;Ci(79,i)|0;Ci(32,i)|0;Ci(98,i)|0;Ci(117,i)|0;Ci(102,i)|0;Ci(102,i)|0;Ci(101,i)|0;Ci(114,i)|0;Ci(32,i)|0;Ci(111,i)|0;Ci(118,i)|0;Ci(101,i)|0;Ci(114,i)|0;Ci(102,i)|0;Ci(108,i)|0;Ci(111,i)|0;Ci(119,i)|0;Ci(10,i)|0;kb(0);break}case 18:{e=77;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==45)break;else e=a[16241+d>>0]|0}kb(0);break}case 19:{Ci(73,i)|0;Ci(108,i)|0;Ci(108,i)|0;Ci(101,i)|0;Ci(103,i)|0;Ci(97,i)|0;Ci(108,i)|0;Ci(32,i)|0;Ci(109,i)|0;Ci(111,i)|0;Ci(100,i)|0;Ci(117,i)|0;Ci(108,i)|0;Ci(117,i)|0;Ci(115,i)|0;Ci(32,i)|0;Ci(10,i)|0;kb(0);break}case 20:{Ci(78,i)|0;Ci(111,i)|0;Ci(32,i)|0;Ci(109,i)|0;Ci(111,i)|0;Ci(100,i)|0;Ci(117,i)|0;Ci(108,i)|0;Ci(117,i)|0;Ci(115,i)|0;Ci(32,i)|0;Ci(100,i)|0;Ci(101,i)|0;Ci(102,i)|0;Ci(105,i)|0;Ci(110,i)|0;Ci(101,i)|0;Ci(100,i)|0;Ci(10,i)|0;kb(0);break}case 21:{Ci(69,i)|0;Ci(120,i)|0;Ci(112,i)|0;Ci(111,i)|0;Ci(110,i)|0;Ci(101,i)|0;Ci(110,i)|0;Ci(116,i)|0;Ci(32,i)|0;Ci(116,i)|0;Ci(111,i)|0;Ci(111,i)|0;Ci(32,i)|0;Ci(98,i)|0;Ci(105,i)|0;Ci(103,i)|0;Ci(10,i)|0;kb(0);break}case 22:{e=85;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==37)break;else e=a[16287+d>>0]|0}kb(0);break}case 23:{e=83;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==49)break;else e=a[16325+d>>0]|0}kb(0);break}case 24:{e=83;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==35)break;else e=a[16375+d>>0]|0}kb(0);break}case 25:{e=85;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==42)break;else e=a[16411+d>>0]|0}kb(0);break}case 26:{e=66;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==61)break;else e=a[16454+d>>0]|0}kb(0);break}case 27:{e=78;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==29)break;else e=a[16516+d>>0]|0}kb(0);break}case 28:{Ci(67,i)|0;Ci(111,i)|0;Ci(109,i)|0;Ci(112,i)|0;Ci(111,i)|0;Ci(115,i)|0;Ci(105,i)|0;Ci(116,i)|0;Ci(101,i)|0;Ci(32,i)|0;Ci(109,i)|0;Ci(111,i)|0;Ci(100,i)|0;Ci(117,i)|0;Ci(108,i)|0;Ci(117,i)|0;Ci(115,i)|0;Ci(10,i)|0;kb(0);break}case 29:{e=73;d=0;while(1){d=d+1|0;Ci(e<<24>>24,i)|0;if((d|0)==53)break;else e=a[16546+d>>0]|0}kb(0);break}default:{Ci(85,i)|0;Ci(110,i)|0;Ci(100,i)|0;Ci(101,i)|0;Ci(102,i)|0;Ci(105,i)|0;Ci(110,i)|0;Ci(101,i)|0;Ci(100,i)|0;Ci(32,i)|0;Ci(101,i)|0;Ci(114,i)|0;Ci(114,i)|0;Ci(111,i)|0;Ci(114,i)|0;Ci(10,i)|0;kb(0)}}while(0)}function $c(){var b=0,d=0,e=0,f=0;f=c[1023]|0;if((c[(c[610]|0)+28>>2]|0)>0){b=0;do{Ci(45,f)|0;b=b+1|0}while((b|0)<(c[(c[610]|0)+28>>2]|0))}Ci(62,f)|0;e=c[610]|0;e=c[2444+(c[e+32+(c[e+28>>2]<<2)>>2]<<2)>>2]|0;b=a[e>>0]|0;if(!(b<<24>>24)){Ci(10,f)|0;return}else d=0;do{d=d+1|0;Ci(b<<24>>24,f)|0;b=a[e+d>>0]|0}while(b<<24>>24!=0);Ci(10,f)|0;return}function ad(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=c[610]|0;h=i+12|0;a=c[h>>2]|0;e=i+300|0;b=c[e>>2]|0;if((a|0)>32){d=b+2|0;c[e>>2]=d;if((d|0)<36){i=(c[i+152+(b+3<<2)>>2]|0)+(c[i+152+(d<<2)>>2]<>2]=a;if((a|0)<37){i=c[i+152+(a<<2)>>2]|0;return i|0}}c[e>>2]=0;f=i+304|0;g=0;a=13;while(1){a=(a|0)==37?0:a;b=c[i+152+(a<<2)>>2]|0;d=i+152+(g<<2)|0;e=b-(c[d>>2]|0)-(c[f>>2]|0)|0;if(e>>>0>>0)c[f>>2]=0;if(e>>>0>b>>>0)c[f>>2]=1;c[d>>2]=e;g=g+1|0;if((g|0)==37)break;else a=a+1|0}a=c[h>>2]|0;b=c[i+152>>2]|0;if((a|0)<=32){i=b;return i|0}i=(c[i+156>>2]|0)+(b<0?a<>>(0-b|0);return a|0}function cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[610]|0;j=i+304|0;c[j>>2]=0;k=i+300|0;c[k>>2]=0;c[i+152>>2]=a;b=1;d=1;while(1){c[i+152+(((b*14|0)%37|0)<<2)>>2]=d;b=b+1|0;if((b|0)==37)break;else{h=d;d=a-d|0;a=h}}g=i+12|0;h=0;do{a=c[k>>2]|0;if((c[g>>2]|0)>32){f=a+2|0;c[k>>2]=f;if((f|0)>=36)l=7}else{f=a+1|0;c[k>>2]=f;if((f|0)>=37)l=7}if((l|0)==7){l=0;c[k>>2]=0;f=0;a=13;while(1){a=(a|0)==37?0:a;b=c[i+152+(a<<2)>>2]|0;d=i+152+(f<<2)|0;e=b-(c[d>>2]|0)-(c[j>>2]|0)|0;if(e>>>0>>0)c[j>>2]=0;if(e>>>0>b>>>0)c[j>>2]=1;c[d>>2]=e;f=f+1|0;if((f|0)==37)break;else a=a+1|0}}h=h+1|0}while((h|0)!=1e3);return}function dd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;do if((a|0)==65536)b=16;else{if(a>>>0<=65536){if((a|0)==256){b=8;break}if(a>>>0<=256){if((a|0)==16){b=4;break}if(a>>>0<=16){if((a|0)==4){b=2;break}if(a>>>0<=4){if((a|0)==2){b=1;break}if(a>>>0<=2){b=c[610]|0;c[b+4>>2]=a;d=b+8|0;c[d>>2]=1;c[b>>2]=a;if(!a)return 0;else{g=b;f=d}}else e=5}else e=5}else e=5}else e=5}else e=5;if((e|0)==5){g=c[610]|0;c[g+4>>2]=a;f=g+8|0;c[f>>2]=1;c[g>>2]=a}e=2147483648/(a>>>0)|0;if(e>>>0>>0)return 0;else{d=a;b=1}do{d=$(d,a)|0;b=b+1|0;e=(e>>>0)/(a>>>0)|0}while(e>>>0>=a>>>0);c[g>>2]=d;c[f>>2]=b;return 0}while(0);g=c[610]|0;c[g+4>>2]=a;c[g+8>>2]=32/(b>>>0)|0;c[g>>2]=0;return 0}function ed(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;d=b>>>16;if(((d&32767)+(b&65535)|0)>0)qt(c[a+4>>2]|0,0,(b&65535)+(d&32767)<<2|0)|0;c[a>>2]=0;return}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!a){if(!b)return;a=c[b>>2]|0;a=(a>>>16&32767)+(a&65535)|0;if((a|0)>0)qt(c[b+4>>2]|0,0,a<<2|0)|0;c[b>>2]=0;return}d=(a|0)<0?0-a|0:a;i=a&-2147483648;if(b){a=c[b>>2]|0;a=(a>>>16&32767)+(a&65535)|0;if((a|0)>0)qt(c[b+4>>2]|0,0,a<<2|0)|0;c[b>>2]=0}if(!d){d=b;a=c[b>>2]|0}else{g=c[610]|0;a=c[g>>2]|0;h=c[b+4>>2]|0;if(!a){c[h>>2]=d;a=1}else{e=a;f=0;while(1){a=f+1|0;c[h+(f<<2)>>2]=(d>>>0)%(e>>>0)|0;e=c[g>>2]|0;d=(d>>>0)/(e>>>0)|0;if(!d)break;else f=a}}c[b>>2]=a;d=b}c[d>>2]=a|i;return}function gd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[610]|0;if(c[b+552>>2]|0){i=0;return i|0}i=b+28|0;d=(c[i>>2]|0)+1|0;c[i>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=23,(c[b+576>>2]|0)!=0):0){$c();b=c[610]|0}if(!(c[b+140>>2]|0)){_c(18);i=(c[610]|0)+28|0;c[i>>2]=(c[i>>2]|0)+-1;i=0;return i|0}i=be((c[b+24>>2]<<2)+15&-4,1)|0;if(!i){h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return i|0}f=i+4|0;d=i+(12-(i+8&3))|0;c[f>>2]=d;if(a){e=(a|0)<0?0-a|0:a;h=a&-2147483648;b=c[i>>2]|0;b=(b>>>16&32767)+(b&65535)|0;if((b|0)>0)qt(d|0,0,b<<2|0)|0;c[i>>2]=0;if(!e)b=0;else{g=c[610]|0;b=c[g>>2]|0;f=c[f>>2]|0;if(!b){c[f>>2]=e;b=1}else{d=b;a=0;while(1){b=a+1|0;c[f+(a<<2)>>2]=(e>>>0)%(d>>>0)|0;d=c[g>>2]|0;e=(e>>>0)/(d>>>0)|0;if(!e)break;else a=b}}c[i>>2]=b}c[i>>2]=b|h}h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return i|0}function hd(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[610]|0;if(c[d+552>>2]|0){a=0;return a|0}e=a&3;b=($((c[d+24>>2]<<2)+15&-4,b)|0)+((e|0)==0?0:4-e|0)|0;c[a+(b+4)>>2]=a+(b+12-(a+(b+8)&3));a=a+b|0;return a|0}function id(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b&-2147483648;e=a+4|0;b=b&2147483647;while(1){if((b|0)<=0){d=0;break}f=b+-1|0;if(!(c[(c[e>>2]|0)+(f<<2)>>2]|0))b=f;else break}c[a>>2]=d|b;return}function jd(a,b){a=a|0;b=b|0;var d=0;d=ae()|0;c[610]=d;return kd(d,a,b)|0}function kd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b){b=0;return b|0}l=b+28|0;c[b+32>>2]=0;c[l>>2]=1;c[b+36>>2]=29;c[b+548>>2]=0;c[b+364>>2]=0;c[b+372>>2]=0;c[b+404>>2]=0;c[b+20>>2]=0;c[b+452>>2]=0;c[b+456>>2]=0;c[b+460>>2]=0;c[b+352>>2]=0;c[b+336>>2]=0;if((e|0)==1|e>>>0>2147483648){_c(6);c[l>>2]=(c[l>>2]|0)+-1;return b|0}do if((e|0)!=65536){if(e>>>0<=65536){if((e|0)==256){f=8;k=7;break}if(e>>>0<=256){if((e|0)==16){f=4;k=7;break}if(e>>>0<=16){if((e|0)==4){f=2;k=7;break}if(e>>>0<=4){if((e|0)==2){f=1;k=7;break}if(e>>>0<=2){f=c[610]|0;c[f+4>>2]=e;g=f+8|0;c[g>>2]=1;c[f>>2]=e;if(!e)break;else j=g}else k=8}else k=8}else k=8}else k=8}else k=8;if((k|0)==8){f=c[610]|0;c[f+4>>2]=e;j=f+8|0;c[j>>2]=1;c[f>>2]=e}i=2147483648/(e>>>0)|0;if(i>>>0>=e>>>0){h=e;g=1;do{h=$(h,e)|0;g=g+1|0;i=(i>>>0)/(e>>>0)|0}while(i>>>0>=e>>>0);c[f>>2]=h;c[j>>2]=g}}else{f=16;k=7}while(0);if((k|0)==7){k=c[610]|0;c[k+4>>2]=e;c[k+8>>2]=32/(f>>>0)|0;c[k>>2]=0}h=c[b>>2]|0;i=b+12|0;c[i>>2]=0;j=b+16|0;c[j>>2]=1;if(h)if(h>>>0>1){g=0;f=1;while(1){g=g+1|0;f=f<<1;if(h>>>0>3)h=h>>>1;else break}c[i>>2]=g;c[j>>2]=f}else g=0;else{c[i>>2]=32;c[j>>2]=0;g=32}if((d|0)>0)f=(d+-1|0)/(c[b+8>>2]|0)|0;else f=(($(d,-8)|0)+-1|0)/(g|0)|0;f=(f|0)==-1?2:f+2|0;j=b+24|0;c[j>>2]=f;c[b+588>>2]=f;i=b+592|0;c[i>>2]=f;a:do if((f|0)>2){h=52/(g|0)|0;while(1){if((f|0)<=(h|0))break a;g=(f+1|0)/2|0;c[i>>2]=g;if((f|0)>4)f=g;else{f=g;break}}}while(0);if((f|0)<2)c[i>>2]=2;c[b+128>>2]=1;c[b+564>>2]=10;c[b+552>>2]=0;c[b+556>>2]=6;c[b+324>>2]=1;c[b+568>>2]=1;c[b+572>>2]=0;c[b+576>>2]=0;c[b+560>>2]=0;c[b+544>>2]=1024;c[b+580>>2]=0;g=be(1025,1)|0;c[b+584>>2]=g;a[g>>0]=0;g=b+704|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[b+152>>2]=1431655765;c[b+156>>2]=305419896;c[b+160>>2]=2063821246;g=2063821246;h=3;f=2;while(1){g=g+326745585+(c[b+152+(f+-1<<2)>>2]|0)|0;c[b+152+(h<<2)>>2]=g;f=h+1|0;if((f|0)==37)break;else{d=h;h=f;f=d}}c[b+300>>2]=37;c[b+304>>2]=0;d=c[j>>2]<<1|1;c[j>>2]=d;if((d|0)!=(d&65535|0)){_c(14);c[j>>2]=((c[j>>2]|0)+-1|0)/2|0;c[l>>2]=(c[l>>2]|0)+-1;return b|0}g=be(((((c[(c[610]|0)+24>>2]<<2)+11|0)>>>2)*112|0)+116|0,1)|0;c[b+700>>2]=g;c[b+348>>2]=0;c[b+136>>2]=0;c[b+132>>2]=0;c[b+140>>2]=1;c[j>>2]=((c[j>>2]|0)+-1|0)/2|0;if(!(c[(c[610]|0)+552>>2]|0)){f=g&3;f=(f|0)==0?0:4-f|0;c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+464>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(c[f+24>>2]<<3)+30&-8|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+468>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*3|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+472>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(c[f+24>>2]<<4)+60&-16|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+476>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*5|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+480>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*6|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+484>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(c[f+24>>2]<<5)+120&-32|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+488>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*10|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+492>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*12|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+496>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*13|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+500>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*14|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+504>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*15|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+508>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(c[f+24>>2]<<6)+240&-64|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+512>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*17|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+516>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*18|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+520>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*19|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+524>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*20|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+528>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*21|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+312>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*22|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+316>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*24|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+536>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*25|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+540>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*26|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+532>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*27|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+696>>2]=f;c[l>>2]=(c[l>>2]|0)+-1;return b|0}function ld(a){a=a|0;return be(($(a<<2,(((c[(c[610]|0)+24>>2]<<2)+11|0)>>>2)+1|0)|0)+4|0,1)|0}function md(a,b){a=a|0;b=b|0;if(!a)return;qt(a|0,0,($(b<<2,(((c[(c[610]|0)+24>>2]<<2)+11|0)>>>2)+1|0)|0)+4|0)|0;ce(a);return}function nd(){var b=0,d=0,e=0;b=c[610]|0;c[b+548>>2]=0;c[b+140>>2]=0;d=c[b+700>>2]|0;if(d){qt(d|0,0,((((c[b+24>>2]<<2)+11|0)>>>2)*112|0)+116|0)|0;ce(d);b=c[610]|0}qt(b+152|0,0,148)|0;e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=142,(c[b+576>>2]|0)!=0):0){$c();d=c[610]|0}else d=b;b=c[d+584>>2]|0;if((c[d+544>>2]|0)>0){d=0;do{a[b+d>>0]=0;d=d+1|0;e=c[610]|0;b=c[e+584>>2]|0}while((d|0)<(c[e+544>>2]|0))}ce(b);b=c[610]|0;d=b+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=c[b+580>>2]|0;if(!d){e=b;ce(e);c[610]=0;return}ce(d);e=c[610]|0;ce(e);c[610]=0;return}function od(a){a=a|0;return c[a>>2]>>31|1|0}function pd(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(!d)return;if((a|0)<0){c[b>>2]=d|-2147483648;return}else{c[b>>2]=d&2147483647;return}}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+-1|0;f=c[610]|0;e=c[f+8>>2]|0;b=c[(c[a+4>>2]|0)+(((d|0)/(e|0)|0)<<2)>>2]|0;if((e|0)==1){f=b;return f|0}e=(d|0)%(e|0)|0;a=c[f+4>>2]|0;if((e|0)>=1){d=1;while(1){b=(b>>>0)/(a>>>0)|0;if((d|0)==(e|0))break;else d=d+1|0}}f=(b>>>0)%(a>>>0)|0;return f|0}function rd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]|0;if(!b){i=0;return i|0}d=c[610]|0;h=c[d+8>>2]|0;b=$(h,b&2147483647)|0;i=c[a+4>>2]|0;if((h|0)==1){while(1){a=b+-1|0;if(!(c[i+(a<<2)>>2]|0))b=a;else break}return b|0}g=c[d+4>>2]|0;while(1){f=b+-1|0;a=c[i+(((f|0)/(h|0)|0)<<2)>>2]|0;e=(f|0)%(h|0)|0;if((e|0)>=1){d=1;while(1){a=(a>>>0)/(g>>>0)|0;if((d|0)==(e|0))break;else d=d+1|0}}if(!((a>>>0)%(g>>>0)|0))b=f;else break}return b|0}function sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[610]|0;if(c[e+552>>2]|0)return;o=e+28|0;f=(c[o>>2]|0)+1|0;c[o>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=26,(c[e+576>>2]|0)!=0):0){$c();o=c[610]|0}else o=e;m=c[b>>2]|0;l=m&-2147483648;m=m&2147483647;h=d+-1|0;g=c[o+8>>2]|0;i=(h|0)/(g|0)|0;n=c[b+4>>2]|0;j=n+(i<<2)|0;k=c[j>>2]|0;h=(h|0)%(g|0)|0;if((g|0)==1)f=k;else{d=c[o+4>>2]|0;if((h|0)<1)e=k;else{f=1;e=k;while(1){e=(e>>>0)/(d>>>0)|0;if((f|0)==(h|0))break;else f=f+1|0}}f=(e>>>0)%(d>>>0)|0}if((h|0)<1)e=a;else{g=c[o+4>>2]|0;d=1;e=a;while(1){f=$(g,f)|0;e=$(g,e)|0;if((d|0)==(h|0))break;else d=d+1|0}}a=c[o+24>>2]|0;if((i|0)>=(a|0)?!((i|0)<(a<<1|0)&(c[o+128>>2]|0)==0):0){_c(3);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}c[j>>2]=e-f+k;if((i|0)<(m|0))e=c[b>>2]|0;else{e=i+1|l;c[b>>2]=e}f=e&-2147483648;e=e&2147483647;while(1){if((e|0)<=0){f=0;break}d=e+-1|0;if(!(c[n+(d<<2)>>2]|0))e=d;else break}c[b>>2]=f|e;b=o+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}function td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if((a|0)==(b|0)|(b|0)==0)return;g=c[b>>2]|0;h=g>>>16;i=(h&32767)+(g&65535)|0;if(!a){if((i|0)>0)qt(c[b+4>>2]|0,0,i<<2|0)|0;c[b>>2]=0;return}d=c[a>>2]|0;e=d>>>16;f=(e&32767)+(d&65535)|0;j=c[a+4>>2]|0;k=c[b+4>>2]|0;if((f|0)<(i|0)){l=d&65535;i=e&32767;qt(k+(l+i<<2)|0,0,(g&65535)+(h&32767)-l-i<<2|0)|0}if((f|0)>0){d=(d&65535)+(e&32767)|0;e=0;do{c[k+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}c[b>>2]=c[a>>2];return}function ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if((a|0)==(b|0)|(b|0)==0){e=b;d=c[b>>2]|0}else{f=c[b>>2]|0;f=(f>>>16&32767)+(f&65535)|0;if(!a){if((f|0)>0)qt(c[b+4>>2]|0,0,f<<2|0)|0;c[b>>2]=0;return}e=c[a>>2]|0;d=e&65535;e=e>>>16&32767;g=e+d|0;h=c[a+4>>2]|0;i=c[b+4>>2]|0;if((g|0)<(f|0))qt(i+(g<<2)|0,0,f-d-e<<2|0)|0;if((g|0)>0){d=0;do{c[i+(d<<2)>>2]=c[h+(d<<2)>>2];d=d+1|0}while((d|0)!=(g|0))}d=c[a>>2]|0;c[b>>2]=d;e=b}if(!d)return;c[e>>2]=d^-2147483648;return}function vd(a){a=a|0;return (c[a>>2]&2147418112|0)!=0|0}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=d+4|0;l=c[k>>2]|0;if(c[(c[610]|0)+552>>2]|0)return;if((a|0)==(d|0)){j=d;e=c[d>>2]|0}else{e=c[d>>2]|0;e=(e>>>16&32767)+(e&65535)|0;if(!a){if((e|0)>0)qt(l|0,0,e<<2|0)|0;c[d>>2]=0;return}g=c[a>>2]|0;f=g&65535;g=g>>>16&32767;h=g+f|0;i=c[a+4>>2]|0;if((h|0)<(e|0))qt(l+(h<<2)|0,0,e-f-g<<2|0)|0;if((h|0)>0){e=0;do{c[l+(e<<2)>>2]=c[i+(e<<2)>>2];e=e+1|0}while((e|0)!=(h|0))}e=c[a>>2]|0;c[d>>2]=e;j=d}if((b|0)==0|(e|0)==0)return;e=c[610]|0;d=e+28|0;f=(c[d>>2]|0)+1|0;c[d>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=33,(c[e+576>>2]|0)!=0):0)$c();e=c[j>>2]|0;if(e&2147418112){_c(12);e=c[j>>2]|0}i=e&-2147483648;g=e&2147483647;a=g+b|0;if((a|0)<1){e=(e>>>16&32767)+(e&65535)|0;if((e|0)>0)qt(c[k>>2]|0,0,e<<2|0)|0;c[j>>2]=0;b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}f=c[610]|0;if((a|0)>(c[f+24>>2]|0)?(c[f+128>>2]|0)!=0:0){_c(3);f=c[610]|0}if(c[f+552>>2]|0){b=f+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}if((b|0)<=0){f=0-b|0;if((a|0)>0){g=(e&2147483647)+b|0;h=0;do{c[l+(h<<2)>>2]=c[l+(h-b<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}if((b|0)<0)qt(l+((e&2147483647)+b<<2)|0,0,((f|0)>1?f<<2:4)|0)|0}else{if(g){e=a;do{e=e+-1|0;c[l+(e<<2)>>2]=c[l+(e-b<<2)>>2]}while((e|0)>(b|0))}qt(l|0,0,b<<2|0)|0}c[j>>2]=a|i;b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}function xd(a){a=a|0;var b=0,d=0;if(!a)return 0;b=c[a>>2]|0;switch(b&2147483647|0){case 1:{a=c[c[a+4>>2]>>2]|0;if(a>>>0>=1073741824)d=4;break}case 0:return 0;default:d=4}if((d|0)==4)a=1073741824;return ((b|0)<0?0-a|0:a)|0}function yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if((a|0)==(b|0)){i=0;return i|0}e=c[a>>2]|0;h=e&-2147483648;f=c[b>>2]|0;i=h>>>30^2;d=i+-1|0;if((h|0)!=(f&-2147483648|0)){i=d;return i|0}g=e&2147483647;e=f&2147483647;if(g>>>0>e>>>0){i=d;return i|0}if(g>>>0>>0){i=1-i|0;return i|0}h=a+4|0;a=b+4|0;while(1){if((g|0)<=0){d=0;e=11;break}g=g+-1|0;e=c[(c[h>>2]|0)+(g<<2)>>2]|0;f=c[(c[a>>2]|0)+(g<<2)>>2]|0;if(e>>>0>f>>>0){e=11;break}if(e>>>0>>0){e=10;break}}if((e|0)==10){i=1-i|0;return i|0}else if((e|0)==11)return d|0;return 0}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[610]|0;if(c[e+552>>2]|0)return;m=e+28|0;f=(c[m>>2]|0)+1|0;c[m>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=31,(c[e+576>>2]|0)!=0):0)$c();e=c[b>>2]&2147483647;switch(e|0){case 0:{_c(13);e=0;break}case 1:{e=(c[c[b+4>>2]>>2]|0)!=1&1;break}default:{}}if((d|0)==(b|0))_c(7);f=c[a>>2]|0;if(!((f&2147418112|0)==0?(c[b>>2]&2147418112|0)==0:0)){_c(12);f=c[a>>2]|0}g=f&2147483647;if((g|0)==1)g=(c[c[a+4>>2]>>2]|0)!=1&1;l=g+e|0;h=c[610]|0;m=c[h+24>>2]|0;if((l|0)>(m|0)?(l|0)>(m<<1|0)|(c[h+128>>2]|0)!=0:0){_c(13);h=c[610]|0}if(c[h+552>>2]|0){d=h+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}do if(!((a|0)==(d|0)|(d|0)==0)){h=c[d>>2]|0;h=(h>>>16&32767)+(h&65535)|0;if(!a){if((h|0)>0)qt(c[d+4>>2]|0,0,h<<2|0)|0;c[d>>2]=0;break}j=c[a>>2]|0;i=j&65535;j=j>>>16&32767;k=j+i|0;l=c[a+4>>2]|0;m=c[d+4>>2]|0;if((k|0)<(h|0))qt(m+(k<<2)|0,0,h-i-j<<2|0)|0;if((k|0)>0){h=0;do{c[m+(h<<2)>>2]=c[l+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}c[d>>2]=c[a>>2]}while(0);if(!(c[a>>2]|0)){d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}j=(c[b>>2]^f)&-2147483648;if(!e){e=c[d>>2]|0;if(e)c[d>>2]=e|j;d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}else{f=c[b+4>>2]|0;h=c[d+4>>2]|0;i=0;do{c[h+(i+g<<2)>>2]=c[f+(i<<2)>>2];i=i+1|0}while((i|0)!=(e|0));c[d>>2]=j|g+(e<<16);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}}function Ad(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[610]|0;if(c[d+552>>2]|0)return;i=c[a>>2]|0;if(!(i&2147418112)){if((a|0)==(b|0)|(b|0)==0)return;d=c[b>>2]|0;d=(d>>>16&32767)+(d&65535)|0;f=(i>>>16&32767)+(i&65535)|0;g=c[a+4>>2]|0;e=c[b+4>>2]|0;if((d|0)>(f|0))qt(e+(f<<2)|0,0,d-f<<2|0)|0;if((f|0)>0){d=0;do{c[e+(d<<2)>>2]=c[g+(d<<2)>>2];d=d+1|0}while((d|0)!=(f|0))}c[b>>2]=c[a>>2];return}h=i&65535;if(h){d=i>>>16;if((a|0)!=(b|0)){d=c[a+4>>2]|0;e=c[b+4>>2]|0;f=i&65535;g=0;do{c[e+(g<<2)>>2]=c[d+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0));a=c[b>>2]|0;if((h|0)<((a>>>16&32767)+(a&65535)|0)){e=c[b+4>>2]|0;d=h;do{c[e+(d<<2)>>2]=0;d=d+1|0;a=c[b>>2]|0}while((d|0)<((a>>>16&32767)+(a&65535)|0));d=b}else d=b}else{if(d&32767)qt((c[a+4>>2]|0)+((i&65535)<<2)|0,0,d<<2&131068|0)|0;d=b}c[d>>2]=i&-2147418113;return}e=(b|0)==0;if((i|0)>=0){if(!e){e=c[b>>2]|0;e=(e>>>16&32767)+(e&65535)|0;if((e|0)>0){qt(c[b+4>>2]|0,0,e<<2|0)|0;d=c[610]|0}c[b>>2]=0}e=c[d>>2]|0;a=c[b+4>>2]|0;if(!e){c[a>>2]=1;d=1}else{h=1;g=0;while(1){f=g+1|0;c[a+(g<<2)>>2]=(h>>>0)%(e>>>0)|0;e=c[d>>2]|0;h=(h>>>0)/(e>>>0)|0;if(!h){d=f;break}else g=f}}c[b>>2]=d;return}if(e)h=d;else{e=c[b>>2]|0;e=(e>>>16&32767)+(e&65535)|0;if((e|0)>0){qt(c[b+4>>2]|0,0,e<<2|0)|0;d=c[610]|0}c[b>>2]=0;h=d}d=c[h>>2]|0;a=c[b+4>>2]|0;if(!d){c[a>>2]=1;d=-2147483647}else{g=1;e=d;f=0;while(1){d=f+1|0;c[a+(f<<2)>>2]=(g>>>0)%(e>>>0)|0;e=c[h>>2]|0;g=(g>>>0)/(e>>>0)|0;if(!g)break;else f=d}d=d|-2147483648}c[b>>2]=d;return}function Bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=c[610]|0;if(c[d+552>>2]|0)return;j=c[a>>2]|0;if(!(j&2147418112)){if(b){e=c[b>>2]|0;e=(e>>>16&32767)+(e&65535)|0;if((e|0)>0){qt(c[b+4>>2]|0,0,e<<2|0)|0;d=c[610]|0}c[b>>2]=0}e=c[d>>2]|0;i=c[b+4>>2]|0;if(!e){c[i>>2]=1;d=1}else{h=1;g=0;while(1){f=g+1|0;c[i+(g<<2)>>2]=(h>>>0)%(e>>>0)|0;e=c[d>>2]|0;h=(h>>>0)/(e>>>0)|0;if(!h){d=f;break}else g=f}}c[b>>2]=d;return}d=j&65535;e=j>>>16;k=e&32767;if(k){f=c[a+4>>2]|0;g=c[b+4>>2]|0;h=e&32767;i=0;do{c[g+(i<<2)>>2]=c[f+(i+d<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}if((a|0)!=(b|0)){a=c[b>>2]|0;if((k|0)<((a>>>16&32767)+(a&65535)|0)){d=c[b+4>>2]|0;e=k;do{c[d+(e<<2)>>2]=0;e=e+1|0;a=c[b>>2]|0}while((e|0)<((a>>>16&32767)+(a&65535)|0));d=b}else d=b}else{if(d)qt((c[a+4>>2]|0)+((e&32767)<<2)|0,0,j<<2&262140|0)|0;d=b}c[d>>2]=k;return}function Cd(a,b){a=a|0;b=b|0;var d=0;d=c[(c[610]|0)+12>>2]|0;return (1<<((b|0)%(d|0)|0)&c[(c[a+4>>2]|0)+(((b|0)/(d|0)|0)<<2)>>2]|0)!=0|0}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[(c[610]|0)+12>>2]|0;d=(b|0)/(e|0)|0;b=(b|0)%(e|0)|0;if(!b)b=1;else b=(b|0)>0?1<>>(0-b|0);e=(c[a+4>>2]|0)+(d<<2)|0;c[e>>2]=(c[e>>2]|0)+b;b=d+1|0;if((c[a>>2]|0)>>>0>=b>>>0)return;c[a>>2]=b;return}function Ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((d|0)<=0){b=0;return b|0}g=c[(c[610]|0)+12>>2]|0;f=c[a+4>>2]|0;a=0;do{h=d;d=d+-1|0;i=($(d,b)|0)+e|0;a=(1<<((i|0)%(g|0)|0)&c[f+(((i|0)/(g|0)|0)<<2)>>2]|0)!=0|a<<1}while((h|0)>1);return a|0}function Fd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[d>>2]=1;c[e>>2]=0;i=(c[610]|0)+12|0;g=c[i>>2]|0;h=c[a+4>>2]|0;if(!(1<<((b|0)%(g|0)|0)&c[h+(((b|0)/(g|0)|0)<<2)>>2])){j=0;return j|0}g=b-((b-f|0)<-1?b+1|0:f)|0;a=1;while(1){b=b+-1|0;if((b|0)<=(g|0))break;f=c[d>>2]|0;c[d>>2]=f+1;k=c[i>>2]|0;a=(1<<((b|0)%(k|0)|0)&c[h+(((b|0)/(k|0)|0)<<2)>>2]|0)!=0|a<<1;if(!(a&3)){j=5;break}}if((j|0)==5){c[d>>2]=f+-1;c[e>>2]=2;a=(a|0)/4|0}if(a&1){k=a;return k|0}c[e>>2]=1;c[d>>2]=(c[d>>2]|0)+-1;k=(a|0)/2|0;return k|0}function Gd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=(c[610]|0)+12|0;h=c[k>>2]|0;m=(d|0)/(h|0)|0;j=c[b+4>>2]|0;h=1<<((d|0)%(h|0)|0);l=(h&c[j+(m<<2)>>2]|0)!=0;i=c[a+4>>2]|0;h=(c[i+(m<<2)>>2]&h|0)!=0;b=(l&1)-(h&1)|0;c[e>>2]=1;c[f>>2]=0;if(!(l^h)){m=0;return m|0}if(!d){m=b;return m|0}h=(g<<1)+-1|0;a=b;b=(b|0)>0?1:-1;while(1){g=d+-1|0;if((d|0)<=1)break;c[e>>2]=(c[e>>2]|0)+1;a=c[k>>2]|0;m=(g|0)/(a|0)|0;a=1<<((g|0)%(a|0)|0);a=((a&c[j+(m<<2)>>2]|0)!=0&1)-((c[i+(m<<2)>>2]&a|0)!=0&1)|0;b=((a|0)>0|b<<1)+(a>>31)|0;if((((b|0)>-1?b:0-b|0)|0)>(h|0))break;else d=g}if((g|0)!=0&(b&1|0)!=0){b=(a|0)>0?(b+-1|0)/2|0:b;c[e>>2]=(c[e>>2]|0)+-1;b=(a|0)<0?(b+1|0)/2|0:b}if(b&1){m=b;return m|0}do{b=(b|0)/2|0;c[f>>2]=(c[f>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+-1}while((b&1|0)==0);return b|0}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a&3;k=d<<2;d=((k+15|0)>>>2)+1|0;if((c[(c[610]|0)+336>>2]|0)==1)d=((d<<3|4)+15|0)>>>2|1;else d=(((d*12|0)+19|0)>>>2)+1|0;i=($(b<<2,d)|0)+((e|0)==0?0:4-e|0)|0;j=a+i|0;f=i+16|0;b=a+f&3;b=(b|0)==0?0:4-b|0;g=i+20|0;h=i+28|0;c[a+(g+b)>>2]=a+(h+b-(a+((b|8)+f)&3));c[a+(i+4)>>2]=a+(b+f);e=k+19&-4;k=b+e|0;d=i+24|0;c[a+(g+k)>>2]=a+(h+k-(a+(d+k)&3));c[a+(i+8)>>2]=a+(k+f);if((c[(c[610]|0)+336>>2]|0)==1){c[j>>2]=2;return j|0}k=b|e<<1;c[a+(g+k)>>2]=a+(h+k-(a+(d+k)&3));c[a+(i+12)>>2]=a+(k+f);c[j>>2]=2;return j|0}function Id(a,b){a=a|0;b=b|0;var d=0;d=c[610]|0;if(c[d+552>>2]|0){a=0;return a|0}a=Hd(a,b,(c[d+24>>2]|0)+-1|0)|0;return a|0}function Jd(a){a=a|0;var b=0,d=0;d=c[610]|0;b=(((c[d+24>>2]<<2)+11|0)>>>2)+1|0;if((c[d+336>>2]|0)==1){d=be(($(a<<2,((b<<3|4)+15|0)>>>2|1)|0)+4|0,1)|0;return d|0}else{d=be(($(a<<2,(((b*12|0)+19|0)>>>2)+1|0)|0)+4|0,1)|0;return d|0}return 0}function Kd(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a)return;e=c[610]|0;d=(((c[e+24>>2]<<2)+11|0)>>>2)+1|0;if((c[e+336>>2]|0)==1)qt(a|0,0,($(b<<2,((d<<3|4)+15|0)>>>2|1)|0)+4|0)|0;else qt(a|0,0,($(b<<2,(((d*12|0)+19|0)>>>2)+1|0)|0)+4|0)|0;ce(a);return}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=c[a>>2]|0;f=c[b>>2]|0;if((f|0)>(e|0))if((a|0)==(d|0)){k=f;e=f}else{td(b,d);k=f}else if((b|0)==(d|0))k=e;else{td(a,d);k=e;e=f}c[d>>2]=k;h=c[a+4>>2]|0;g=c[b+4>>2]|0;l=c[d+4>>2]|0;i=c[610]|0;j=i+24|0;if(!((k|0)>=(c[j>>2]|0)?(c[i+128>>2]|0)!=0:0))c[d>>2]=k+1;b=c[i>>2]|0;f=(e|0)>0;if(!b){if(f){f=0;a=0;do{m=c[h+(a<<2)>>2]|0;b=m+f+(c[g+(a<<2)>>2]|0)|0;f=b>>>0>m>>>0?0:b>>>0>>0?1:f;c[l+(a<<2)>>2]=b;a=a+1|0}while((a|0)!=(e|0));if((f|0)!=0&(e|0)<(k|0))do{b=c[h+(e<<2)>>2]|0;m=b+f+(c[g+(e<<2)>>2]|0)|0;f=m>>>0>b>>>0?0:m>>>0>>0?1:f;c[l+(e<<2)>>2]=m;e=e+1|0}while((f|0)!=0&(e|0)<(k|0));if(f){if((c[i+128>>2]|0)!=0?(e|0)>=(c[j>>2]|0):0){_c(3);return}c[l+(e<<2)>>2]=f}}}else if(f){m=(c[h>>2]|0)+(c[g>>2]|0)|0;a=m>>>0>>0;f=a&1^1;c[l>>2]=m-(a?0:b);if((e|0)!=1){b=1;do{m=c[i>>2]|0;n=(c[h+(b<<2)>>2]|0)+f+(c[g+(b<<2)>>2]|0)|0;a=n>>>0>>0;f=a&1^1;c[l+(b<<2)>>2]=n-(a?0:m);b=b+1|0}while((b|0)!=(e|0))}if((e|0)<(k|0)&(a^1))do{b=(c[h+(e<<2)>>2]|0)+f+(c[g+(e<<2)>>2]|0)|0;m=c[i>>2]|0;n=b>>>0>>0;f=n&1^1;c[l+(e<<2)>>2]=b-(n?0:m);e=e+1|0}while((e|0)<(k|0)&(n^1));if(f){if((c[i+128>>2]|0)!=0?(e|0)>=(c[j>>2]|0):0){_c(3);return}c[l+(e<<2)>>2]=f}}e=(c[d>>2]|0)+-1|0;if(c[l+(e<<2)>>2]|0)return;c[d>>2]=e;return}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c[a>>2]|0;e=c[b>>2]|0;if((e|0)>(l|0)){_c(4);return}if((b|0)==(d|0))e=l;else td(a,d);c[d>>2]=l;k=c[a+4>>2]|0;i=c[b+4>>2]|0;j=c[d+4>>2]|0;h=c[610]|0;a=(e|0)>0;a:do if(!(c[h>>2]|0)){if(a){a=0;b=0;while(1){if((b|0)>(l|0))break;g=c[k+(b<<2)>>2]|0;h=g-(c[i+(b<<2)>>2]|0)-a|0;a=h>>>0>>0?0:h>>>0>g>>>0?1:a;c[j+(b<<2)>>2]=h;b=b+1|0;if(!((a|0)!=0|(b|0)<(e|0)))break a}_c(4);return}}else if(a){a=0;g=0;while(1){if((g|0)>(l|0))break;f=(c[i+(g<<2)>>2]|0)+a|0;a=c[k+(g<<2)>>2]|0;if(a>>>0>>0){b=(c[h>>2]|0)+a|0;a=1}else{b=a;a=0}c[j+(g<<2)>>2]=b-f;g=g+1|0;if(!((a|0)!=0|(g|0)<(e|0)))break a}_c(4);return}while(0);id(d);return}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=27,(c[e+576>>2]|0)!=0):0)$c();Rd(a,1,b,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=28,(c[e+576>>2]|0)!=0):0)$c();Rd(a,-1,b,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=7,(c[e+576>>2]|0)!=0):0){$c();e=c[610]|0}fd(b,c[e+464>>2]|0);Rd(a,1,c[(c[610]|0)+464>>2]|0,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=8,(c[e+576>>2]|0)!=0):0){$c();e=c[610]|0}fd(b,c[e+464>>2]|0);Rd(a,-1,c[(c[610]|0)+464>>2]|0,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function Rd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((vd(a)|0)==0?(vd(d)|0)==0:0){g=od(a)|0;h=od(d)|0;c[a>>2]=c[a>>2]&2147483647;c[d>>2]=c[d>>2]&2147483647;f=yd(a,d)|0;a:do switch(g+1+((($(h,b)|0)+1|0)/2|0)|0){case 0:if((f|0)>-1){Ld(a,d,e);i=17;break a}else{Ld(d,a,e);i=17;break a}case 1:if((f|0)<1){Md(d,a,e);break a}else{Md(a,d,e);i=17;break a}case 2:if((f|0)>-1){Md(a,d,e);break a}else{Md(d,a,e);i=17;break a}case 3:if((f|0)>-1){Ld(a,d,e);break a}else{Ld(d,a,e);break a}default:{}}while(0);if((i|0)==17)c[e>>2]=c[e>>2]^-2147483648;if((a|0)!=(e|0)&(g|0)<0)c[a>>2]=c[a>>2]^-2147483648;if((d|0)==(e|0))return;if(!((d|0)!=(a|0)&(h|0)<0))return;c[d>>2]=c[d>>2]^-2147483648;return}_c(12);return}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((a|0)==(d|0)){if(!b){ed(a);return}}else{ed(d);if(!b)return}f=c[a>>2]|0;r=f&-2147483648;e=f&2147483647;q=c[610]|0;a:do if(!(c[q>>2]|0)){j=d+4|0;if(e){h=c[a+4>>2]|0;i=c[j>>2]|0;a=f&2147483647;f=0;g=0;do{p=Bt(c[h+(g<<2)>>2]|0,0,b|0,0)|0;p=rt(p|0,D|0,f|0,0)|0;f=D;c[i+(g<<2)>>2]=p;g=g+1|0}while((g|0)!=(a|0));if(f){if((e|0)>=(c[q+24>>2]|0)?(c[q+128>>2]|0)!=0:0){_c(3);return}c[(c[j>>2]|0)+(e<<2)>>2]=f;e=e+1|0;c[d>>2]=e;f=d;break}}c[d>>2]=e;f=d;k=25}else{if(!e){f=d;e=c[d>>2]|0;k=25;break}o=q+24|0;p=q+128|0;k=a+4|0;l=q+16|0;m=q+12|0;n=d+4|0;f=0;a=0;while(1){if((a|0)>(c[o>>2]|0)?(c[p>>2]|0)!=0:0)break;i=Bt(c[(c[k>>2]|0)+(a<<2)>>2]|0,0,b|0,0)|0;i=rt(i|0,D|0,f|0,0)|0;j=D;g=c[q>>2]|0;if((g|0)==(c[l>>2]|0)){f=st(i|0,j|0,c[m>>2]|0)|0;h=0}else{f=Ct(i|0,j|0,g|0,0)|0;h=0}h=Bt(g|0,h|0,f|0,0)|0;j=pt(i|0,j|0,h|0,D|0)|0;c[(c[n>>2]|0)+(a<<2)>>2]=j;a=a+1|0;c[d>>2]=a;if(!((f|0)!=0|(a|0)<(e|0))){f=d;e=a;k=25;break a}}_c(3);return}while(0);if((k|0)==25)if(!e)return;c[f>>2]=e|r;return}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=9,(c[e+576>>2]|0)!=0):0)$c();if(vd(a)|0){_c(12);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}switch(b|0){case 0:{ed(d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}case 1:{td(a,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}default:{if((b|0)<0){Sd(a,0-b|0,d);e=c[d>>2]|0;if(e)c[d>>2]=e^-2147483648}else Sd(a,b,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}}}function Ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[a>>2]&2147483647;if((a|0)!=(d|0))ed(d);k=c[610]|0;g=c[k>>2]|0;e=(f|0)==0;if(!g){if(e){b=0;a=c[a>>2]|0;c[d>>2]=a;id(d);return b|0}g=c[a+4>>2]|0;h=c[d+4>>2]|0;e=0;do{k=f;f=f+-1|0;j=c[g+(f<<2)>>2]|0;e=Ct(j|0,e|0,b|0,0)|0;c[h+(f<<2)>>2]=e;e=j-($(e,b)|0)|0}while((k|0)>1);a=c[a>>2]|0;c[d>>2]=a;id(d);return e|0}if(e){b=0;a=c[a>>2]|0;c[d>>2]=a;id(d);return b|0}j=c[a+4>>2]|0;i=c[d+4>>2]|0;e=0;while(1){h=f+-1|0;l=Bt(g|0,0,e|0,0)|0;l=rt(c[j+(h<<2)>>2]|0,0,l|0,D|0)|0;g=D;e=Ct(l|0,g|0,b|0,0)|0;c[i+(h<<2)>>2]=e;e=Bt(e|0,0,b|0,0)|0;e=pt(l|0,g|0,e|0,D|0)|0;if((f|0)<=1)break;g=c[k>>2]|0;f=h}l=c[a>>2]|0;c[d>>2]=l;id(d);return e|0}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[610]|0;if(c[e+552>>2]|0){d=0;return d|0}i=e+28|0;f=(c[i>>2]|0)+1|0;c[i>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=10,(c[e+576>>2]|0)!=0):0)$c();if(vd(a)|0)_c(12);if(!b)_c(2);f=c[610]|0;if(c[f+552>>2]|0){d=f+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=0;return d|0}e=c[a>>2]|0;if(!e){ed(d);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=0;return d|0}if((b|0)==1){td(a,d);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=0;return d|0}i=e&-2147483648;if((b|0)==2)if(!(c[f>>2]|0)){td(a,d);f=c[d>>2]|0;a=(f&2147483647)+-1|0;g=c[d+4>>2]|0;e=c[g>>2]|0;h=e&1;e=e>>>1;c[g>>2]=e;if(a){b=f&2147483647;f=0;do{l=f;f=f+1|0;j=g+(f<<2)|0;k=c[j>>2]|0;c[g+(l<<2)>>2]=e|k<<31;e=k>>>1;c[j>>2]=e}while((f|0)!=(a|0));e=c[g+(b+-1<<2)>>2]|0}if(e){k=c[610]|0;k=k+28|0;l=c[k>>2]|0;l=l+-1|0;c[k>>2]=l;k=(i|0)==0;l=0-h|0;l=k?h:l;return l|0}id(d);k=c[610]|0;k=k+28|0;l=c[k>>2]|0;l=l+-1|0;c[k>>2]=l;k=(i|0)==0;l=0-h|0;l=k?h:l;return l|0}else g=27;else if((b|0)<0){e=Ud(a,0-b|0,d)|0;f=c[d>>2]|0;if(f)c[d>>2]=f^-2147483648}else g=27;if((g|0)==27)e=Ud(a,b,d)|0;l=(c[610]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;l=(i|0)==0?e:0-e|0;return l|0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[610]|0;if(c[d+552>>2]|0){a=0;return a|0}f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=88,(c[d+576>>2]|0)!=0):0)$c();e=c[a>>2]&-2147483648;switch(b|0){case 2:{d=c[610]|0;if(!(c[d>>2]&1)){f=d+28|0;c[f>>2]=(c[f>>2]|0)+-1;if(!(c[c[a+4>>2]>>2]&1)){f=0;return f|0}f=(e>>>30^2)+-1|0;return f|0}break}case 8:{d=c[610]|0;if(!(c[d>>2]&7)){f=d+28|0;c[f>>2]=(c[f>>2]|0)+-1;f=c[c[a+4>>2]>>2]&7;f=(e|0)==0?f:0-f|0;return f|0}break}default:d=c[610]|0}td(a,c[d+464>>2]|0);f=c[(c[610]|0)+464>>2]|0;f=Vd(f,b,f)|0;a=(c[610]|0)+28|0;c[a>>2]=(c[a>>2]|0)+-1;return f|0}function Xd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[610]|0;if(c[h+552>>2]|0)return;l=h+28|0;i=(c[l>>2]|0)+1|0;c[l>>2]=i;if((i|0)<24?(c[h+32+(i<<2)>>2]=191,(c[h+576>>2]|0)!=0):0){$c();h=c[610]|0}fd(1,c[h+468>>2]|0);td(a,c[(c[610]|0)+472>>2]|0);td(b,c[(c[610]|0)+476>>2]|0);ed(d);ed(e);ed(f);ed(g);h=c[610]|0;a:do if(!(c[h+552>>2]|0)){i=0;a=0;l=0;b:while(1){j=i;k=a;while(1){if((xd(c[h+472>>2]|0)|0|j|0)==0?(xd(c[(c[610]|0)+476>>2]|0)|0|k|0)==0:0)break b;a=(Wd(c[(c[610]|0)+472>>2]|0,8)|0)+j|0;i=(Wd(c[(c[610]|0)+476>>2]|0,8)|0)+k|0;b=i&7;c:do if(!(a&1))h=0;else{h=2-(a&3)|0;switch(a&7|0){case 3:case 5:break;default:break c}h=(i&3|0)==2?0-h|0:h}while(0);d:do if(!(i&1))i=0;else{i=2-(i&3)|0;switch(b|0){case 3:case 5:break;default:break d}i=(a&3|0)==2?0-i|0:i}while(0);a=c[610]|0;b=(h|0)>0;do if((c[a>>2]|0)==(c[a+16>>2]|0)){if(!b){if((h|0)<0)Dd(e,l)}else Dd(d,l);if((i|0)>0){Dd(f,l);break}if((i|0)<0)Dd(g,l)}else{if(!b){if((h|0)<0)Nd(e,c[a+468>>2]|0,e)}else Nd(d,c[a+468>>2]|0,d);if((i|0)>0){Nd(f,c[(c[610]|0)+468>>2]|0,f);break}if((i|0)<0)Nd(g,c[(c[610]|0)+468>>2]|0,g)}while(0);j=(j<<1|0)==(h+1|0)?1-j|0:j;k=(k<<1|0)==(i+1|0)?1-k|0:k;h=c[(c[610]|0)+472>>2]|0;Vd(h,2,h)|0;h=c[(c[610]|0)+476>>2]|0;Vd(h,2,h)|0;h=c[610]|0;if((c[h>>2]|0)==(c[h+16>>2]|0)){i=j;a=k;break}i=c[h+468>>2]|0;do if(!(c[h+552>>2]|0)){b=h+28|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;if((a|0)<24?(c[h+32+(a<<2)>>2]=9,(c[h+576>>2]|0)!=0):0)$c();if(!(vd(i)|0)){Sd(i,2,i);h=c[610]|0;b=h+28|0;c[b>>2]=(c[b>>2]|0)+-1;break}else{_c(12);h=c[610]|0;b=h+28|0;c[b>>2]=(c[b>>2]|0)+-1;break}}while(0);if(c[h+552>>2]|0)break a}if(!(c[h+552>>2]|0))l=l+1|0;else break a}h=c[610]|0}while(0);f=h+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[610]|0;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=4,(c[e+576>>2]|0)!=0):0)$c();if((a|0)!=(b|0))td(a,b);e=c[c[610]>>2]|0;f=(c[(c[b+4>>2]|0)+((c[b>>2]&2147483647)+-1<<2)>>2]|0)+1|0;if(!e)if((f|0)!=0?(d=Ct(0,1,f|0,0)|0,(d|0)!=1):0)Sd(b,d,b);else d=1;else{d=(e>>>0)/(f>>>0)|0;if((d|0)==1)d=1;else Sd(b,d,b)}g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return d|0}function Zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=c[610]|0;if(c[e+552>>2]|0)return;if((c[b>>2]|0)!=0?(c[a>>2]|0)!=0:0){z=c[e+484>>2]|0;if((z|0)==(d|0)&((z|0)!=(b|0)&(z|0)!=(a|0)))z=d;else z=c[e+464>>2]|0;y=e+28|0;f=(c[y>>2]|0)+1|0;c[y>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=5,(c[e+576>>2]|0)!=0):0)$c();if((vd(a)|0)==0?(vd(b)|0)==0:0){v=c[a>>2]|0;f=c[b>>2]|0;w=(f^v)&-2147483648;x=v&2147483647;y=f&2147483647;ed(z);u=c[610]|0;if((c[u+128>>2]|0)!=0?(y+x|0)>(c[u+24>>2]|0):0){_c(3);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}a:do if(!(c[u>>2]|0)){n=a+4|0;e=b+4|0;m=z+4|0;if(!((a|0)==(b|0)&x>>>0>5)){if(!x)break;l=c[m>>2]|0;k=f&2147483647;if(!y){qt(l+(k<<2)|0,0,v<<2|0)|0;break}j=v&2147483647;i=c[n>>2]|0;g=c[e>>2]|0;h=0;while(1){f=i+(h<<2)|0;e=0;a=0;do{u=Bt(c[g+(a<<2)>>2]|0,0,c[f>>2]|0,0)|0;u=rt(u|0,D|0,e|0,0)|0;v=l+(a+h<<2)|0;u=rt(u|0,D|0,c[v>>2]|0,0)|0;e=D;c[v>>2]=u;a=a+1|0}while((a|0)!=(k|0));c[l+(h+y<<2)>>2]=e;h=h+1|0;if((h|0)==(j|0))break a}}h=x+-1|0;if(x>>>0>1){i=c[m>>2]|0;j=v&2147483647;k=0;do{l=k;k=k+1|0;if((k|0)<(x|0)){f=c[n>>2]|0;a=f+(l<<2)|0;e=0;g=k;do{b=Bt(c[f+(g<<2)>>2]|0,0,c[a>>2]|0,0)|0;b=rt(b|0,D|0,e|0,0)|0;u=i+(g+l<<2)|0;b=rt(b|0,D|0,c[u>>2]|0,0)|0;e=D;c[u>>2]=b;g=g+1|0}while((g|0)!=(j|0))}else e=0;c[i+(l+x<<2)>>2]=e}while((k|0)<(h|0))}c[z>>2]=(x<<1)+-1;Ld(z,z,z);if(x){i=c[n>>2]|0;h=c[m>>2]|0;a=v&2147483647;e=0;g=0;while(1){v=g<<1;u=c[i+(g<<2)>>2]|0;u=Bt(u|0,0,u|0,0)|0;u=rt(u|0,D|0,e|0,0)|0;f=h+(v<<2)|0;u=rt(u|0,D|0,c[f>>2]|0,0)|0;e=D;c[f>>2]=u;v=h+((v|1)<<2)|0;f=e+(c[v>>2]|0)|0;c[v>>2]=f;g=g+1|0;if((g|0)==(a|0))break;else e=f>>>0>>0&1}}}else{if(!((a|0)==(b|0)&x>>>0>5)){if(!x)break;q=c[z+4>>2]|0;r=u+16|0;s=u+12|0;p=f&2147483647;if(!y){qt(q+(p<<2)|0,0,v<<2|0)|0;break}o=v&2147483647;n=c[a+4>>2]|0;l=c[b+4>>2]|0;m=0;while(1){i=n+(m<<2)|0;e=0;k=0;do{h=Bt(c[l+(k<<2)>>2]|0,0,c[i>>2]|0,0)|0;j=q+(k+m<<2)|0;g=c[j>>2]|0;h=rt(h|0,D|0,e|0,0)|0;g=rt(h|0,D|0,g|0,0)|0;h=D;f=c[u>>2]|0;if((f|0)==(c[r>>2]|0)){e=st(g|0,h|0,c[s>>2]|0)|0;a=0}else{e=Ct(g|0,h|0,f|0,0)|0;a=0}v=Bt(f|0,a|0,e|0,0)|0;v=pt(g|0,h|0,v|0,D|0)|0;c[j>>2]=v;k=k+1|0}while((k|0)!=(p|0));c[q+(m+y<<2)>>2]=e;m=m+1|0;if((m|0)==(o|0))break a}}m=x+-1|0;if(x>>>0>1){n=c[z+4>>2]|0;o=b+4|0;p=u+16|0;q=u+12|0;r=v&2147483647;s=0;do{t=s;s=s+1|0;if((s|0)<(x|0)){i=c[o>>2]|0;j=i+(t<<2)|0;e=0;l=s;do{h=Bt(c[i+(l<<2)>>2]|0,0,c[j>>2]|0,0)|0;k=n+(l+t<<2)|0;g=c[k>>2]|0;h=rt(h|0,D|0,e|0,0)|0;g=rt(h|0,D|0,g|0,0)|0;h=D;f=c[u>>2]|0;if((f|0)==(c[p>>2]|0)){e=st(g|0,h|0,c[q>>2]|0)|0;a=0}else{e=Ct(g|0,h|0,f|0,0)|0;a=0}a=Bt(f|0,a|0,e|0,0)|0;h=pt(g|0,h|0,a|0,D|0)|0;c[k>>2]=h;l=l+1|0}while((l|0)!=(r|0))}else e=0;c[n+(t+x<<2)>>2]=e}while((s|0)<(m|0))}c[z>>2]=(x<<1)+-1;Ld(z,z,z);if(x){m=c[b+4>>2]|0;n=c[z+4>>2]|0;o=c[610]|0;p=o+16|0;q=o+12|0;k=v&2147483647;e=0;l=0;do{i=l<<1;g=c[m+(l<<2)>>2]|0;g=Bt(g|0,0,g|0,0)|0;j=n+(i<<2)|0;a=c[j>>2]|0;g=rt(g|0,D|0,e|0,0)|0;a=rt(g|0,D|0,a|0,0)|0;g=D;e=c[o>>2]|0;if((e|0)==(c[p>>2]|0)){h=st(a|0,g|0,c[q>>2]|0)|0;f=0}else{h=Ct(a|0,g|0,e|0,0)|0;f=0}e=Bt(e|0,f|0,h|0,0)|0;a=pt(a|0,g|0,e|0,D|0)|0;c[j>>2]=a;a=n+((i|1)<<2)|0;e=(c[a>>2]|0)+h|0;c[a>>2]=e;f=c[o>>2]|0;if(e>>>0>>0)e=0;else{c[a>>2]=e-f;e=1}l=l+1|0}while((l|0)!=(k|0))}}while(0);c[z>>2]=w|y+x;id(z);td(z,d);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}_c(12);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}ed(d);return}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;e=c[610]|0;if(c[e+552>>2]|0)return;L=c[e+464>>2]|0;K=e+28|0;f=(c[K>>2]|0)+1|0;c[K>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=6,(c[e+576>>2]|0)!=0):0)$c();if((a|0)==(b|0))_c(7);if(!((vd(a)|0)==0?(vd(b)|0)==0:0))_c(12);if(!(c[b>>2]|0))_c(2);e=c[610]|0;if(c[e+552>>2]|0){b=e+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}f=c[a>>2]|0;J=f&-2147483648;K=c[b>>2]&-2147483648;I=K^J;c[a>>2]=f&2147483647;f=c[b>>2]|0;H=f&2147483647;c[b>>2]=H;e=c[a>>2]|0;td(a,L);h=c[L>>2]|0;G=c[610]|0;if((c[G+128>>2]|0)!=0?(h-H|0)>=(c[G+24>>2]|0):0){_c(3);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}do if((e|0)==(H|0)){if((H|0)==1){F=c[L+4>>2]|0;G=c[F>>2]|0;e=c[c[b+4>>2]>>2]|0;c[F>>2]=(G>>>0)%(e>>>0)|0;id(L);e=(G>>>0)/(e>>>0)|0;break}G=H+-1|0;if((c[(c[L+4>>2]|0)+(G<<2)>>2]|0)>>>2>>>0<(c[(c[b+4>>2]|0)+(G<<2)>>2]|0)>>>0?(yd(L,b)|0)>-1:0){e=0;do{Md(L,b,L);e=e+1|0}while((yd(L,b)|0)>-1)}else e=0}else e=0;while(0);if((yd(L,b)|0)<0){if((a|0)!=(d|0)?(td(L,a),g=c[a>>2]|0,(g|0)!=0):0)c[a>>2]=g|J;if((b|0)!=(d|0)?(ed(d),c[c[d+4>>2]>>2]=e,(e|0)!=0):0)c[d>>2]=I|1;c[b>>2]=c[b>>2]|K;b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}if((H|0)==1){e=Ud(L,c[c[b+4>>2]>>2]|0,L)|0;if((b|0)!=(d|0)){td(L,d);c[d>>2]=c[d>>2]|I}if((a|0)!=(d|0)?(ed(a),c[c[a+4>>2]>>2]=e,(e|0)!=0):0)c[a>>2]=J|1;c[b>>2]=c[b>>2]|K;b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}C=(b|0)!=(d|0);if(C)ed(d);E=Yd(b,b)|0;B=c[610]|0;G=B+128|0;F=c[G>>2]|0;c[G>>2]=0;G=(E|0)!=1;a:do if(!(c[B>>2]|0)){if(G)Sd(L,E,L);q=H+-1|0;r=c[b+4>>2]|0;s=c[r+(q<<2)>>2]|0;if((h|0)>(q|0)){t=c[r+(H+-2<<2)>>2]|0;u=c[L+4>>2]|0;v=d+4|0;w=(H|0)==0;p=f&2147483647;f=h;e=h;do{while(1){o=f;f=f+-1|0;n=u+(o<<2)|0;j=c[n>>2]|0;g=c[u+(f<<2)>>2]|0;if((j|0)==(s|0)){h=g+s|0;if(h>>>0>>0){h=f-H+1|0;g=-1;m=56}else{g=-1;m=50}}else{m=Ct(g|0,j|0,s|0,0)|0;h=Bt(m|0,0,s|0,0)|0;h=pt(g|0,0,h|0,D|0)|0;g=m;m=50}if((m|0)==50){m=0;l=u+(o+-2<<2)|0;do{i=Bt(g|0,0,t|0,0)|0;k=D;if(k>>>0>>0)break;if((k|0)==(h|0)?i>>>0<=(c[l>>2]|0)>>>0:0)break;g=g+-1|0;h=h+s|0}while(h>>>0>=s>>>0);h=f-H+1|0;if(!g)g=0;else m=56}b:do if((m|0)==56){do if(w)i=0;else{i=0;j=0;do{A=Bt(c[r+(j<<2)>>2]|0,0,g|0,0)|0;A=rt(A|0,D|0,i|0,0)|0;B=u+(j+h<<2)|0;z=c[B>>2]|0;i=(z>>>0>>0&1)+D|0;c[B>>2]=z-A;j=j+1|0}while((j|0)!=(p|0));j=c[n>>2]|0;if(j>>>0>=i>>>0)break;c[n>>2]=0;if(!w){k=0;l=0;while(1){B=u+(l+h<<2)|0;i=c[r+(l<<2)>>2]|0;j=(c[B>>2]|0)+k+i|0;c[B>>2]=j;l=l+1|0;if((l|0)==(p|0))break;else k=j>>>0>>0?1:j>>>0>i>>>0?0:k}}g=g+-1|0;break b}while(0);c[n>>2]=j-i}while(0);if((o|0)==(e|0)&(g|0)==0)break;if(C)c[(c[v>>2]|0)+(h<<2)>>2]=g;if((f|0)<=(q|0))break a}e=e+-1|0}while((f|0)>(q|0))}else e=h}else{if(G)Sd(L,E,L);s=H+-1|0;t=c[b+4>>2]|0;u=c[t+(s<<2)>>2]|0;if((h|0)>(s|0)){v=c[t+(H+-2<<2)>>2]|0;w=c[L+4>>2]|0;x=c[610]|0;y=d+4|0;z=(H|0)==0;A=x+16|0;B=x+12|0;r=f&2147483647;f=h;e=h;do{while(1){q=f;f=f+-1|0;p=w+(q<<2)|0;h=c[p>>2]|0;if((h|0)==(u|0)){g=c[x>>2]|0;n=g;g=g+-1|0;i=(c[w+(f<<2)>>2]|0)+u|0}else{n=c[x>>2]|0;m=Bt(n|0,0,h|0,0)|0;m=rt(m|0,D|0,c[w+(f<<2)>>2]|0,0)|0;o=D;g=Ct(m|0,o|0,u|0,0)|0;i=Bt(g|0,0,u|0,0)|0;i=pt(m|0,o|0,i|0,D|0)|0}c:do if(i>>>0>>0){m=w+(q+-2<<2)|0;o=(n|0)==(c[A>>2]|0);do{j=Bt(g|0,0,v|0,0)|0;k=D;if(o)l=st(j|0,k|0,c[B>>2]|0)|0;else l=Ct(j|0,k|0,n|0,0)|0;M=Bt(n|0,0,l|0,0)|0;j=pt(j|0,k|0,M|0,D|0)|0;if(l>>>0>>0)break c;if((l|0)==(i|0)?j>>>0<=(c[m>>2]|0)>>>0:0)break c;g=g+-1|0;i=i+u|0}while(i>>>0>>0)}while(0);o=f-H+1|0;d:do if(!g)g=0;else{do if(z)i=0;else{i=0;h=0;while(1){j=Bt(c[t+(h<<2)>>2]|0,0,g|0,0)|0;j=rt(j|0,D|0,i|0,0)|0;k=D;if((n|0)==(c[A>>2]|0)){i=st(j|0,k|0,c[B>>2]|0)|0;l=n;m=0}else{i=Ct(j|0,k|0,n|0,0)|0;l=n;m=0}m=Bt(l|0,m|0,i|0,0)|0;m=pt(j|0,k|0,m|0,D|0)|0;M=w+(h+o<<2)|0;k=c[M>>2]|0;l=k>>>0>>0;i=i+(l&1)|0;c[M>>2]=k+(l?n:0)-m;h=h+1|0;if((h|0)==(r|0))break;n=c[x>>2]|0}h=c[p>>2]|0;if(h>>>0>=i>>>0)break;c[p>>2]=0;if(!z){h=0;i=0;while(1){M=w+(i+o<<2)|0;n=(c[M>>2]|0)+h+(c[t+(i<<2)>>2]|0)|0;p=c[x>>2]|0;h=n>>>0

    >>0;c[M>>2]=n-(h?0:p);i=i+1|0;if((i|0)==(r|0))break;else h=h&1^1}}g=g+-1|0;break d}while(0);c[p>>2]=h-i}while(0);if((q|0)==(e|0)&(g|0)==0)break;if(C)c[(c[y>>2]|0)+(o<<2)>>2]=g;if((f|0)<=(s|0))break a}e=e+-1|0}while((f|0)>(s|0))}else e=h}while(0);if(C)c[d>>2]=1-H+e|I;c[L>>2]=H;id(b);id(d);if((a|0)!=(d|0)){id(L);if(G)Ud(L,E,a)|0;else td(L,a);e=c[a>>2]|0;if(e)c[a>>2]=e|J}if(G)Ud(b,E,b)|0;c[b>>2]=c[b>>2]|K;M=c[610]|0;c[M+128>>2]=F;M=M+28|0;c[M>>2]=(c[M>>2]|0)+-1;return}function $d(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[610]|0;if(c[h+552>>2]|0)return;j=h+28|0;i=(c[j>>2]|0)+1|0;c[j>>2]=i;if((i|0)<24?(c[h+32+(i<<2)>>2]=24,(c[h+576>>2]|0)!=0):0)$c();if((e|0)==(g|0)){_c(7);j=(c[610]|0)+28|0;c[j>>2]=(c[j>>2]|0)+-1;return}j=c[610]|0;i=j+128|0;h=c[i>>2]|0;c[i>>2]=0;Zd(a,b,c[j+464>>2]|0);if(!((a|0)==(d|0)|(b|0)==(d|0))){j=c[(c[610]|0)+464>>2]|0;Nd(j,d,j)}_d(c[(c[610]|0)+464>>2]|0,e,f);if((f|0)!=(g|0))td(c[(c[610]|0)+464>>2]|0,g);j=c[610]|0;c[j+128>>2]=h;j=j+28|0;c[j>>2]=(c[j>>2]|0)+-1;return}function ae(){return oj(1,728)|0}function be(a,b){a=a|0;b=b|0;var d=0;d=c[610]|0;if(d)if(!(c[d+552>>2]|0)){d=oj(a,b)|0;if(!d){_c(8);d=0}}else d=0;else d=oj(a,b)|0;return d|0}function ce(a){a=a|0;if(!a)return;nj(a);return}function de(a){a=a|0;if((xd(c[a>>2]|0)|0)==0?(xd(c[a+4>>2]|0)|0)==0:0){a=1;return a|0}a=0;return a|0}function ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[610]|0;if(c[d+552>>2]|0)return;f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=156,(c[d+576>>2]|0)!=0):0){$c();d=c[610]|0}if((a|0)==1)td(c[d+532>>2]|0,c[b>>2]|0);else{fd(a,c[d+468>>2]|0);we(c[(c[610]|0)+468>>2]|0,c[b>>2]|0)}ed(c[b+4>>2]|0);f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}function fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=166,(c[e+576>>2]|0)!=0):0)$c();we(a,c[d>>2]|0);we(b,c[d+4>>2]|0);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function ge(a,b){a=a|0;b=b|0;if((a|0)==(b|0))return;td(c[a>>2]|0,c[b>>2]|0);td(c[a+4>>2]|0,c[b+4>>2]|0);return}function he(a){a=a|0;ed(c[a>>2]|0);ed(c[a+4>>2]|0);return}function ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;g=(f|0)<24;if((a|0)==(b|0)){if(g?(c[e+32+(f<<2)>>2]=210,(c[e+576>>2]|0)!=0):0)$c();ye(c[a>>2]|0,c[a+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}if(g?(c[e+32+(f<<2)>>2]=162,(c[e+576>>2]|0)!=0):0)$c();if((xd(c[a>>2]|0)|0)==0?(xd(c[a+4>>2]|0)|0)==0:0)g=14;else g=12;do if((g|0)==12){if((xd(c[b>>2]|0)|0)==0?(xd(c[b+4>>2]|0)|0)==0:0){g=14;break}f=c[a>>2]|0;e=a+4|0;if((((c[f>>2]|0)!=0?(h=c[e>>2]|0,(c[h>>2]|0)!=0):0)?(i=c[b>>2]|0,(c[i>>2]|0)!=0):0)?(j=c[b+4>>2]|0,(c[j>>2]|0)!=0):0){Ce(f,h,i,j,c[d>>2]|0,c[d+4>>2]|0);break}ze(f,c[b>>2]|0,c[(c[610]|0)+468>>2]|0);j=b+4|0;ze(c[e>>2]|0,c[j>>2]|0,c[(c[610]|0)+472>>2]|0);Ae(c[a>>2]|0,c[e>>2]|0,c[(c[610]|0)+484>>2]|0);e=d+4|0;Ae(c[b>>2]|0,c[j>>2]|0,c[e>>2]|0);b=c[e>>2]|0;ze(b,c[(c[610]|0)+484>>2]|0,b);b=c[e>>2]|0;Be(b,c[(c[610]|0)+468>>2]|0,b);e=c[e>>2]|0;Be(e,c[(c[610]|0)+472>>2]|0,e);e=c[610]|0;Be(c[e+468>>2]|0,c[e+472>>2]|0,c[d>>2]|0);e=c[610]|0;if((c[e+708>>2]|0)==-2){d=c[d>>2]|0;Be(d,c[e+472>>2]|0,d)}}while(0);if((g|0)==14){ed(c[d>>2]|0);ed(c[d+4>>2]|0)}d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}function je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[610]|0;if(c[d+552>>2]|0){a=0;return a|0}f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=78,(c[d+576>>2]|0)!=0):0){$c();d=c[610]|0}f=c[d+4>>2]|0;dd(c[d+564>>2]|0)|0;d=c[610]|0;e=c[d>>2]|0;c[d+128>>2]=0;d=df(c[d+484>>2]|0,b)|0;b=c[610]|0;c[b+128>>2]=1;g=c[c[b+484>>2]>>2]|0;b=c[b+24>>2]|0;if((g&65535|0)<=(b|0)?(g>>>16&32767|0)<=(b|0):0){dd(f)|0;le(c[(c[610]|0)+484>>2]|0,e,a);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=d;return g|0}_c(3);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=0;return g|0}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[610]|0;if(c[d+552>>2]|0){a=0;return a|0}f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=77,(c[d+576>>2]|0)!=0):0){$c();d=c[610]|0}e=c[d+4>>2]|0;g=c[d>>2]|0;dd(c[d+564>>2]|0)|0;f=c[610]|0;c[f+128>>2]=0;le(a,g,c[f+484>>2]|0);f=c[610]|0;c[f+128>>2]=1;f=ef(c[f+484>>2]|0,b)|0;ed(c[(c[610]|0)+484>>2]|0);dd(e)|0;a=(c[610]|0)+28|0;c[a>>2]=(c[a>>2]|0)+-1;return f|0}function le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[610]|0;if(c[e+552>>2]|0)return;if((c[e>>2]|0)==(b|0)){td(a,d);return}i=e+28|0;f=(c[i>>2]|0)+1|0;c[i>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=13,(c[e+576>>2]|0)!=0):0)$c();i=od(a)|0;Ad(a,c[(c[610]|0)+468>>2]|0);Bd(a,c[(c[610]|0)+472>>2]|0);pd(1,c[(c[610]|0)+468>>2]|0);g=(b|0)==0;h=0;while(1){ed(c[(c[610]|0)+488>>2]|0);fd(1,c[(c[610]|0)+464>>2]|0);e=c[610]|0;f=c[e+468>>2]|0;if((c[f>>2]|0)>0)if(g){a=0;do{Sd(c[e+464>>2]|0,c[(c[f+4>>2]|0)+(a<<2)>>2]|0,c[e+484>>2]|0);e=c[610]|0;f=c[e+488>>2]|0;Nd(f,c[e+484>>2]|0,f);f=bd(1,16)|0;e=c[(c[610]|0)+464>>2]|0;Sd(e,f,e);e=c[(c[610]|0)+464>>2]|0;Sd(e,f,e);a=a+1|0;e=c[610]|0;f=c[e+468>>2]|0}while((a|0)<(c[f>>2]|0))}else{a=0;do{Sd(c[e+464>>2]|0,c[(c[f+4>>2]|0)+(a<<2)>>2]|0,c[e+484>>2]|0);f=c[610]|0;e=c[f+488>>2]|0;Nd(e,c[f+484>>2]|0,e);e=c[(c[610]|0)+464>>2]|0;Sd(e,b,e);a=a+1|0;e=c[610]|0;f=c[e+468>>2]|0}while((a|0)<(c[f>>2]|0))}if(c[e+552>>2]|h)break;td(c[e+472>>2]|0,f);h=c[610]|0;td(c[h+488>>2]|0,c[h+492>>2]|0);h=1}zd(c[e+492>>2]|0,c[e+488>>2]|0,d);pd(i,d);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}function me(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(c[(c[610]|0)+552>>2]|0){f=0;return f|0}if(!(xd(a)|0)){f=0;return f|0}if((xd(b)|0)<1){f=0;return f|0}d=c[610]|0;f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=3,(c[d+576>>2]|0)!=0):0){$c();d=c[610]|0}td(b,c[d+472>>2]|0);e=Wd(c[(c[610]|0)+472>>2]|0,8)|0;if(!(e&1)){f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;f=0;return f|0}if((xd(a)|0)<0){ud(a,c[(c[610]|0)+468>>2]|0);d=((e|0)%4|0|0)==3?-1:1}else{td(a,c[(c[610]|0)+468>>2]|0);d=1}a:do if(xd(c[(c[610]|0)+468>>2]|0)|0)while(1){f=(e|0)==3;b:do if((e|0)==5){f=(Wd(c[(c[610]|0)+468>>2]|0,2)|0)==0;b=c[610]|0;a=c[b+468>>2]|0;if(f)do{Vd(a,2,a)|0;d=0-d|0;f=(Wd(c[(c[610]|0)+468>>2]|0,2)|0)==0;b=c[610]|0;a=c[b+468>>2]|0}while(f)}else while(1){c:do if(f){g=(Wd(c[(c[610]|0)+468>>2]|0,2)|0)==0;b=c[610]|0;a=c[b+468>>2]|0;if(!g)break b;Vd(a,2,a)|0}else while(1){g=(Wd(c[(c[610]|0)+468>>2]|0,2)|0)==0;b=c[610]|0;a=c[b+468>>2]|0;if(!g)break b;Vd(a,2,a)|0;switch(e|0){case 3:case 5:break c;default:{}}}while(0);d=0-d|0}while(0);if((yd(a,c[b+472>>2]|0)|0)<0){f=c[610]|0;b=f+468|0;g=c[b>>2]|0;c[b>>2]=c[f+472>>2];c[(c[610]|0)+472>>2]=g;g=Wd(c[(c[610]|0)+472>>2]|0,8)|0;b=g;d=((e|0)%4|0|0)==3&((g|0)%4|0|0)==3?0-d|0:d}else b=e;f=c[610]|0;g=c[f+468>>2]|0;Md(g,c[f+472>>2]|0,g);g=c[(c[610]|0)+468>>2]|0;Vd(g,2,g)|0;switch(b|0){case 3:case 5:{d=0-d|0;break}default:{}}if(!(xd(c[(c[610]|0)+468>>2]|0)|0))break a;else e=b}while(0);g=c[610]|0;f=g+28|0;c[f>>2]=(c[f>>2]|0)+-1;g=(xd(c[g+472>>2]|0)|0)==1;g=g?d:0;return g|0}function ne(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+16|0;A=B;g=c[610]|0;if(c[g+552>>2]|0){f=0;i=B;return f|0}z=g+28|0;h=(c[z>>2]|0)+1|0;c[z>>2]=h;if((h|0)<24?(c[g+32+(h<<2)>>2]=30,(c[g+576>>2]|0)!=0):0){$c();g=c[610]|0}td(a,c[g+468>>2]|0);td(b,c[(c[610]|0)+472>>2]|0);z=od(c[(c[610]|0)+468>>2]|0)|0;pd(1,c[(c[610]|0)+468>>2]|0);pd(1,c[(c[610]|0)+472>>2]|0);fd(1,c[(c[610]|0)+476>>2]|0);ed(c[(c[610]|0)+480>>2]|0);a:do if(!(xd(c[(c[610]|0)+472>>2]|0)|0))g=0;else{o=0;n=0;k=0;l=0;m=1;g=0;r=0;while(1){h=c[610]|0;j=c[h+468>>2]|0;if(!n){_d(j,c[h+472>>2]|0,c[h+484>>2]|0);y=c[610]|0;w=y+468|0;x=c[w>>2]|0;c[w>>2]=c[y+472>>2];c[(c[610]|0)+472>>2]=x;x=c[610]|0;Zd(c[x+480>>2]|0,c[x+484>>2]|0,c[x+464>>2]|0);x=c[610]|0;w=c[x+476>>2]|0;Nd(w,c[x+464>>2]|0,w);w=c[610]|0;x=w+476|0;y=c[x>>2]|0;c[x>>2]=c[w+480>>2];c[(c[610]|0)+480>>2]=y;g=g+1|0}else{Sd(j,k,c[h+484>>2]|0);j=c[(c[610]|0)+468>>2]|0;Sd(j,o,j);j=c[610]|0;Sd(c[j+472>>2]|0,n,c[j+464>>2]|0);j=c[(c[610]|0)+472>>2]|0;Sd(j,l,j);j=c[610]|0;h=c[j+464>>2]|0;j=c[j+468>>2]|0;if(!m){Md(h,j,j);x=c[610]|0;y=c[x+472>>2]|0;Md(c[x+484>>2]|0,y,y)}else{Md(j,h,j);x=c[610]|0;y=c[x+472>>2]|0;Md(y,c[x+484>>2]|0,y)}j=c[610]|0;Sd(c[j+476>>2]|0,k,c[j+484>>2]|0);j=c[(c[610]|0)+476>>2]|0;Sd(j,o,j);j=c[610]|0;Sd(c[j+480>>2]|0,n,c[j+464>>2]|0);j=c[(c[610]|0)+480>>2]|0;Sd(j,l,j);j=c[610]|0;h=c[j+464>>2]|0;j=c[j+476>>2]|0;if(!o)td(h,j);else Ld(j,h,j);x=c[610]|0;y=c[x+480>>2]|0;Ld(y,c[x+484>>2]|0,y)}h=c[610]|0;if(c[h+552>>2]|0)break a;if(!(xd(c[h+472>>2]|0)|0))break a;o=c[610]|0;h=c[o+468>>2]|0;n=c[h>>2]|0;do if((n|0)==1){k=c[c[h+4>>2]>>2]|0;l=0;h=c[c[(c[o+472>>2]|0)+4>>2]>>2]|0;j=0;r=1}else{q=n+-1|0;j=c[h+4>>2]|0;l=c[j+(q<<2)>>2]|0;p=l+1|0;h=c[o>>2]|0;m=(n|0)>2;if(h)if(m){x=n+-2|0;l=Yc(l,h,c[j+(x<<2)>>2]|0,p,A)|0;w=c[610]|0;j=c[w>>2]|0;l=Bt(j|0,0,l|0,0)|0;k=D;y=n+-3|0;k=rt(Yc(c[A>>2]|0,j,c[(c[(c[w+468>>2]|0)+4>>2]|0)+(y<<2)>>2]|0,p,A)|0,0,l|0,k|0)|0;l=D;w=c[610]|0;j=c[(c[w+472>>2]|0)+4>>2]|0;j=Yc(c[j+(q<<2)>>2]|0,c[w>>2]|0,c[j+(x<<2)>>2]|0,p,A)|0;x=c[610]|0;w=c[x>>2]|0;j=Bt(w|0,0,j|0,0)|0;h=D;h=rt(Yc(c[A>>2]|0,w,c[(c[(c[x+472>>2]|0)+4>>2]|0)+(y<<2)>>2]|0,p,A)|0,0,j|0,h|0)|0;j=D;break}else{k=Bt(h|0,0,l|0,0)|0;r=n+-2|0;k=rt(c[j+(r<<2)>>2]|0,0,k|0,D|0)|0;l=D;j=c[(c[o+472>>2]|0)+4>>2]|0;h=Bt(c[j+(q<<2)>>2]|0,0,h|0,0)|0;h=rt(h|0,D|0,c[j+(r<<2)>>2]|0,0)|0;j=D;r=1;break}h=n+-2|0;k=c[j+(h<<2)>>2]|0;if(m&(p|0)!=0){l=Zc(l,k,p,A)|0;y=n+-3|0;k=Zc(c[A>>2]|0,c[(c[(c[(c[610]|0)+468>>2]|0)+4>>2]|0)+(y<<2)>>2]|0,p,A)|0;j=c[(c[(c[610]|0)+472>>2]|0)+4>>2]|0;j=Zc(c[j+(q<<2)>>2]|0,c[j+(h<<2)>>2]|0,p,A)|0;m=r;h=Zc(c[A>>2]|0,c[(c[(c[(c[610]|0)+472>>2]|0)+4>>2]|0)+(y<<2)>>2]|0,p,A)|0}else{j=c[(c[o+472>>2]|0)+4>>2]|0;m=(n|0)==2?1:r;h=c[j+(h<<2)>>2]|0;j=c[j+(q<<2)>>2]|0}r=m}while(0);x=(r|0)==0;u=1;t=0;v=0;w=1;y=1;b:while(1){do if(x)if(!y){o=rt(h|0,j|0,v|0,0)|0;p=D;if(!o){h=u;j=t;k=v;l=w;m=0;break b}q=pt(h|0,j|0,w|0,0)|0;s=D;if(!q){h=u;j=t;k=v;l=w;m=0;break b}m=pt(k|0,l|0,u|0,0)|0;m=pt(m|0,D|0,o|0,p|0)|0;n=D;do if(!(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0)){m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(!(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0)){m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(!(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0)){m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=4;break}m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=5;break}m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=6;break}m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=7;break}m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=8;break}m=Ct(m|0,n|0,o|0,p|0)|0;m=rt(m|0,D|0,8,0)|0;p=D;if(p>>>0>0|(p|0)==0&m>>>0>2147483647|(m|0)==0){h=u;j=t;k=v;l=w;m=0;break b}}else m=3}else m=2}else m=1;while(0);n=rt(k|0,l|0,t|0,0)|0;n=pt(n|0,D|0,q|0,s|0)|0;o=D;do if(!(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0)){n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0)n=2;else{n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=3;break}n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=4;break}n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=5;break}n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=6;break}n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=7;break}n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=8;break}n=Ct(n|0,o|0,q|0,s|0)|0;n=rt(n|0,D|0,8,0)|0;s=D;n=s>>>0>0|(s|0)==0&n>>>0>2147483647?0:n}}else n=1;while(0);if((m|0)==(n|0)){q=82;break}else{h=u;j=t;k=v;l=w;m=0;break b}}else{o=pt(h|0,j|0,v|0,0)|0;p=D;if(!o){h=u;j=t;k=v;l=w;m=y;break b}q=rt(h|0,j|0,w|0,0)|0;s=D;if(!q){h=u;j=t;k=v;l=w;m=y;break b}m=rt(k|0,l|0,u|0,0)|0;m=pt(m|0,D|0,o|0,p|0)|0;n=D;do if(!(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0)){m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(!(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0)){m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(!(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0)){m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=4;break}m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=5;break}m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=6;break}m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=7;break}m=pt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=8;break}m=Ct(m|0,n|0,o|0,p|0)|0;m=rt(m|0,D|0,8,0)|0;p=D;if(p>>>0>0|(p|0)==0&m>>>0>2147483647|(m|0)==0){h=u;j=t;k=v;l=w;m=y;break b}}else m=3}else m=2}else m=1;while(0);n=pt(k|0,l|0,t|0,0)|0;n=pt(n|0,D|0,q|0,s|0)|0;o=D;do if(!(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0)){n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0)n=2;else{n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=3;break}n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=4;break}n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=5;break}n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=6;break}n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=7;break}n=pt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=8;break}n=Ct(n|0,o|0,q|0,s|0)|0;n=rt(n|0,D|0,8,0)|0;s=D;n=s>>>0>0|(s|0)==0&n>>>0>2147483647?0:n}}else n=1;while(0);if((m|0)==(n|0)){q=82;break}else{h=u;j=t;k=v;l=w;m=y;break b}}else{if((h|0)==0&(j|0)==0){h=u;j=t;k=v;l=w;m=y;break b}m=pt(k|0,l|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=pt(m|0,n|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=pt(m|0,n|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=pt(m|0,n|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=pt(m|0,n|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=pt(m|0,n|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=pt(m|0,n|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=pt(m|0,n|0,h|0,j|0)|0;n=D;if(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0){m=8;q=84;break}m=Ct(m|0,n|0,h|0,j|0)|0;m=rt(m|0,D|0,8,0)|0;s=D;if(s>>>0>0|(s|0)==0&m>>>0>2147483647|(m|0)==0){h=u;j=t;k=v;l=w;m=y;break b}else q=82}else{m=7;q=84}}else{m=6;q=84}}else{m=5;q=84}}else{m=4;q=84}}else{m=3;q=84}}else{m=2;q=84}}else q=83}while(0);if((q|0)==82)if((m|0)==1)q=83;else q=84;if((q|0)==83){m=w+t|0;if((m|0)<0){h=u;j=t;k=v;l=w;m=y;break}else{n=h;o=j;p=v}}else if((q|0)==84){if(m>>>0>=(((-2147483648-t|0)>>>0)/(w>>>0)|0)>>>0){h=u;j=t;k=v;l=w;m=y;break}p=$(m,v)|0;t=($(m,w)|0)+t|0;n=Bt(m|0,0,h|0,j|0)|0;o=D;m=t}n=pt(k|0,l|0,n|0,o|0)|0;t=w;o=v;q=j;s=h;h=n;j=D;v=p+u|0;w=m;y=y^1;g=g+1|0;u=o;l=q;k=s}g=(g|0)%2|0;if(!(xd(c[(c[610]|0)+472>>2]|0)|0))break;else{o=h;n=j}}}while(0);if(((g+((z|0)==-1&1)|0)%2|0|0)==1){A=c[(c[610]|0)+476>>2]|0;Od(b,A,A)}if((d|0)!=(e|0)){ud(a,c[(c[610]|0)+472>>2]|0);A=c[610]|0;a=c[A+480>>2]|0;$d(c[A+472>>2]|0,c[A+476>>2]|0,c[A+468>>2]|0,b,a,a);td(c[(c[610]|0)+480>>2]|0,e)}td(c[(c[610]|0)+476>>2]|0,d);if(!((f|0)==(d|0)|(f|0)==(e|0)))td(c[(c[610]|0)+468>>2]|0,f);f=c[610]|0;e=f+28|0;c[e>>2]=(c[e>>2]|0)+-1;f=xd(c[f+468>>2]|0)|0;i=B;return f|0}function oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=213,(c[e+576>>2]|0)!=0):0)$c();g=ne(a,b,d,d,d)|0;d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return g|0}function pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(c[(c[610]|0)+552>>2]|0)return;fd(1,d);if(!b)return;e=c[610]|0;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=50,(c[e+576>>2]|0)!=0):0)$c();if((b|0)<0){_c(10);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}if((a|0)!=2){e=1;while(1)if(e>>>0>b>>>0)break;else e=e<<1;e=e>>>1;if(e)do{Zd(d,d,d);if(e&b)Td(d,a,d);e=e>>>1}while((e|0)!=0)}else se(b,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;td(a,c[(c[610]|0)+484>>2]|0);ed(e);a=c[610]|0;if(c[a+552>>2]|0)return;if(!(xd(c[a+484>>2]|0)|0))return;fd(1,e);if(!b)return;a=c[610]|0;g=a+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[a+32+(f<<2)>>2]=17,(c[a+576>>2]|0)!=0):0)$c();if((b|0)<0){_c(10);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}a:do if((e|0)!=(d|0)){f=Yd(d,d)|0;_d(c[(c[610]|0)+484>>2]|0,d,d);while(1){a=c[(c[610]|0)+20>>2]|0;if(a)tb[a&0]()|0;if(b&1){g=c[(c[610]|0)+484>>2]|0;$d(e,g,g,d,d,e)}a=c[610]|0;if((b+1|0)>>>0<3|(c[a+552>>2]|0)!=0)break;g=c[a+484>>2]|0;$d(g,g,g,d,d,g);b=(b|0)/2|0}if((f|0)!=1){Ud(d,f,d)|0;_d(e,d,d);a=c[610]|0}}else while(1){if(b&1)Zd(e,c[(c[610]|0)+484>>2]|0,e);a=c[610]|0;if((b+1|0)>>>0<3|(c[a+552>>2]|0)!=0)break a;g=c[a+484>>2]|0;Zd(g,g,g);b=(b|0)/2|0}while(0);g=a+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function re(a){a=a|0;var b=0,d=0,e=0;if(c[(c[610]|0)+552>>2]|0){a=0;return a|0}if(!(xd(a)|0)){a=0;return a|0}b=c[610]|0;e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=49,(c[b+576>>2]|0)!=0):0){$c();e=c[610]|0}else e=b;if((c[e>>2]|0)==(c[e+16>>2]|0)){d=(c[a>>2]&2147483647)+-1|0;b=$(d,c[e+12>>2]|0)|0;d=c[(c[a+4>>2]|0)+(d<<2)>>2]|0;if(d)do{b=b+1|0;d=d>>>1}while((d|0)!=0)}else{td(a,c[e+464>>2]|0);pd(1,c[(c[610]|0)+464>>2]|0);b=c[610]|0;d=c[b+464>>2]|0;if((c[d>>2]|0)>>>0>1){e=b;b=0;do{Ud(d,c[e+16>>2]|0,d)|0;e=c[610]|0;b=(c[e+12>>2]|0)+b|0;d=c[e+464>>2]|0}while((c[d>>2]|0)>>>0>1)}else{e=b;b=0}a=c[d+4>>2]|0;d=c[a>>2]|0;if(d){do{b=b+1|0;d=d>>>1}while((d|0)!=0);c[a>>2]=d}}a=e+28|0;c[a>>2]=(c[a>>2]|0)+-1;a=b;return a|0}function se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(c[(c[610]|0)+552>>2]|0)return;fd(1,b);if(!a)return;d=c[610]|0;f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=149,(c[d+576>>2]|0)!=0):0)$c();if((a|0)<0){_c(10);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}g=c[610]|0;e=c[g+12>>2]|0;f=(a|0)/(e|0)|0;e=(a|0)%(e|0)|0;d=c[g+16>>2]|0;if((c[g>>2]|0)==(d|0)){wd(b,f,b);g=b+4|0;f=bd(c[(c[g>>2]|0)+((c[b>>2]|0)+-1<<2)>>2]|0,e)|0;c[(c[g>>2]|0)+((c[b>>2]|0)+-1<<2)>>2]=f}else{if((f|0)>=1?(Sd(b,d,b),(f|0)!=1):0){d=1;do{d=d+1|0;Sd(b,c[(c[610]|0)+16>>2]|0,b)}while((d|0)!=(f|0))}Sd(b,bd(1,e)|0,b)}g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[610]|0;if(c[d+552>>2]|0)return;h=d+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=20,(c[d+576>>2]|0)!=0):0){$c();d=c[610]|0}ed(c[d+464>>2]|0);g=0;do{h=g;g=g+1|0;c[c[(c[610]|0)+464>>2]>>2]=g;d=ad()|0;f=c[610]|0;e=c[f>>2]|0;if(e)d=(d>>>0)%(e>>>0)|0;c[(c[(c[f+464>>2]|0)+4>>2]|0)+(h<<2)>>2]=d}while((yd(c[(c[610]|0)+464>>2]|0,a)|0)<0);id(c[(c[610]|0)+464>>2]|0);_d(c[(c[610]|0)+464>>2]|0,a,a);td(c[(c[610]|0)+464>>2]|0,b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[610]|0;if(c[e+552>>2]|0)return;h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=19,(c[e+576>>2]|0)!=0):0)$c();if((b+-2|0)>>>0>254){_c(1);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}while(1){pe(b,a,c[(c[610]|0)+468>>2]|0);te(c[(c[610]|0)+468>>2]|0,d);e=c[(c[610]|0)+468>>2]|0;Vd(e,b,e)|0;e=c[610]|0;if(c[e+552>>2]|0)break;if((yd(d,c[e+468>>2]|0)|0)>=0){g=9;break}}if((g|0)==9)e=c[610]|0;h=e+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}function ve(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[610]|0;if(c[b+552>>2]|0){a=0;return a|0}if((xd(c[b+312>>2]|0)|0)!=0?(yd(a,c[(c[610]|0)+312>>2]|0)|0)==0:0){a=c[(c[610]|0)+308>>2]|0;return a|0}b=c[610]|0;e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=80,(c[b+576>>2]|0)!=0):0)$c();if((xd(a)|0)<3){_c(19);a=(c[610]|0)+28|0;c[a>>2]=(c[a>>2]|0)+-1;a=0;return a|0}ed(c[(c[610]|0)+488>>2]|0);ed(c[(c[610]|0)+524>>2]|0);e=Wd(a,8)|0;b=c[610]|0;c[b+716>>2]=e;switch(e|0){case 6:case 4:case 2:case 1:case 0:{c[b+708>>2]=0;break}case 3:{c[b+708>>2]=-1;break}case 5:{c[b+708>>2]=-2;break}case 7:{c[b+708>>2]=-1;break}default:{}}d=Wd(a,9)|0;b=c[610]|0;c[b+720>>2]=d;d=b+724|0;c[d>>2]=0;e=a+4|0;if((c[(c[e>>2]|0)+((c[a>>2]|0)+-1<<2)>>2]|0)>>>0<1342177280)c[d>>2]=1;c[b+324>>2]=1;fd(1,c[b+532>>2]|0);b=c[610]|0;if(!(c[b+324>>2]|0)){td(a,c[b+312>>2]|0);a=c[610]|0;c[a+308>>2]=0;a=a+28|0;c[a>>2]=(c[a>>2]|0)+-1;a=0;return a|0}d=c[b+488>>2]|0;c[d>>2]=2;f=c[d+4>>2]|0;c[f>>2]=0;c[f+4>>2]=1;f=c[b+524>>2]|0;c[f>>2]=1;c[c[f+4>>2]>>2]=c[c[e>>2]>>2];if((oe(f,d,c[b+520>>2]|0)|0)==1){f=c[610]|0;c[f+308>>2]=(c[f>>2]|0)-(c[c[(c[f+520>>2]|0)+4>>2]>>2]|0);td(a,c[f+312>>2]|0);f=c[610]|0;c[f+128>>2]=0;a=c[f+312>>2]|0;wd(a,c[a>>2]|0,c[f+316>>2]|0);f=c[610]|0;c[f+128>>2]=1;f=c[f+532>>2]|0;we(f,f);f=c[610]|0;a=f+28|0;c[a>>2]=(c[a>>2]|0)+-1;f=c[f+308>>2]|0;return f|0}else{_c(19);f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;f=0;return f|0}return 0}function we(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[610]|0;if(c[d+552>>2]|0)return;f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=81,(c[d+576>>2]|0)!=0):0){$c();d=c[610]|0}if(!(xd(c[d+312>>2]|0)|0)){_c(20);f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}td(a,b);f=c[(c[610]|0)+312>>2]|0;_d(b,f,f);if((xd(b)|0)<0)Nd(b,c[(c[610]|0)+312>>2]|0,b);d=c[610]|0;if(!(c[d+324>>2]|0)){f=d+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}else{c[d+128>>2]=0;wd(b,c[c[d+312>>2]>>2]|0,c[d+464>>2]|0);a=c[610]|0;f=c[a+312>>2]|0;_d(c[a+464>>2]|0,f,f);f=c[610]|0;c[f+128>>2]=1;td(c[f+464>>2]|0,b);f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+16|0;y=z;d=c[610]|0;if(c[d+552>>2]|0){i=z;return}x=d+28|0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=82,(c[d+576>>2]|0)!=0):0){$c();d=c[610]|0}w=c[d+464>>2]|0;x=c[d+312>>2]|0;t=c[d+308>>2]|0;td(a,w);d=c[610]|0;if(!(c[d+324>>2]|0)){_d(w,x,x);td(w,b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;i=z;return}u=c[x>>2]|0;v=u<<1;d=c[d>>2]|0;a:do if(!d){e=w+4|0;if((u|0)>0){h=c[e>>2]|0;j=c[x+4>>2]|0;d=0;k=0;do{g=$(c[h+(k<<2)>>2]|0,t)|0;c[y>>2]=g;a=0;f=0;while(1){r=Bt(c[j+(f<<2)>>2]|0,0,g|0,0)|0;r=rt(r|0,D|0,a|0,0)|0;s=h+(f+k<<2)|0;r=rt(r|0,D|0,c[s>>2]|0,0)|0;a=D;c[s>>2]=r;f=f+1|0;if((f|0)==(u|0))break;g=c[y>>2]|0}q=h+(k+u<<2)|0;s=(c[q>>2]|0)+d|0;r=s+a|0;c[q>>2]=r;d=r>>>0>>0?1:s>>>0>>0&1;k=k+1|0}while((k|0)!=(u|0))}else d=0}else{e=w+4|0;if((u|0)>0){s=x+4|0;g=c[e>>2]|0;a=d;d=0;f=0;while(1){Yc(c[g+(f<<2)>>2]|0,t,0,a,y)|0;m=c[s>>2]|0;q=c[e>>2]|0;r=c[610]|0;n=r+16|0;o=r+12|0;a=0;p=0;do{k=Bt(c[m+(p<<2)>>2]|0,0,c[y>>2]|0,0)|0;k=rt(k|0,D|0,a|0,0)|0;j=q+(p+f<<2)|0;k=rt(k|0,D|0,c[j>>2]|0,0)|0;l=D;g=c[r>>2]|0;if((g|0)==(c[n>>2]|0)){a=st(k|0,l|0,c[o>>2]|0)|0;h=0}else{a=Ct(k|0,l|0,g|0,0)|0;h=0}h=Bt(g|0,h|0,a|0,0)|0;l=pt(k|0,l|0,h|0,D|0)|0;c[j>>2]=l;p=p+1|0}while((p|0)!=(u|0));g=f+u|0;p=q+(g<<2)|0;d=a+d+(c[p>>2]|0)|0;c[p>>2]=d;a=c[r>>2]|0;if(d>>>0>>0)d=0;else{c[q+(g<<2)>>2]=d-a;d=1}f=f+1|0;if((f|0)==(u|0))break a;g=q;a=c[r>>2]|0}}else d=0}while(0);c[(c[e>>2]|0)+(v<<2)>>2]=d;c[w>>2]=v|1;wd(w,0-u|0,w);id(w);if((yd(w,x)|0)>-1)Md(w,x,w);td(w,b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;i=z;return}function ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[610]|0;if(c[f+552>>2]|0)return;h=f+28|0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=225,(c[f+576>>2]|0)!=0):0){$c();f=c[610]|0}if((c[f+724>>2]|0)!=0?(c[f+708>>2]|0)==-1:0){Ld(a,b,c[f+468>>2]|0);f=c[610]|0;Ld(a,c[f+312>>2]|0,c[f+472>>2]|0);f=c[(c[610]|0)+472>>2]|0;Md(f,b,f);Ld(a,a,d);ze(d,b,e);f=c[610]|0;ze(c[f+468>>2]|0,c[f+472>>2]|0,d);f=c[610]|0}else{g=c[f+468>>2]|0;if(!(c[f+552>>2]|0)){i=f+28|0;h=(c[i>>2]|0)+1|0;c[i>>2]=h;if((h|0)<24?(c[f+32+(h<<2)>>2]=90,(c[f+576>>2]|0)!=0):0)$c();Ld(a,b,g);if((yd(g,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(g,c[(c[610]|0)+312>>2]|0,g);f=c[610]|0;i=f+28|0;c[i>>2]=(c[i>>2]|0)+-1}Be(a,b,c[f+472>>2]|0);f=c[610]|0;if((c[f+708>>2]|0)==-2){i=c[f+472>>2]|0;Be(i,b,i)}ze(a,b,e);f=c[610]|0;ze(c[f+468>>2]|0,c[f+472>>2]|0,d);f=c[610]|0;if((c[f+708>>2]|0)==-2?(c[f+552>>2]|0)==0:0){i=f+28|0;g=(c[i>>2]|0)+1|0;c[i>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=90,(c[f+576>>2]|0)!=0):0)$c();Ld(d,e,d);if((yd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(d,c[(c[610]|0)+312>>2]|0,d);f=c[610]|0;i=f+28|0;c[i>>2]=(c[i>>2]|0)+-1}if(!(c[f+552>>2]|0)){i=f+28|0;g=(c[i>>2]|0)+1|0;c[i>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=90,(c[f+576>>2]|0)!=0):0)$c();Ld(e,e,e);if((yd(e,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(e,c[(c[610]|0)+312>>2]|0,e);f=c[610]|0;i=f+28|0;c[i>>2]=(c[i>>2]|0)+-1}}i=f+28|0;c[i>>2]=(c[i>>2]|0)+-1;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=(a|0)==0;if(e){if(!d)return}else if((a|0)==(d|0)&(c[a>>2]|0)==0)return;if(!b){if(!d)return}else{f=(c[b>>2]|0)==0;if((b|0)==(d|0)&f)return;if(!e?!((c[a>>2]|0)==0|f):0){e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=83,(c[e+576>>2]|0)!=0):0){$c();e=c[610]|0}c[e+128>>2]=0;Zd(a,b,c[e+464>>2]|0);xe(c[(c[610]|0)+464>>2]|0,d);g=c[610]|0;c[g+128>>2]=1;g=g+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}}ed(d);return}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=90,(c[e+576>>2]|0)!=0):0)$c();Ld(a,b,d);if((yd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(d,c[(c[610]|0)+312>>2]|0,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=91,(c[e+576>>2]|0)!=0):0)$c();if((yd(a,b)|0)>-1)Md(a,b,d);else{Md(b,a,d);Md(c[(c[610]|0)+312>>2]|0,d,d)}g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function Ce(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[610]|0;if(c[h+552>>2]|0)return;c[h+128>>2]=0;l=h+28|0;i=(c[l>>2]|0)+1|0;c[l>>2]=i;if((i|0)<24?(c[h+32+(i<<2)>>2]=151,(c[h+576>>2]|0)!=0):0){$c();h=c[610]|0}Zd(a,d,c[h+464>>2]|0);Zd(b,e,c[(c[610]|0)+484>>2]|0);h=c[610]|0;if((c[h+724>>2]|0)!=0?(c[h+708>>2]|0)==-1:0){Ld(c[h+464>>2]|0,c[h+484>>2]|0,c[h+488>>2]|0);Ld(a,b,c[(c[610]|0)+468>>2]|0);Ld(d,e,c[(c[610]|0)+472>>2]|0);h=c[610]|0}else{i=c[h+464>>2]|0;j=c[h+484>>2]|0;k=c[h+488>>2]|0;if(!(c[h+552>>2]|0)){n=h+28|0;l=(c[n>>2]|0)+1|0;c[n>>2]=l;if((l|0)<24?(c[h+32+(l<<2)>>2]=153,(c[h+576>>2]|0)!=0):0)$c();Ld(i,j,k);if((yd(k,c[(c[610]|0)+316>>2]|0)|0)>-1)Md(k,c[(c[610]|0)+316>>2]|0,k);h=c[610]|0;n=h+28|0;c[n>>2]=(c[n>>2]|0)+-1}if((c[h+708>>2]|0)==-2?(m=c[h+484>>2]|0,(c[h+552>>2]|0)==0):0){n=h+28|0;i=(c[n>>2]|0)+1|0;c[n>>2]=i;if((i|0)<24?(c[h+32+(i<<2)>>2]=153,(c[h+576>>2]|0)!=0):0)$c();Ld(m,m,m);if((yd(m,c[(c[610]|0)+316>>2]|0)|0)>-1)Md(m,c[(c[610]|0)+316>>2]|0,m);h=c[610]|0;n=h+28|0;c[n>>2]=(c[n>>2]|0)+-1}j=c[h+468>>2]|0;if(!(c[h+552>>2]|0)){n=h+28|0;i=(c[n>>2]|0)+1|0;c[n>>2]=i;if((i|0)<24?(c[h+32+(i<<2)>>2]=90,(c[h+576>>2]|0)!=0):0)$c();Ld(a,b,j);if((yd(j,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(j,c[(c[610]|0)+312>>2]|0,j);h=c[610]|0;i=h+28|0;c[i>>2]=(c[i>>2]|0)+-1;i=c[h+472>>2]|0;if(!(c[h+552>>2]|0)){n=h+28|0;j=(c[n>>2]|0)+1|0;c[n>>2]=j;if((j|0)<24?(c[h+32+(j<<2)>>2]=90,(c[h+576>>2]|0)!=0):0)$c();Ld(d,e,i);if((yd(i,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(i,c[(c[610]|0)+312>>2]|0,i);h=c[610]|0;n=h+28|0;c[n>>2]=(c[n>>2]|0)+-1}}}n=c[h+464>>2]|0;De(n,c[h+484>>2]|0,n);xe(c[(c[610]|0)+464>>2]|0,f);h=c[610]|0;Zd(c[h+468>>2]|0,c[h+472>>2]|0,c[h+464>>2]|0);h=c[610]|0;if((c[h+724>>2]|0)!=0?(c[h+708>>2]|0)==-1:0){n=c[h+464>>2]|0;Md(n,c[h+488>>2]|0,n)}else{n=c[h+464>>2]|0;De(n,c[h+488>>2]|0,n)}xe(c[(c[610]|0)+464>>2]|0,g);n=c[610]|0;g=n+28|0;c[g>>2]=(c[g>>2]|0)+-1;c[n+128>>2]=1;return}function De(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=154,(c[e+576>>2]|0)!=0):0)$c();if((yd(a,b)|0)>-1)Md(a,b,d);else{Md(b,a,d);Md(c[(c[610]|0)+316>>2]|0,d,d)}g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[610]|0;f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=198,(c[d+576>>2]|0)!=0):0){$c();d=c[610]|0}td(a,c[d+468>>2]|0);if(Wd(c[(c[610]|0)+468>>2]|0,2)|0){a=c[610]|0;f=c[a+468>>2]|0;Nd(f,c[a+312>>2]|0,f)}f=c[(c[610]|0)+468>>2]|0;Vd(f,2,f)|0;td(c[(c[610]|0)+468>>2]|0,b);f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}function Fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0){a=0;return a|0}g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=85,(c[e+576>>2]|0)!=0):0)$c();if((a|0)==(b|0)){_c(7);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=0;return g|0}xe(b,c[(c[610]|0)+488>>2]|0);g=c[610]|0;e=c[g+488>>2]|0;e=oe(e,c[g+312>>2]|0,e)|0;if((e|0)==1){g=c[(c[610]|0)+488>>2]|0;we(g,g);ze(a,c[(c[610]|0)+488>>2]|0,d)}else ed(d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=e;return g|0}function Ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!b){ed(d);return}g=(b|0)<0;b=g?0-b|0:b;e=c[610]|0;if(c[e+552>>2]|0)return;h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=102,(c[e+576>>2]|0)!=0):0)$c();if((b|0)>=7){Sd(a,b,c[(c[610]|0)+464>>2]|0);a=c[610]|0;h=c[a+312>>2]|0;_d(c[a+464>>2]|0,h,h);td(c[(c[610]|0)+464>>2]|0,d);do if(g){if(!(xd(d)|0)){ed(d);break}b=c[610]|0;if(!(c[b+552>>2]|0)){h=b+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[b+32+(e<<2)>>2]=92,(c[b+576>>2]|0)!=0):0){$c();b=c[610]|0}Md(c[b+312>>2]|0,d,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}}while(0);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}switch(b|0){case 1:{td(a,d);break}case 2:{b=c[610]|0;if(!(c[b+552>>2]|0)){h=b+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[b+32+(e<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)$c();Ld(a,a,d);if((yd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(d,c[(c[610]|0)+312>>2]|0,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}break}case 3:{b=c[610]|0;e=c[b+464>>2]|0;if(!(c[b+552>>2]|0)){h=b+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[b+32+(f<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)$c();Ld(a,a,e);if((yd(e,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(e,c[(c[610]|0)+312>>2]|0,e);e=c[610]|0;b=e+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=c[e+464>>2]|0;if(!(c[e+552>>2]|0)){h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=90,(c[e+576>>2]|0)!=0):0)$c();Ld(a,b,d);if((yd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(d,c[(c[610]|0)+312>>2]|0,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}}break}case 4:{b=c[610]|0;if(!(c[b+552>>2]|0)){h=b+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[b+32+(e<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)$c();Ld(a,a,d);if((yd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(d,c[(c[610]|0)+312>>2]|0,d);b=c[610]|0;h=b+28|0;c[h>>2]=(c[h>>2]|0)+-1;if(!(c[b+552>>2]|0)){h=b+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[b+32+(e<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)$c();Ld(d,d,d);if((yd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(d,c[(c[610]|0)+312>>2]|0,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}}break}case 5:{b=c[610]|0;e=c[b+464>>2]|0;if(!(c[b+552>>2]|0)){h=b+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[b+32+(f<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)$c();Ld(a,a,e);if((yd(e,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(e,c[(c[610]|0)+312>>2]|0,e);e=c[610]|0;b=e+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=c[e+464>>2]|0;if(!(c[e+552>>2]|0)){h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=90,(c[e+576>>2]|0)!=0):0)$c();Ld(b,b,b);if((yd(b,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(b,c[(c[610]|0)+312>>2]|0,b);e=c[610]|0;b=e+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=c[e+464>>2]|0;if(!(c[e+552>>2]|0)){h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=90,(c[e+576>>2]|0)!=0):0)$c();Ld(a,b,d);if((yd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(d,c[(c[610]|0)+312>>2]|0,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}}}break}case 6:{b=c[610]|0;if(!(c[b+552>>2]|0)){h=b+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[b+32+(e<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)$c();Ld(a,a,d);if((yd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(d,c[(c[610]|0)+312>>2]|0,d);b=c[610]|0;e=b+28|0;c[e>>2]=(c[e>>2]|0)+-1;e=c[b+464>>2]|0;if(!(c[b+552>>2]|0)){h=b+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[b+32+(f<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)$c();Ld(d,d,e);if((yd(e,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(e,c[(c[610]|0)+312>>2]|0,e);e=c[610]|0;b=e+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=c[e+464>>2]|0;if(!(c[e+552>>2]|0)){h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=90,(c[e+576>>2]|0)!=0):0)$c();Ld(d,b,d);if((yd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Md(d,c[(c[610]|0)+312>>2]|0,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}}}break}default:{}}do if(g){if(!(xd(d)|0)){ed(d);break}b=c[610]|0;if(!(c[b+552>>2]|0)){h=b+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[b+32+(e<<2)>>2]=92,(c[b+576>>2]|0)!=0):0){$c();b=c[610]|0}Md(c[b+312>>2]|0,d,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}}while(0);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}function He(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!a){b=1;return b|0}if((a|0)<0){b=0;return b|0}e=c[610]|0;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=118,(c[e+576>>2]|0)!=0):0)$c();if((b|0)==(d|0)){_c(7);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=0;return g|0}if((a|0)==1){td(c[(c[610]|0)+532>>2]|0,c[d>>2]|0);g=c[d>>2]|0;Fe(g,c[b>>2]|0,g)|0;g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=1;return g|0}fd(1,c[d>>2]|0);td(c[b>>2]|0,c[d+4>>2]|0);if((a|0)>2){e=2;do{g=e+-1|0;ze(c[d+(g<<2)>>2]|0,c[b+(g<<2)>>2]|0,c[d+(e<<2)>>2]|0);e=e+1|0}while((e|0)!=(a|0))}f=a+-1|0;e=d+(f<<2)|0;f=b+(f<<2)|0;ze(c[e>>2]|0,c[f>>2]|0,c[(c[610]|0)+488>>2]|0);if(!(xd(c[(c[610]|0)+488>>2]|0)|0)){_c(2);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=0;return g|0}h=c[(c[610]|0)+488>>2]|0;xe(h,h);h=c[(c[610]|0)+488>>2]|0;xe(h,h);h=c[610]|0;g=c[h+488>>2]|0;oe(g,c[h+312>>2]|0,g)|0;td(c[f>>2]|0,c[(c[610]|0)+484>>2]|0);e=c[e>>2]|0;ze(e,c[(c[610]|0)+488>>2]|0,e);e=a+-2|0;if(e)do{h=d+(e<<2)|0;g=c[h>>2]|0;ze(g,c[(c[610]|0)+484>>2]|0,g);h=c[h>>2]|0;ze(h,c[(c[610]|0)+488>>2]|0,h);h=c[(c[610]|0)+484>>2]|0;ze(h,c[b+(e<<2)>>2]|0,h);e=e+-1|0}while((e|0)!=0);h=c[610]|0;ze(c[h+484>>2]|0,c[h+488>>2]|0,c[d>>2]|0);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;h=1;return h|0} +function ej(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(Jh()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)Di(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}while(0);do if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}while(0);e:do if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1;while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[26063+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}jj(ba,s,g)}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=st(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=26543;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=26543;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=pt(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=26543;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?26543:26545;L=76}else{p=1;s=26544;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=26543;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=26543;n=N;break}case 109:{n=Kh(c[(Jh()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:26553;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){lj(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?26561:26566}else{G=1;H=26563}else{q=-q;G=1;H=26560}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+bi(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v;while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=kj(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[26527+H>>0]|w;q=(q-+(H|0))*16.0;do if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;lj(e,32,K,p,I);if(!(c[e>>2]&32))Di(y,x,e)|0;lj(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))Di(da,n,e)|0;o=_-t|0;lj(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))Di(t,o,e)|0;lj(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0>>0)r=s;else{o=0;do{B=ut(c[r>>2]|0,0,t|0)|0;B=rt(B|0,D|0,o|0,0)|0;o=D;A=Dt(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=Ct(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do if(w>>>0

    >>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=$(B&o,s)|0;t=t+4|0}while(t>>>0

    >>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do if(w>>>0

    >>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0;while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}while(0);do if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9;while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8;while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=kj(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;lj(e,32,K,y,I);if(!(c[e>>2]&32))Di(H,G,e)|0;lj(e,48,K,y,I^65536);do if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=kj(c[o>>2]|0,0,R)|0;do if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}while(0);if(!(c[e>>2]&32))Di(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(x){if(c[e>>2]&32)break;Di(26595,1,e)|0}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=kj(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))Di(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}lj(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=kj(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))Di(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}Di(26595,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}while(0);p=S-o|0;if(!(c[e>>2]&32))Di(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}lj(e,48,n+18|0,18,0);if(c[e>>2]&32)break;Di(u,_-u|0,e)|0}while(0);lj(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;lj(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){Di(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))Di(s?(t?26587:26591):t?26579:26583,3,e)|0;lj(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=26543;n=N}}while(0);g:do if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[26527+(o&15)>>0]|s;o=st(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=26543;L=77}else{o=t;t=2;s=26543+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=26543;L=77}}else if((L|0)==76){n=kj(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Si(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=26543;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=ni(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}lj(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=ni(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))Di(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}while(0);if((L|0)==98){L=0;lj(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;lj(e,32,n,r,p);if(!(c[e>>2]&32))Di(u,t,e)|0;lj(e,48,n,r,p^65536);lj(e,48,o,s,0);if(!(c[e>>2]&32))Di(w,s,e)|0;lj(e,32,n,r,p^8192);w=J}h:do if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;jj(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0;while(0);i=ha;return m|0}function fj(a,b,c){a=a|0;b=b|0;c=c|0;return wi(a,b,c)|0}function gj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Nh(h,0);e=+Lh(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b)c[b>>2]=(d|0)!=0?a+d|0:a;i=j;return +e}function hj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Nh(j,0);e=Mh(j,d,1,e,f)|0;if(b)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ij(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;tt(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function kj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=Dt(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=Ct(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function lj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;qt(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){Di(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;Di(h,f,a)|0}while(0);i=j;return}function mj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[1919]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=7716+(e<<2)|0;e=7716+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[1923]|0)>>>0)Aa();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Aa()}else c[1919]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[1921]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=7716+(e<<2)|0;e=7716+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[1923]|0)>>>0)Aa();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[1921]|0;break}else Aa()}else{c[1919]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[1924]|0;d=k>>>3;b=d<<1;e=7716+(b<<2)|0;a=c[1919]|0;d=1<>2]|0;if(b>>>0<(c[1923]|0)>>>0)Aa();else{l=a;m=b}}else{c[1919]=a|d;l=7716+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[1921]=h;c[1924]=i;M=j;return M|0}a=c[1920]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[7980+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[1923]|0;if(e>>>0>>0)Aa();i=e+o|0;if(e>>>0>=i>>>0)Aa();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Aa();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Aa();b=f+12|0;if((c[b>>2]|0)!=(e|0))Aa();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Aa()}while(0);do if(h){b=c[e+28>>2]|0;a=7980+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[1923]|0;if(n>>>0>>0)Aa();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Aa();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[1923]|0)>>>0)Aa();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[1921]|0;if(b){g=c[1924]|0;d=b>>>3;b=d<<1;f=7716+(b<<2)|0;a=c[1919]|0;d=1<>2]|0;if(a>>>0<(c[1923]|0)>>>0)Aa();else{p=b;q=a}}else{c[1919]=a|d;p=7716+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[1921]=j;c[1924]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[1920]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[7980+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[7980+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[1921]|0)-m|0)>>>0:0){f=c[1923]|0;if(j>>>0>>0)Aa();h=j+m|0;if(j>>>0>=h>>>0)Aa();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Aa();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Aa();b=e+12|0;if((c[b>>2]|0)!=(j|0))Aa();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Aa()}while(0);do if(g){b=c[j+28>>2]|0;a=7980+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[1923]|0;if(o>>>0>>0)Aa();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Aa();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[1923]|0)>>>0)Aa();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=7716+(a<<2)|0;d=c[1919]|0;b=1<>2]|0;if(a>>>0<(c[1923]|0)>>>0)Aa();else{s=b;t=a}}else{c[1919]=d|b;s=7716+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=7980+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[1920]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[1923]|0)>>>0)Aa();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[1923]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Aa()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[1921]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[1924]|0;if(b>>>0>15){c[1924]=a+q;c[1921]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[1921]=0;c[1924]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[1922]|0;if(a>>>0>q>>>0){L=a-q|0;c[1922]=L;M=c[1925]|0;c[1925]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[2037]|0)){a=Qa(30)|0;if(!(a+-1&a)){c[2039]=a;c[2038]=a;c[2040]=-1;c[2041]=-1;c[2042]=0;c[2030]=0;c[2037]=(gb(0)|0)&-16^1431655768;break}else Aa()}while(0);j=q+48|0;i=c[2039]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[2029]|0;if((a|0)!=0?(t=c[2027]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[2030]&4)){a=c[1925]|0;e:do if(a){f=8124;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[1922]|0)&i;if(d>>>0<2147483647){f=La(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=La(0)|0;if((g|0)!=(-1|0)){a=g;d=c[2038]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[2027]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[2029]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=La(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[2039]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((La(u|0)|0)==(-1|0)){La(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[2030]=c[2030]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=La(l|0)|0,x=La(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[2027]|0)+p|0;c[2027]=a;if(a>>>0>(c[2028]|0)>>>0)c[2028]=a;h=c[1925]|0;g:do if(h){g=8124;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[1922]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[1925]=h+L;c[1922]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[1926]=c[2041];break}a=c[1923]|0;if(w>>>0>>0){c[1923]=w;a=w}d=w+p|0;g=8124;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=8124;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[1924]|0)){M=(c[1921]|0)+l|0;c[1921]=M;c[1924]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Aa();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Aa();a=f+12|0;if((c[a>>2]|0)!=(b|0))Aa();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Aa()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=7980+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[1923]|0)>>>0)Aa();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[1920]=c[1920]&~(1<>>0>>0)Aa();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Aa();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[1923]|0)>>>0)Aa();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=7716+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Aa();if((c[e+12>>2]|0)==(b|0))break;Aa()}while(0);if((f|0)==(e|0)){c[1919]=c[1919]&~(1<>>0>>0)Aa();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Aa()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=7716+(a<<2)|0;d=c[1919]|0;b=1<>2]|0;if(a>>>0>=(c[1923]|0)>>>0){K=b;L=a;break}Aa()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=7980+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[1920]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[1923]|0)>>>0)Aa();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[1923]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Aa()}else{M=(c[1922]|0)+l|0;c[1922]=M;c[1925]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=8124;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[1925]=w+d;c[1922]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[1926]=c[2041];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2031];c[b+4>>2]=c[2032];c[b+8>>2]=c[2033];c[b+12>>2]=c[2034];c[2031]=w;c[2032]=p;c[2034]=0;c[2033]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=7716+(a<<2)|0;d=c[1919]|0;b=1<>2]|0;if(a>>>0<(c[1923]|0)>>>0)Aa();else{G=b;H=a}}else{c[1919]=d|b;G=7716+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=7980+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[1920]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[1923]|0)>>>0)Aa();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[1923]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Aa()}}else{M=c[1923]|0;if((M|0)==0|w>>>0>>0)c[1923]=w;c[2031]=w;c[2032]=p;c[2034]=0;c[1928]=c[2037];c[1927]=-1;b=0;do{M=b<<1;L=7716+(M<<2)|0;c[7716+(M+3<<2)>>2]=L;c[7716+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[1925]=w+M;c[1922]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[1926]=c[2041]}while(0);b=c[1922]|0;if(b>>>0>q>>>0){L=b-q|0;c[1922]=L;M=c[1925]|0;c[1925]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(Jh()|0)>>2]=12;M=0;return M|0}function nj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[1923]|0;if(b>>>0>>0)Aa();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Aa();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Aa();if((l|0)==(c[1924]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[1921]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=7716+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Aa();if((c[e+12>>2]|0)!=(l|0))Aa()}if((d|0)==(e|0)){c[1919]=c[1919]&~(1<>>0>>0)Aa();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Aa()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Aa();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Aa();b=f+12|0;if((c[b>>2]|0)!=(l|0))Aa();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Aa()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=7980+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[1923]|0;if(k>>>0>>0)Aa();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Aa();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[1923]|0)>>>0)Aa();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Aa();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Aa();if(!(d&2)){if((q|0)==(c[1925]|0)){t=(c[1922]|0)+g|0;c[1922]=t;c[1925]=u;c[u+4>>2]=t|1;if((u|0)!=(c[1924]|0))return;c[1924]=0;c[1921]=0;return}if((q|0)==(c[1924]|0)){t=(c[1921]|0)+g|0;c[1921]=t;c[1924]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[1923]|0)>>>0)Aa();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[1923]|0)>>>0)Aa();e=d+12|0;if((c[e>>2]|0)!=(q|0))Aa();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Aa()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=7980+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[1923]|0;if(p>>>0>>0)Aa();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Aa();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[1923]|0)>>>0)Aa();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=7716+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[1923]|0)>>>0)Aa();if((c[e+12>>2]|0)!=(q|0))Aa()}if((d|0)==(e|0)){c[1919]=c[1919]&~(1<>>0<(c[1923]|0)>>>0)Aa();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Aa()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[1924]|0)){c[1921]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=7716+(d<<2)|0;e=c[1919]|0;b=1<>2]|0;if(d>>>0<(c[1923]|0)>>>0)Aa();else{r=b;s=d}}else{c[1919]=e|b;r=7716+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=7980+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[1920]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[1923]|0)>>>0)Aa();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[1923]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Aa()}else{c[1920]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[1927]|0)+-1|0;c[1927]=u;if(!u)b=8132;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[1927]=-1;return}function oj(a,b){a=a|0;b=b|0;var d=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=mj(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;qt(b|0,0,d|0)|0;return b|0}function pj(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=mj(b)|0;return a|0}if(b>>>0>4294967231){c[(Jh()|0)>>2]=12;a=0;return a|0}d=qj(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=mj(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;tt(d|0,a|0,(e>>>0>>0?e:b)|0)|0;nj(a);a=d;return a|0}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[1923]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Aa();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Aa();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[2039]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;rj(a+b|0,d);return a|0}if((l|0)==(c[1925]|0)){d=(c[1922]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[1925]=a+b;c[1922]=n;return a|0}if((l|0)==(c[1924]|0)){e=(c[1921]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[1921]=d;c[1924]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Aa();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Aa();d=f+12|0;if((c[d>>2]|0)!=(l|0))Aa();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Aa()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=7980+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[1923]|0;if(k>>>0>>0)Aa();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Aa();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[1923]|0)>>>0)Aa();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=7716+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Aa();if((c[f+12>>2]|0)!=(l|0))Aa()}if((e|0)==(f|0)){c[1919]=c[1919]&~(1<>>0>>0)Aa();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Aa()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;rj(a+b|0,n);return a|0}return 0}function rj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[1923]|0;if(n>>>0>>0)Aa();if((n|0)==(c[1924]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[1921]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=7716+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Aa();if((c[f+12>>2]|0)!=(n|0))Aa()}if((e|0)==(f|0)){c[1919]=c[1919]&~(1<>>0>>0)Aa();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Aa()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Aa();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Aa();d=g+12|0;if((c[d>>2]|0)!=(n|0))Aa();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Aa()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=7980+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[1923]|0;if(l>>>0>>0)Aa();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Aa();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[1923]|0)>>>0)Aa();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[1923]|0;if(q>>>0>>0)Aa();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[1925]|0)){s=(c[1922]|0)+h|0;c[1922]=s;c[1925]=t;c[t+4>>2]=s|1;if((t|0)!=(c[1924]|0))return;c[1924]=0;c[1921]=0;return}if((q|0)==(c[1924]|0)){s=(c[1921]|0)+h|0;c[1921]=s;c[1924]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Aa();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Aa();d=g+12|0;if((c[d>>2]|0)!=(q|0))Aa();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Aa()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=7980+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[1923]|0;if(p>>>0>>0)Aa();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Aa();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[1923]|0)>>>0)Aa();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=7716+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Aa();if((c[f+12>>2]|0)!=(q|0))Aa()}if((e|0)==(f|0)){c[1919]=c[1919]&~(1<>>0>>0)Aa();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Aa()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[1924]|0)){c[1921]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=7716+(e<<2)|0;f=c[1919]|0;d=1<>2]|0;if(e>>>0<(c[1923]|0)>>>0)Aa();else{r=d;s=e}}else{c[1919]=f|d;r=7716+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=7980+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[1920]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[1923]|0)>>>0)Aa();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[1923]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Aa();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function sj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[1022]|0;uj(8852,b,8908);c[2043]=9600;c[2045]=9620;c[2044]=0;e=c[2397]|0;yk(8172+e|0,8852);c[8172+(e+72)>>2]=0;c[8172+(e+76)>>2]=-1;e=c[1023]|0;vj(8956,e,8916);c[2065]=9680;c[2066]=9700;h=c[2417]|0;yk(8260+h|0,8956);f=h+72|0;c[8260+f>>2]=0;a=h+76|0;c[8260+a>>2]=-1;d=c[1021]|0;vj(9004,d,8924);c[2086]=9680;c[2087]=9700;yk(8344+h|0,9004);c[8344+f>>2]=0;c[8344+a>>2]=-1;g=c[8344+((c[(c[2086]|0)+-12>>2]|0)+24)>>2]|0;c[2107]=9680;c[2108]=9700;yk(8428+h|0,g);c[8428+f>>2]=0;c[8428+a>>2]=-1;c[8172+((c[(c[2043]|0)+-12>>2]|0)+72)>>2]=8260;a=8344+((c[(c[2086]|0)+-12>>2]|0)+4)|0;c[a>>2]=c[a>>2]|8192;c[8344+((c[(c[2086]|0)+-12>>2]|0)+72)>>2]=8260;wj(9052,b,8932);c[2128]=9640;c[2130]=9660;c[2129]=0;b=c[2407]|0;yk(8512+b|0,9052);c[8512+(b+72)>>2]=0;c[8512+(b+76)>>2]=-1;xj(9108,e,8940);c[2150]=9720;c[2151]=9740;e=c[2427]|0;yk(8600+e|0,9108);b=e+72|0;c[8600+b>>2]=0;a=e+76|0;c[8600+a>>2]=-1;xj(9156,d,8948);c[2171]=9720;c[2172]=9740;yk(8684+e|0,9156);c[8684+b>>2]=0;c[8684+a>>2]=-1;d=c[8684+((c[(c[2171]|0)+-12>>2]|0)+24)>>2]|0;c[2192]=9720;c[2193]=9740;yk(8768+e|0,d);c[8768+b>>2]=0;c[8768+a>>2]=-1;c[8512+((c[(c[2128]|0)+-12>>2]|0)+72)>>2]=8600;a=8684+((c[(c[2171]|0)+-12>>2]|0)+4)|0;c[a>>2]=c[a>>2]|8192;c[8684+((c[(c[2171]|0)+-12>>2]|0)+72)>>2]=8600;return}function tj(a){a=a|0;hl(8260)|0;hl(8428)|0;nl(8600)|0;nl(8768)|0;return}function uj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;Bk(b);c[b>>2]=9404;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Np(h,b+4|0);c[g>>2]=c[h>>2];Qj(b,g);Op(g);i=f;return}function vj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;Bk(b);c[b>>2]=9340;c[b+32>>2]=d;Np(h,b+4|0);c[g>>2]=c[h>>2];d=Qp(g,10928)|0;Op(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(xb[c[(c[d>>2]|0)+28>>2]&63](d)|0)&1;i=f;return}function wj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;Qk(b);c[b>>2]=9276;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Np(h,b+4|0);c[g>>2]=c[h>>2];Fj(b,g);Op(g);i=f;return}function xj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;Qk(b);c[b>>2]=9212;c[b+32>>2]=d;Np(h,b+4|0);c[g>>2]=c[h>>2];d=Qp(g,10936)|0;Op(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(xb[c[(c[d>>2]|0)+28>>2]&63](d)|0)&1;i=f;return}function yj(){sj(0);ab(107,26597,n|0)|0;return}function zj(){return}function Aj(a){a=a|0;Ok(a);rf(a);return}function Bj(b,d){b=b|0;d=d|0;xb[c[(c[b>>2]|0)+24>>2]&63](b)|0;d=Qp(d,10936)|0;c[b+36>>2]=d;a[b+44>>0]=(xb[c[(c[d>>2]|0)+28>>2]&63](d)|0)&1;return}function Cj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Fb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Ei(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Ai(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function Dj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(!(a[b+44>>0]|0))if((e|0)>0){f=d;d=0;while(1){if((Db[c[(c[b>>2]|0)+52>>2]&31](b,c[f>>2]|0)|0)==-1)break a;d=d+1|0;if((d|0)<(e|0))f=f+4|0;else break}}else d=0;else d=Ei(d,4,e,c[b+32>>2]|0)|0;while(0);return d|0}function Ej(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do if(!q){c[e>>2]=d;if(a[b+44>>0]|0)if((Ei(e,4,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;l=e+4|0;m=b+36|0;g=b+40|0;h=p+8|0;j=p;k=b+32|0;while(1){b=c[m>>2]|0;b=Ab[c[(c[b>>2]|0)+12>>2]&15](b,c[g>>2]|0,e,l,n,p,h,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-j|0;if((Ei(p,1,b,c[k>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Ei(e,1,1,c[k>>2]|0)|0)!=1)e=-1;else r=11}else r=11;while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function Fj(b,d){b=b|0;d=d|0;var e=0,f=0;f=Qp(d,10936)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=xb[c[(c[f>>2]|0)+24>>2]&63](f)|0;e=c[e>>2]|0;a[b+53>>0]=(xb[c[(c[e>>2]|0)+28>>2]&63](e)|0)&1;return}function Gj(a){a=a|0;Ok(a);rf(a);return}function Hj(a){a=a|0;return Kj(a,0)|0}function Ij(a){a=a|0;return Kj(a,1)|0}function Jj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+8|0;f=m+4|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do if(e){c[f>>2]=c[j>>2];e=c[b+36>>2]|0;switch(Ab[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((Ji(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}while(0);c[j>>2]=d;a[h>>0]=1}while(0);i=m;return d|0}function Kj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;m=r+4|0;n=r;g=b+52|0;a:do if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=-1;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;if((e|0)>0){g=0;do{f=Fi(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[q+g>>0]=f;g=g+1|0}while((g|0)<(e|0))}b:do if(!(a[b+53>>0]|0)){j=b+40|0;k=b+36|0;l=p+4|0;c:while(1){s=c[j>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[k>>2]|0;h=q+e|0;switch(Ab[c[(c[t>>2]|0)+16>>2]&15](t,s,q,h,m,p,l,n)|0){case 2:{e=-1;break a}case 3:break c;case 1:break;default:break b}t=c[j>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){e=-1;break a}f=Fi(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[h>>0]=f;e=e+1|0}c[p>>2]=a[q>>0]}else c[p>>2]=a[q>>0];while(0);if(d){e=c[p>>2]|0;c[b+48>>2]=e;break}while(1){if((e|0)<=0)break;e=e+-1|0;if((Ji(a[q+e>>0]|0,c[o>>2]|0)|0)==-1){e=-1;break a}}e=c[p>>2]|0}while(0);i=r;return e|0}function Lj(a){a=a|0;zk(a);rf(a);return}function Mj(b,d){b=b|0;d=d|0;xb[c[(c[b>>2]|0)+24>>2]&63](b)|0;d=Qp(d,10928)|0;c[b+36>>2]=d;a[b+44>>0]=(xb[c[(c[d>>2]|0)+28>>2]&63](d)|0)&1;return}function Nj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Fb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Ei(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((Ai(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function Oj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;a:do if(!(a[b+44>>0]|0))if((f|0)>0){g=e;e=0;while(1){if((Db[c[(c[b>>2]|0)+52>>2]&31](b,d[g>>0]|0)|0)==-1)break a;e=e+1|0;if((e|0)<(f|0))g=g+1|0;else break}}else e=0;else e=Ei(e,1,f,c[b+32>>2]|0)|0;while(0);return e|0}function Pj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do if(!q){a[e>>0]=d;if(a[b+44>>0]|0)if((Ei(e,1,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;m=e+1|0;g=b+36|0;h=b+40|0;j=p+8|0;k=p;l=b+32|0;while(1){b=c[g>>2]|0;b=Ab[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,e,m,n,p,j,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-k|0;if((Ei(p,1,b,c[l>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Ei(e,1,1,c[l>>2]|0)|0)!=1)e=-1;else r=11}else r=11;while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function Qj(b,d){b=b|0;d=d|0;var e=0,f=0;f=Qp(d,10928)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=xb[c[(c[f>>2]|0)+24>>2]&63](f)|0;e=c[e>>2]|0;a[b+53>>0]=(xb[c[(c[e>>2]|0)+28>>2]&63](e)|0)&1;return}function Rj(a){a=a|0;zk(a);rf(a);return}function Sj(a){a=a|0;return Vj(a,0)|0}function Tj(a){a=a|0;return Vj(a,1)|0}function Uj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+4|0;f=m+8|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do if(e){a[f>>0]=c[j>>2];e=c[b+36>>2]|0;switch(Ab[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((Ji(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}while(0);c[j>>2]=d;a[h>>0]=1}while(0);i=m;return d|0}function Vj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+32|0;r=s+16|0;q=s+8|0;n=s+4|0;o=s;h=b+52|0;a:do if(a[h>>0]|0){g=b+48|0;f=c[g>>2]|0;if(e){c[g>>2]=-1;a[h>>0]=0}}else{f=c[b+44>>2]|0;f=(f|0)>1?f:1;p=b+32|0;if((f|0)>0){h=0;do{g=Fi(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[r+h>>0]=g;h=h+1|0}while((h|0)<(f|0))}b:do if(!(a[b+53>>0]|0)){k=b+40|0;l=b+36|0;m=q+1|0;c:while(1){t=c[k>>2]|0;h=t;g=c[h>>2]|0;h=c[h+4>>2]|0;u=c[l>>2]|0;j=r+f|0;switch(Ab[c[(c[u>>2]|0)+16>>2]&15](u,t,r,j,n,q,m,o)|0){case 2:{f=-1;break a}case 3:break c;case 1:break;default:break b}u=c[k>>2]|0;c[u>>2]=g;c[u+4>>2]=h;if((f|0)==8){f=-1;break a}g=Fi(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[j>>0]=g;f=f+1|0}a[q>>0]=a[r>>0]|0}else a[q>>0]=a[r>>0]|0;while(0);if(e){f=a[q>>0]|0;c[b+48>>2]=f&255}else{while(1){if((f|0)<=0)break;f=f+-1|0;if((Ji(d[r+f>>0]|0,c[p>>2]|0)|0)==-1){f=-1;break a}}f=a[q>>0]|0}f=f&255}while(0);i=s;return f|0}function Wj(b,d){b=b|0;d=d|0;if(!(a[d>>0]&1)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}else Xj(b,c[d+8>>2]|0,c[d+4>>2]|0);return}function Xj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)nf(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=pf(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}tt(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function Yj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>4294967279)nf(b);if(d>>>0<11){a[b>>0]=d<<1;b=b+1|0}else{g=d+16&-16;f=pf(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}qt(b|0,e|0,d|0)|0;a[b+d>>0]=0;return}function Zj(b){b=b|0;if(a[b>>0]&1)rf(c[b+8>>2]|0);return}function _j(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;ak(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)|0}return b|0}function $j(a,b){a=a|0;b=b|0;return ak(a,b,Xi(b)|0)|0}function ak(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=10;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do if(h>>>0>=e>>>0){if(g)f=b+1|0;else f=c[b+8>>2]|0;vt(f|0,d|0,e|0)|0;a[f+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;fk(b,h,e-h|0,f,0,f,e,d)}while(0);return b|0}function bk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a[b>>0]|0;g=(f&1)==0;if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;do if(f>>>0>=d>>>0)if(g){a[b+1+d>>0]=0;a[b>>0]=d<<1;break}else{a[(c[b+8>>2]|0)+d>>0]=0;c[b+4>>2]=d;break}else ck(b,d-f|0,e)|0;while(0);return}function ck(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(d){f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>>0){gk(b,g,d-g+h|0,h,h,0,0);f=a[b>>0]|0}if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;qt(g+h|0,e|0,d|0)|0;f=h+d|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}return b|0}function dk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>4294967279)nf(b);e=a[b>>0]|0;if(!(e&1))f=10;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<11)i=10;else i=(d+16&-16)+-1|0;do if((i|0)!=(f|0)){do if((i|0)!=10){d=pf(i+1|0)|0;if(!(e&1)){f=1;g=b+1|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+1|0;f=0;g=c[b+8>>2]|0;h=1}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;tt(d|0,g|0,e+1|0)|0;if(h)rf(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}while(0);return}function ek(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){gk(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+1|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}a[e+h>>0]=d;a[e+f>>0]=0;return}function fk(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((-18-d|0)>>>0>>0)nf(b);if(!(a[b>>0]&1))m=b+1|0;else m=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=pf(k)|0;if(g)tt(l|0,m|0,g|0)|0;if(i)tt(l+g|0,j|0,i|0)|0;e=f-h|0;if((e|0)!=(g|0))tt(l+(i+g)|0,m+(h+g)|0,e-g|0)|0;if((d|0)!=10)rf(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;a[l+d>>0]=0;return}function gk(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)nf(b);if(!(a[b>>0]&1))l=b+1|0;else l=c[b+8>>2]|0;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=pf(j)|0;if(g)tt(k|0,l|0,g|0)|0;e=f-h|0;if((e|0)!=(g|0))tt(k+(i+g)|0,l+(h+g)|0,e-g|0)|0;if((d|0)!=10)rf(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function hk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>1073741807)nf(b);if(e>>>0<2){a[b>>0]=e<<1;b=b+4|0}else{g=e+4&-4;f=pf(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}Zi(b,d,e)|0;c[b+(e<<2)>>2]=0;return}function ik(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>1073741807)nf(b);if(d>>>0<2){a[b>>0]=d<<1;b=b+4|0}else{g=d+4&-4;f=pf(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}$i(b,e,d)|0;c[b+(d<<2)>>2]=0;return}function jk(b){b=b|0;if(a[b>>0]&1)rf(c[b+8>>2]|0);return}function kk(a,b){a=a|0;b=b|0;return lk(a,b,Yi(b)|0)|0}function lk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=1;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do if(h>>>0>=e>>>0){if(g)f=b+4|0;else f=c[b+8>>2]|0;_i(f,d,e)|0;c[f+(e<<2)>>2]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;ok(b,h,e-h|0,f,0,f,e,d)}while(0);return b|0}function mk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>1073741807)nf(b);e=a[b>>0]|0;if(!(e&1))f=1;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<2)i=1;else i=(d+4&-4)+-1|0;do if((i|0)!=(f|0)){do if((i|0)!=1){d=pf((i<<2)+4|0)|0;if(!(e&1)){f=1;g=b+4|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+4|0;f=0;g=c[b+8>>2]|0;h=1}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;Zi(d,g,e+1|0)|0;if(h)rf(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}while(0);return}function nk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=1;h=(e&255)>>>1}if((h|0)==(g|0)){pk(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+4|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}c[e+(h<<2)>>2]=d;c[e+(f<<2)>>2]=0;return}function ok(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((1073741806-d|0)>>>0>>0)nf(b);if(!(a[b>>0]&1))m=b+4|0;else m=c[b+8>>2]|0;if(d>>>0<536870887){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<2?2:k+4&-4}else k=1073741807;l=pf(k<<2)|0;if(g)Zi(l,m,g)|0;if(i)Zi(l+(g<<2)|0,j,i)|0;e=f-h|0;if((e|0)!=(g|0))Zi(l+(i+g<<2)|0,m+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)rf(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;c[l+(d<<2)>>2]=0;return}function pk(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((1073741807-d|0)>>>0>>0)nf(b);if(!(a[b>>0]&1))l=b+4|0;else l=c[b+8>>2]|0;if(d>>>0<536870887){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<2?2:j+4&-4}else j=1073741807;k=pf(j<<2)|0;if(g)Zi(k,l,g)|0;e=f-h|0;if((e|0)!=(g|0))Zi(k+(i+g<<2)|0,l+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)rf(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function qk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d;f=e-g|0;if(f>>>0>4294967279)nf(b);if(f>>>0<11){a[b>>0]=f<<1;h=b+1|0}else{i=f+16&-16;h=pf(i)|0;c[b+8>>2]=h;c[b>>2]=i|1;c[b+4>>2]=f}b=e-g|0;if((d|0)!=(e|0)){f=h;while(1){a[f>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else f=f+1|0}}a[h+b>>0]=0;return}function rk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d;f=e-h|0;g=f>>2;if(g>>>0>1073741807)nf(b);if(g>>>0<2){a[b>>0]=f>>>1;b=b+4|0}else{i=g+4&-4;f=pf(i<<2)|0;c[b+8>>2]=f;c[b>>2]=i|1;c[b+4>>2]=g;b=f}g=(e-h|0)>>>2;if((d|0)!=(e|0)){f=b;while(1){c[f>>2]=c[d>>2];d=d+4|0;if((d|0)==(e|0))break;else f=f+4|0}}c[b+(g<<2)>>2]=0;return}function sk(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function tk(a){a=a|0;uk(a);return}function uk(a){a=a|0;c[a>>2]=9756;wk(a,0);Op(a+28|0);nj(c[a+32>>2]|0);nj(c[a+36>>2]|0);nj(c[a+48>>2]|0);nj(c[a+60>>2]|0);return}function vk(a){a=a|0;uk(a);rf(a);return}function wk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+40>>2]|0;e=a+32|0;f=a+36|0;if(d)do{d=d+-1|0;yb[c[(c[e>>2]|0)+(d<<2)>>2]&0](b,a,c[(c[f>>2]|0)+(d<<2)>>2]|0)}while((d|0)!=0);return}function xk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;Np(b,a+28|0);i=d;return c[b>>2]|0}function yk(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));Mp(d);return}function zk(a){a=a|0;c[a>>2]=9468;Op(a+4|0);return}function Ak(a){a=a|0;c[a>>2]=9468;Op(a+4|0);rf(a);return}function Bk(a){a=a|0;c[a>>2]=9468;Mp(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function Ck(a,b){a=a|0;b=b|0;return}function Dk(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Ek(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Fk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Gk(a){a=a|0;return 0}function Hk(a){a=a|0;return 0}function Ik(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+12|0;i=b+16|0;a:do if((e|0)>0){g=d;d=0;while(1){f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=a[f>>0]|0}else{f=xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;if((f|0)==-1)break a;f=f&255}a[g>>0]=f;d=d+1|0;if((d|0)<(e|0))g=g+1|0;else break}}else d=0;while(0);return d|0}function Jk(a){a=a|0;return -1}function Kk(a){a=a|0;var b=0;if((xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+1;a=d[a>>0]|0}return a|0}function Lk(a,b){a=a|0;b=b|0;return -1}function Mk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=b+24|0;j=b+28|0;a:do if((f|0)>0){h=e;e=0;while(1){g=c[i>>2]|0;if(g>>>0>=(c[j>>2]|0)>>>0){if((Db[c[(c[b>>2]|0)+52>>2]&31](b,d[h>>0]|0)|0)==-1)break a}else{k=a[h>>0]|0;c[i>>2]=g+1;a[g>>0]=k}e=e+1|0;if((e|0)<(f|0))h=h+1|0;else break}}else e=0;while(0);return e|0}function Nk(a,b){a=a|0;b=b|0;return -1}function Ok(a){a=a|0;c[a>>2]=9532;Op(a+4|0);return}function Pk(a){a=a|0;c[a>>2]=9532;Op(a+4|0);rf(a);return}function Qk(a){a=a|0;c[a>>2]=9532;Mp(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function Rk(a,b){a=a|0;b=b|0;return}function Sk(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Tk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Uk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Vk(a){a=a|0;return 0}function Wk(a){a=a|0;return 0}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+12|0;h=a+16|0;a:do if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){e=xb[c[(c[a>>2]|0)+40>>2]&63](a)|0;if((e|0)==-1)break a}else{c[g>>2]=e+4;e=c[e>>2]|0}c[f>>2]=e;b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0;while(0);return b|0}function Yk(a){a=a|0;return -1}function Zk(a){a=a|0;var b=0;if((xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0}return a|0}function _k(a,b){a=a|0;b=b|0;return -1}function $k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+24|0;h=a+28|0;a:do if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){if((Db[c[(c[a>>2]|0)+52>>2]&31](a,c[f>>2]|0)|0)==-1)break a}else{i=c[f>>2]|0;c[g>>2]=e+4;c[e>>2]=i}b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0;while(0);return b|0}function al(a,b){a=a|0;b=b|0;return -1}function bl(a,b){a=a|0;b=b|0;return}function cl(a){a=a|0;uk(a+8|0);return}function dl(a){a=a|0;uk(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function el(a){a=a|0;uk(a+8|0);rf(a);return}function fl(a){a=a|0;el(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function gl(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o;a[e>>0]=0;h=c[(c[f>>2]|0)+-12>>2]|0;j=f+(h+16)|0;k=c[j>>2]|0;if(!k){h=c[f+(h+72)>>2]|0;if(h)hl(h)|0;do if(!g?(m=c[(c[f>>2]|0)+-12>>2]|0,(c[f+(m+4)>>2]&4096|0)!=0):0){c[l>>2]=xk(f+m|0)|0;g=Qp(l,10868)|0;Op(l);h=c[f+((c[(c[f>>2]|0)+-12>>2]|0)+24)>>2]|0;g=g+8|0;a:do if(!h){h=0;n=9}else while(1){j=h;if((c[j+12>>2]|0)==(c[j+16>>2]|0)){m=(xb[c[(c[h>>2]|0)+36>>2]&63](j)|0)==-1;h=m?0:h;if(m){n=9;break a}}j=h;l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=xb[c[(c[h>>2]|0)+36>>2]&63](j)|0;else k=d[k>>0]|0;if((k&255)<<24>>24<=-1)break a;if(!(b[(c[g>>2]|0)+(k<<24>>24<<1)>>1]&8192))break a;k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))xb[c[(c[h>>2]|0)+40>>2]&63](j)|0;else c[l>>2]=k+1;if(!h){h=0;n=9;break}}while(0);if((n|0)==9)j=h;if(h){if((c[j+12>>2]|0)!=(c[j+16>>2]|0))break;if((xb[c[(c[h>>2]|0)+36>>2]&63](j)|0)!=-1)break}g=c[(c[f>>2]|0)+-12>>2]|0;n=f+(g+16)|0;c[n>>2]=c[n>>2]|(c[f+(g+24)>>2]|0)==0|6}while(0);a[e>>0]=(c[f+((c[(c[f>>2]|0)+-12>>2]|0)+16)>>2]|0)==0&1}else c[j>>2]=k|(c[f+(h+24)>>2]|0)==0|4;i=o;return}function hl(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){tl(d,b);if((a[d>>0]|0)!=0?(f=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0,(xb[c[(c[f>>2]|0)+24>>2]&63](f)|0)==-1):0){f=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[f>>2]=c[f>>2]|1}ul(d)}i=e;return b|0}function il(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;f=m+24|0;e=m+20|0;g=m+16|0;h=m+12|0;n=m+28|0;k=m+8|0;l=m+4|0;j=m;gl(n,b,0);if(a[n>>0]|0){c[k>>2]=0;c[j>>2]=xk(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=Qp(j,9908)|0;n=c[(c[b>>2]|0)+-12>>2]|0;p=c[(c[o>>2]|0)+16>>2]|0;c[g>>2]=c[b+(n+24)>>2];c[h>>2]=0;c[e>>2]=c[g>>2];c[f>>2]=c[h>>2];wb[p&63](o,e,f,b+n|0,k,l)|0;Op(j);c[d>>2]=c[l>>2];l=c[(c[b>>2]|0)+-12>>2]|0;n=b+(l+16)|0;c[n>>2]=c[n>>2]|c[k>>2]|(c[b+(l+24)>>2]|0)==0}i=m;return b|0}function jl(a){a=a|0;uk(a+8|0);return}function kl(a){a=a|0;uk(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function ll(a){a=a|0;uk(a+8|0);rf(a);return}function ml(a){a=a|0;ll(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function nl(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){Bl(d,b);if((a[d>>0]|0)!=0?(f=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0,(xb[c[(c[f>>2]|0)+24>>2]&63](f)|0)==-1):0){f=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[f>>2]=c[f>>2]|1}Cl(d)}i=e;return b|0}function ol(a,b){a=a|0;b=b|0;return}function pl(a){a=a|0;uk(a+4|0);return}function ql(a){a=a|0;uk(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function rl(a){a=a|0;uk(a+4|0);rf(a);return}function sl(a){a=a|0;rl(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function tl(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)hl(e)|0;a[b>>0]=1}return}function ul(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;if(((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Fa()|0):0)?(d=c[a>>2]|0,d=c[d+((c[(c[d>>2]|0)+-12>>2]|0)+24)>>2]|0,(xb[c[(c[d>>2]|0)+24>>2]&63](d)|0)==-1):0){d=c[a>>2]|0;d=d+((c[(c[d>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|1}return}function vl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+4|0;m=n+8|0;e=n;tl(m,b);if(a[m>>0]|0){c[e>>2]=xk(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;l=Qp(e,10040)|0;Op(e);f=c[(c[b>>2]|0)+-12>>2]|0;g=c[b+(f+24)>>2]|0;h=b+f|0;f=b+(f+76)|0;e=c[f>>2]|0;if((e|0)==-1){c[j>>2]=xk(h)|0;e=Qp(j,10868)|0;e=Db[c[(c[e>>2]|0)+28>>2]&31](e,32)|0;Op(j);e=e<<24>>24;c[f>>2]=e}f=c[(c[l>>2]|0)+16>>2]|0;c[k>>2]=g;c[j>>2]=c[k>>2];if(!(Fb[f&31](l,j,h,e&255,d)|0)){d=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|5}}ul(m);i=n;return b|0}function wl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;tl(j,b);a:do if(a[j>>0]|0){f=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;g=f;do if(f){h=g+24|0;e=c[h>>2]|0;if((e|0)==(c[g+28>>2]|0))if((Db[c[(c[f>>2]|0)+52>>2]&31](g,d&255)|0)==-1)break;else break a;else{c[h>>2]=e+1;a[e>>0]=d;break a}}while(0);d=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|1}while(0);ul(j);i=k;return b|0}function xl(a){a=a|0;uk(a+4|0);return}function yl(a){a=a|0;uk(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function zl(a){a=a|0;uk(a+4|0);rf(a);return}function Al(a){a=a|0;zl(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function Bl(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)nl(e)|0;a[b>>0]=1}return}function Cl(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;if(((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Fa()|0):0)?(d=c[a>>2]|0,d=c[d+((c[(c[d>>2]|0)+-12>>2]|0)+24)>>2]|0,(xb[c[(c[d>>2]|0)+24>>2]&63](d)|0)==-1):0){d=c[a>>2]|0;d=d+((c[(c[d>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|1}return}function Dl(a){a=a|0;uk(a);rf(a);return}function El(a){a=a|0;a=a+16|0;c[a>>2]=c[a>>2]|1;return}function Fl(a){a=a|0;return}function Gl(a){a=a|0;return}function Hl(a){a=a|0;rf(a);return}function Il(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((e|0)==(f|0))h=6;else while(1){if((c|0)==(d|0)){c=-1;break a}b=a[c>>0]|0;g=a[e>>0]|0;if(b<<24>>24>24){c=-1;break a}if(g<<24>>24>24){c=1;break a}c=c+1|0;e=e+1|0;if((e|0)==(f|0)){h=6;break}}while(0);if((h|0)==6)c=(c|0)!=(d|0)&1;return c|0}function Jl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qk(a,c,d);return}function Kl(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)==(d|0))b=0;else{b=0;do{b=(a[c>>0]|0)+(b<<4)|0;e=b&-268435456;b=(e>>>24|e)^b;c=c+1|0}while((c|0)!=(d|0))}return b|0}function Ll(a){a=a|0;return}function Ml(a){a=a|0;rf(a);return}function Nl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((e|0)==(f|0))h=6;else while(1){if((b|0)==(d|0)){b=-1;break a}a=c[b>>2]|0;g=c[e>>2]|0;if((a|0)<(g|0)){b=-1;break a}if((g|0)<(a|0)){b=1;break a}b=b+4|0;e=e+4|0;if((e|0)==(f|0)){h=6;break}}while(0);if((h|0)==6)b=(b|0)!=(d|0)&1;return b|0}function Ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rk(a,c,d);return}function Pl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))a=0;else{a=0;do{a=(c[b>>2]|0)+(a<<4)|0;e=a&-268435456;a=(e>>>24|e)^a;b=b+4|0}while((b|0)!=(d|0))}return a|0}function Ql(a){a=a|0;return}function Rl(a){a=a|0;rf(a);return}function Sl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;k=s+56|0;j=s+52|0;r=s+48|0;l=s+44|0;m=s+40|0;n=s+36|0;o=s+32|0;q=s+8|0;p=s;a:do if(!(c[f+4>>2]&1)){c[r>>2]=-1;q=c[(c[b>>2]|0)+16>>2]|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];j=wb[q&63](b,j,k,f,g,r)|0;c[d>>2]=j;switch(c[r>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{b=xk(f)|0;c[n>>2]=b;j=Qp(n,10868)|0;mt(b)|0;b=xk(f)|0;c[o>>2]=b;r=Qp(o,11008)|0;mt(b)|0;vb[c[(c[r>>2]|0)+24>>2]&63](q,r);vb[c[(c[r>>2]|0)+28>>2]&63](q+12|0,r);c[p>>2]=c[e>>2];c[k>>2]=c[p>>2];a[h>>0]=(Cr(d,k,q,q+24|0,j,g,1)|0)==(q|0)&1;j=c[d>>2]|0;Zj(q+12|0);Zj(q)}while(0);i=s;return j|0}function Tl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Dr(a,k,j,e,f,g)|0;i=h;return a|0}function Ul(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Er(a,k,j,e,f,g)|0;i=h;return a|0}function Vl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Fr(a,k,j,e,f,g)|0;i=h;return a|0}function Wl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Gr(a,k,j,e,f,g)|0;i=h;return a|0}function Xl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Hr(a,k,j,e,f,g)|0;i=h;return a|0}function Yl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ir(a,k,j,e,f,g)|0;i=h;return a|0}function Zl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Jr(a,k,j,e,f,g)|0;i=h;return a|0}function _l(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Kr(a,k,j,e,f,g)|0;i=h;return a|0}function $l(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Lr(a,k,j,e,f,g)|0;i=h;return a|0}function am(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+240|0;w=z;p=z+208|0;y=z+32|0;t=z+28|0;x=z+16|0;v=z+12|0;r=z+48|0;s=z+8|0;q=z+4|0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;u=xk(g)|0;c[t>>2]=u;t=Qp(t,10868)|0;Bb[c[(c[t>>2]|0)+32>>2]&7](t,27122,27148,p)|0;mt(u)|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;bk(x,b,0);t=x+8|0;u=x+1|0;g=(a[x>>0]&1)==0?u:c[t>>2]|0;c[v>>2]=g;c[s>>2]=r;c[q>>2]=0;o=x+4|0;b=c[e>>2]|0;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break a;if((xb[c[(c[k>>2]|0)+36>>2]&63](k)|0)!=-1)if(l)break;else break a;else{c[f>>2]=0;A=13;break}}else A=13;while(0);if((A|0)==13){A=0;if(l){k=0;break}else k=0}l=a[x>>0]|0;l=(l&1)==0?(l&255)>>>1:c[o>>2]|0;if((c[v>>2]|0)==(g+l|0)){bk(x,l<<1,0);if(!(a[x>>0]&1))g=10;else g=(c[x>>2]&-2)+-1|0;bk(x,g,0);g=(a[x>>0]&1)==0?u:c[t>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0))l=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else l=d[l>>0]|0;if(bm(l&255,16,g,v,q,0,y,r,s,p)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[m>>2]=k+1;continue}}bk(x,(c[v>>2]|0)-g|0,0);u=(a[x>>0]&1)==0?u:c[t>>2]|0;v=cm()|0;c[w>>2]=j;if((Mr(u,v,28506,w)|0)!=1)c[h>>2]=4;if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(xb[c[(c[k>>2]|0)+36>>2]&63](k)|0)==-1:0){c[f>>2]=0;A=37;break}if(!b)A=38}else A=37;while(0);if((A|0)==37?b:0)A=38;if((A|0)==38)c[h>>2]=c[h>>2]|2;A=c[e>>2]|0;Zj(x);Zj(y);i=z;return A|0}function bm(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i>>0]|0;if(b<<24>>24==h<<24>>24?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+26|0;m=l;while(1){if((a[m>>0]|0)==b<<24>>24)break;m=m+1|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[27122+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[27122+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function cm(){if((a[1312]|0)==0?(Ba(1312)|0)!=0:0){c[2858]=Wh(2147483647,28509,0)|0;Ha(1312)}return c[2858]|0}function dm(a){a=a|0;return}function em(a){a=a|0;rf(a);return}function fm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;k=s+56|0;j=s+52|0;r=s+48|0;l=s+44|0;m=s+40|0;n=s+36|0;o=s+32|0;q=s+8|0;p=s;a:do if(!(c[f+4>>2]&1)){c[r>>2]=-1;q=c[(c[b>>2]|0)+16>>2]|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];j=wb[q&63](b,j,k,f,g,r)|0;c[d>>2]=j;switch(c[r>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{b=xk(f)|0;c[n>>2]=b;j=Qp(n,10860)|0;mt(b)|0;b=xk(f)|0;c[o>>2]=b;r=Qp(o,11016)|0;mt(b)|0;vb[c[(c[r>>2]|0)+24>>2]&63](q,r);vb[c[(c[r>>2]|0)+28>>2]&63](q+12|0,r);c[p>>2]=c[e>>2];c[k>>2]=c[p>>2];a[h>>0]=(Nr(d,k,q,q+24|0,j,g,1)|0)==(q|0)&1;j=c[d>>2]|0;jk(q+12|0);jk(q)}while(0);i=s;return j|0}function gm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Or(a,k,j,e,f,g)|0;i=h;return a|0}function hm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Pr(a,k,j,e,f,g)|0;i=h;return a|0}function im(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Qr(a,k,j,e,f,g)|0;i=h;return a|0}function jm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Rr(a,k,j,e,f,g)|0;i=h;return a|0}function km(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Sr(a,k,j,e,f,g)|0;i=h;return a|0}function lm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Tr(a,k,j,e,f,g)|0;i=h;return a|0}function mm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ur(a,k,j,e,f,g)|0;i=h;return a|0}function nm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Vr(a,k,j,e,f,g)|0;i=h;return a|0}function om(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Wr(a,k,j,e,f,g)|0;i=h;return a|0}function pm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+320|0;v=y;o=y+208|0;x=y+32|0;s=y+28|0;w=y+16|0;u=y+12|0;q=y+48|0;r=y+8|0;p=y+4|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;t=xk(f)|0;c[s>>2]=t;s=Qp(s,10860)|0;Bb[c[(c[s>>2]|0)+48>>2]&7](s,27122,27148,o)|0;mt(t)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;if(!(a[w>>0]&1))b=10;else b=(c[w>>2]&-2)+-1|0;bk(w,b,0);s=w+8|0;t=w+1|0;b=(a[w>>0]&1)==0?t:c[s>>2]|0;c[u>>2]=b;c[r>>2]=q;c[p>>2]=0;n=w+4|0;j=c[d>>2]|0;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;l=1}else{f=j;l=0}}else{f=0;l=1}j=c[e>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else k=c[k>>2]|0;if((k|0)!=-1)if(l)break;else break a;else{c[e>>2]=0;z=16;break}}else z=16;while(0);if((z|0)==16){z=0;if(l){j=0;break}else j=0}k=a[w>>0]|0;k=(k&1)==0?(k&255)>>>1:c[n>>2]|0;if((c[u>>2]|0)==(b+k|0)){bk(w,k<<1,0);if(!(a[w>>0]&1))b=10;else b=(c[w>>2]&-2)+-1|0;bk(w,b,0);b=(a[w>>0]&1)==0?t:c[s>>2]|0;c[u>>2]=b+k}l=f+12|0;k=c[l>>2]|0;m=f+16|0;if((k|0)==(c[m>>2]|0))k=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else k=c[k>>2]|0;if(qm(k,16,b,u,p,0,x,q,r,o)|0)break;j=c[l>>2]|0;if((j|0)==(c[m>>2]|0)){xb[c[(c[f>>2]|0)+40>>2]&63](f)|0;j=f;continue}else{c[l>>2]=j+4;j=f;continue}}bk(w,(c[u>>2]|0)-b|0,0);t=(a[w>>0]&1)==0?t:c[s>>2]|0;u=cm()|0;c[v>>2]=h;if((Mr(t,u,28506,v)|0)!=1)c[g>>2]=4;if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0))b=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{z=45;break}else{c[e>>2]=0;z=43;break}}else z=43;while(0);if((z|0)==43?f:0)z=45;if((z|0)==45)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;Zj(w);Zj(x);i=y;return z|0}function qm(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i>>0]|0;if((b|0)==(h|0)?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+104|0;m=l;while(1){if((c[m>>2]|0)==(b|0))break;m=m+4|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;i=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((i|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[27122+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[27122+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function rm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g;d=xk(d)|0;c[h>>2]=d;j=Qp(h,10868)|0;Bb[c[(c[j>>2]|0)+32>>2]&7](j,27122,27148,e)|0;e=Qp(h,11008)|0;a[f>>0]=xb[c[(c[e>>2]|0)+16>>2]&63](e)|0;vb[c[(c[e>>2]|0)+20>>2]&63](b,e);mt(d)|0;i=g;return}function sm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h;d=xk(d)|0;c[j>>2]=d;k=Qp(j,10868)|0;Bb[c[(c[k>>2]|0)+32>>2]&7](k,27122,27154,e)|0;e=Qp(j,11008)|0;a[f>>0]=xb[c[(c[e>>2]|0)+12>>2]&63](e)|0;a[g>>0]=xb[c[(c[e>>2]|0)+16>>2]&63](e)|0;vb[c[(c[e>>2]|0)+20>>2]&63](b,e);mt(d)|0;i=h;return}function tm(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do if(b<<24>>24==i<<24>>24)if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if(b<<24>>24==j<<24>>24?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+32|0;p=o;while(1){if((a[p>>0]|0)==b<<24>>24)break;p=p+1|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;if((i|0)>31)p=-1;else{j=a[27122+i>>0]|0;switch(i|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=j;p=0;break a}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>21){p=0;break a}c[n>>2]=(c[n>>2]|0)+1;p=0;break a}}}}while(0);return p|0}function um(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;b=xk(b)|0;c[g>>2]=b;h=Qp(g,10860)|0;Bb[c[(c[h>>2]|0)+48>>2]&7](h,27122,27148,d)|0;d=Qp(g,11016)|0;c[e>>2]=xb[c[(c[d>>2]|0)+16>>2]&63](d)|0;vb[c[(c[d>>2]|0)+20>>2]&63](a,d);mt(b)|0;i=f;return}function vm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g;b=xk(b)|0;c[h>>2]=b;j=Qp(h,10860)|0;Bb[c[(c[j>>2]|0)+48>>2]&7](j,27122,27154,d)|0;d=Qp(h,11016)|0;c[e>>2]=xb[c[(c[d>>2]|0)+12>>2]&63](d)|0;c[f>>2]=xb[c[(c[d>>2]|0)+16>>2]&63](d)|0;vb[c[(c[d>>2]|0)+20>>2]&63](a,d);mt(b)|0;i=g;return}function wm(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do if((b|0)==(i|0))if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if((b|0)==(j|0)?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+128|0;p=o;while(1){if((c[p>>2]|0)==(b|0))break;p=p+4|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;p=i>>2;if((i|0)<=124){j=a[27122+p>>0]|0;switch(p|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;break}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}}}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>84)p=0;else{c[n>>2]=(c[n>>2]|0)+1;p=0}}else p=-1}while(0);return p|0}function xm(a){a=a|0;return}function ym(a){a=a|0;rf(a);return}function zm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n;if(!(c[e+4>>2]&1)){m=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Fb[m&31](b,h,e,f,g&1)|0}else{j=xk(e)|0;c[k>>2]=j;h=Qp(k,11008)|0;mt(j)|0;j=c[h>>2]|0;if(g)vb[c[j+24>>2]&63](m,h);else vb[c[j+28>>2]&63](m,h);e=a[m>>0]|0;l=(e&1)==0;h=m+1|0;g=m+8|0;b=l?h:m+1|0;h=l?h:c[m+8>>2]|0;l=m+4|0;f=(e&1)==0;if((h|0)!=((f?b:c[g>>2]|0)+(f?(e&255)>>>1:c[l>>2]|0)|0))do{j=a[h>>0]|0;k=c[d>>2]|0;do if(k){f=k+24|0;e=c[f>>2]|0;if((e|0)!=(c[k+28>>2]|0)){c[f>>2]=e+1;a[e>>0]=j;break}if((Db[c[(c[k>>2]|0)+52>>2]&31](k,j&255)|0)==-1)c[d>>2]=0}while(0);h=h+1|0;e=a[m>>0]|0;f=(e&1)==0}while((h|0)!=((f?b:c[g>>2]|0)+(f?(e&255)>>>1:c[l>>2]|0)|0));h=c[d>>2]|0;Zj(m)}i=n;return h|0}function Am(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+64|0;k=h;o=h+56|0;q=h+44|0;j=h+20|0;m=h+16|0;b=h+12|0;n=h+8|0;l=h+4|0;a[o>>0]=a[28511]|0;a[o+1>>0]=a[28512]|0;a[o+2>>0]=a[28513]|0;a[o+3>>0]=a[28514]|0;a[o+4>>0]=a[28515]|0;a[o+5>>0]=a[28516]|0;Bm(o+1|0,28517,1,c[e+4>>2]|0);p=cm()|0;c[k>>2]=g;o=q+(Xr(q,12,p,o,k)|0)|0;p=Cm(q,o,e)|0;g=xk(e)|0;c[n>>2]=g;Dm(q,p,o,j,m,b,n);mt(g)|0;c[l>>2]=c[d>>2];g=c[m>>2]|0;b=c[b>>2]|0;c[k>>2]=c[l>>2];b=qc(k,j,g,b,e,f)|0;i=h;return b|0}function Bm(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=a[c>>0]|0;if(f<<24>>24){g=c;while(1){g=g+1|0;c=b+1|0;a[b>>0]=f;f=a[g>>0]|0;if(!(f<<24>>24)){b=c;break}else b=c}}a:do switch(e&74|0){case 64:{a[b>>0]=111;break}case 8:if(!(e&16384)){a[b>>0]=120;break a}else{a[b>>0]=88;break a}default:if(d){a[b>>0]=100;break a}else{a[b>>0]=117;break a}}while(0);return}function Cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch(c[e+4>>2]&176|0){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function Dm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+16|0;s=t;r=Qp(j,10868)|0;m=Qp(j,11008)|0;vb[c[(c[m>>2]|0)+20>>2]&63](s,m);p=a[s>>0]|0;q=s+4|0;if(((p&1)==0?(p&255)>>>1:c[q>>2]|0)|0){c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{p=Db[c[(c[r>>2]|0)+28>>2]&31](r,j)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=p;k=b+1|0;break}default:k=b}a:do if((e-k|0)>1?(a[k>>0]|0)==48:0){j=k+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}p=Db[c[(c[r>>2]|0)+28>>2]&31](r,48)|0;o=c[h>>2]|0;c[h>>2]=o+1;a[o>>0]=p;o=Db[c[(c[r>>2]|0)+28>>2]&31](r,a[j>>0]|0)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;k=k+2|0}while(0);if((k|0)!=(e|0)?(n=e+-1|0,k>>>0>>0):0){l=k;j=n;do{p=a[l>>0]|0;a[l>>0]=a[j>>0]|0;a[j>>0]=p;l=l+1|0;j=j+-1|0}while(l>>>0>>0)}m=xb[c[(c[m>>2]|0)+16>>2]&63](m)|0;n=s+8|0;o=s+1|0;if(k>>>0>>0){j=0;l=0;p=k;while(1){u=a[((a[s>>0]&1)==0?o:c[n>>2]|0)+l>>0]|0;if(u<<24>>24!=0&(j|0)==(u<<24>>24|0)){u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=m;u=a[s>>0]|0;j=0;l=(l>>>0<(((u&1)==0?(u&255)>>>1:c[q>>2]|0)+-1|0)>>>0&1)+l|0}v=Db[c[(c[r>>2]|0)+28>>2]&31](r,a[p>>0]|0)|0;u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=v;p=p+1|0;if(p>>>0>=e>>>0)break;else j=j+1|0}}j=f+(k-b)|0;k=c[h>>2]|0;if((j|0)!=(k|0)){k=k+-1|0;if(j>>>0>>0)do{v=a[j>>0]|0;a[j>>0]=a[k>>0]|0;a[k>>0]=v;j=j+1|0;k=k+-1|0}while(j>>>0>>0);j=c[h>>2]|0}}else{Bb[c[(c[r>>2]|0)+32>>2]&7](r,b,e,f)|0;j=f+(e-b)|0;c[h>>2]=j}c[g>>2]=(d|0)==(e|0)?j:f+(d-b)|0;Zj(s);i=t;return}function Em(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+96|0;k=h+8|0;o=h;p=h+74|0;j=h+32|0;m=h+28|0;a=h+24|0;n=h+20|0;l=h+16|0;q=o;c[q>>2]=37;c[q+4>>2]=0;Bm(o+1|0,28519,1,c[d+4>>2]|0);q=cm()|0;r=k;c[r>>2]=f;c[r+4>>2]=g;f=p+(Xr(p,22,q,o,k)|0)|0;o=Cm(p,f,d)|0;g=xk(d)|0;c[n>>2]=g;Dm(p,o,f,j,m,a,n);mt(g)|0;c[l>>2]=c[b>>2];b=c[m>>2]|0;a=c[a>>2]|0;c[k>>2]=c[l>>2];a=qc(k,j,b,a,d,e)|0;i=h;return a|0}function Fm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+64|0;k=h;o=h+56|0;q=h+44|0;j=h+20|0;m=h+16|0;b=h+12|0;n=h+8|0;l=h+4|0;a[o>>0]=a[28511]|0;a[o+1>>0]=a[28512]|0;a[o+2>>0]=a[28513]|0;a[o+3>>0]=a[28514]|0;a[o+4>>0]=a[28515]|0;a[o+5>>0]=a[28516]|0;Bm(o+1|0,28517,0,c[e+4>>2]|0);p=cm()|0;c[k>>2]=g;o=q+(Xr(q,12,p,o,k)|0)|0;p=Cm(q,o,e)|0;g=xk(e)|0;c[n>>2]=g;Dm(q,p,o,j,m,b,n);mt(g)|0;c[l>>2]=c[d>>2];g=c[m>>2]|0;b=c[b>>2]|0;c[k>>2]=c[l>>2];b=qc(k,j,g,b,e,f)|0;i=h;return b|0}function Gm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+112|0;k=h+8|0;o=h;p=h+75|0;j=h+32|0;m=h+28|0;a=h+24|0;n=h+20|0;l=h+16|0;q=o;c[q>>2]=37;c[q+4>>2]=0;Bm(o+1|0,28519,0,c[d+4>>2]|0);q=cm()|0;r=k;c[r>>2]=f;c[r+4>>2]=g;f=p+(Xr(p,23,q,o,k)|0)|0;o=Cm(p,f,d)|0;g=xk(d)|0;c[n>>2]=g;Dm(p,o,f,j,m,a,n);mt(g)|0;c[l>>2]=c[b>>2];b=c[m>>2]|0;a=c[a>>2]|0;c[k>>2]=c[l>>2];a=qc(k,j,b,a,d,e)|0;i=h;return a|0}function Hm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;v=i;i=i+160|0;p=v+68|0;l=v+32|0;j=v+24|0;g=v+8|0;k=v;n=v+72|0;m=v+64|0;o=v+102|0;u=v+60|0;t=v+56|0;q=v+52|0;r=v+48|0;B=k;c[B>>2]=37;c[B+4>>2]=0;B=Im(k+1|0,28522,c[d+4>>2]|0)|0;c[m>>2]=n;a=cm()|0;if(B){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=Xr(n,30,a,k,g)|0}else{h[j>>3]=f;a=Xr(n,30,a,k,j)|0}if((a|0)>29){g=cm()|0;c[l>>2]=c[d+8>>2];h[l+8>>3]=f;g=Yr(m,g,k,l)|0;a=c[m>>2]|0;if(!a)_f();else{w=a;z=a;s=g}}else{w=c[m>>2]|0;z=0;s=a}g=w+s|0;j=Cm(w,g,d)|0;if((w|0)!=(n|0)){a=mj(s<<1)|0;if(!a)_f();else{x=w;y=a;A=a}}else{x=n;y=0;A=o}B=xk(d)|0;c[q>>2]=B;Jm(x,j,g,A,u,t,q);mt(B)|0;c[r>>2]=c[b>>2];b=c[u>>2]|0;B=c[t>>2]|0;c[p>>2]=c[r>>2];B=qc(p,A,b,B,d,e)|0;nj(y);nj(z);i=v;return B|0}function Im(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}h=d&260;f=d>>>14;i=(h|0)==260;if(i)g=0;else{a[b>>0]=46;a[b+1>>0]=42;b=b+2|0;g=1}d=a[c>>0]|0;if(d<<24>>24){e=b;while(1){c=c+1|0;b=e+1|0;a[e>>0]=d;d=a[c>>0]|0;if(!(d<<24>>24))break;else e=b}}a:do switch(h|0){case 4:if(!(f&1)){a[b>>0]=102;break a}else{a[b>>0]=70;break a}case 256:if(!(f&1)){a[b>>0]=101;break a}else{a[b>>0]=69;break a}default:{d=(f&1|0)!=0;if(i)if(d){a[b>>0]=65;break a}else{a[b>>0]=97;break a}else if(d){a[b>>0]=71;break a}else{a[b>>0]=103;break a}}}while(0);return g|0}function Jm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+16|0;w=x;v=Qp(j,10868)|0;t=Qp(j,11008)|0;vb[c[(c[t>>2]|0)+20>>2]&63](w,t);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{u=Db[c[(c[v>>2]|0)+28>>2]&31](v,j)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=u;m=b+1|0;break}default:m=b}u=e;a:do if((u-m|0)>1?(a[m>>0]|0)==48:0){j=m+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{n=4;break a}}s=Db[c[(c[v>>2]|0)+28>>2]&31](v,48)|0;r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=s;m=m+2|0;r=Db[c[(c[v>>2]|0)+28>>2]&31](v,a[j>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=r;if(m>>>0>>0){j=m;while(1){s=a[j>>0]|0;if(!(Vh(s,cm()|0)|0)){s=m;break a}j=j+1|0;if(j>>>0>=e>>>0){s=m;break}}}else{s=m;j=m}}else n=4;while(0);b:do if((n|0)==4)if(m>>>0>>0){j=m;while(1){s=a[j>>0]|0;if(!(Uh(s,cm()|0)|0)){s=m;break b}j=j+1|0;if(j>>>0>=e>>>0){s=m;break}}}else{s=m;j=m}while(0);q=a[w>>0]|0;r=w+4|0;if(((q&1)==0?(q&255)>>>1:c[r>>2]|0)|0){if((s|0)!=(j|0)?(l=j+-1|0,s>>>0>>0):0){m=s;do{q=a[m>>0]|0;a[m>>0]=a[l>>0]|0;a[l>>0]=q;m=m+1|0;l=l+-1|0}while(m>>>0>>0)}n=xb[c[(c[t>>2]|0)+16>>2]&63](t)|0;o=w+8|0;p=w+1|0;if(s>>>0>>0){l=0;m=0;q=s;while(1){y=a[((a[w>>0]&1)==0?p:c[o>>2]|0)+m>>0]|0;if(y<<24>>24>0&(l|0)==(y<<24>>24|0)){y=c[h>>2]|0;c[h>>2]=y+1;a[y>>0]=n;y=a[w>>0]|0;l=0;m=(m>>>0<(((y&1)==0?(y&255)>>>1:c[r>>2]|0)+-1|0)>>>0&1)+m|0}z=Db[c[(c[v>>2]|0)+28>>2]&31](v,a[q>>0]|0)|0;y=c[h>>2]|0;c[h>>2]=y+1;a[y>>0]=z;q=q+1|0;if(q>>>0>=j>>>0)break;else l=l+1|0}}l=f+(s-b)|0;m=c[h>>2]|0;if((l|0)!=(m|0)?(k=m+-1|0,l>>>0>>0):0){do{z=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=z;l=l+1|0;k=k+-1|0}while(l>>>0>>0);l=v}else l=v}else{Bb[c[(c[v>>2]|0)+32>>2]&7](v,s,j,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(j-s);l=v}c:do if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46)break;y=Db[c[(c[l>>2]|0)+28>>2]&31](v,k)|0;z=c[h>>2]|0;c[h>>2]=z+1;a[z>>0]=y;j=j+1|0;if(j>>>0>=e>>>0)break c}y=xb[c[(c[t>>2]|0)+12>>2]&63](t)|0;z=c[h>>2]|0;c[h>>2]=z+1;a[z>>0]=y;j=j+1|0}while(0);Bb[c[(c[v>>2]|0)+32>>2]&7](v,j,e,c[h>>2]|0)|0;z=(c[h>>2]|0)+(u-j)|0;c[h>>2]=z;c[g>>2]=(d|0)==(e|0)?z:f+(d-b)|0;Zj(w);i=x;return}function Km(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+176|0;r=x+76|0;n=x+48|0;m=x+32|0;j=x+24|0;g=x+8|0;l=x;p=x+80|0;o=x+72|0;q=x+110|0;w=x+68|0;v=x+64|0;s=x+60|0;t=x+56|0;k=l;c[k>>2]=37;c[k+4>>2]=0;k=Im(l+1|0,28523,c[d+4>>2]|0)|0;c[o>>2]=p;a=cm()|0;if(k){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=Xr(p,30,a,l,g)|0}else{h[j>>3]=f;a=Xr(p,30,a,l,j)|0}if((a|0)>29){a=cm()|0;if(k){c[m>>2]=c[d+8>>2];h[m+8>>3]=f;g=Yr(o,a,l,m)|0}else{h[n>>3]=f;g=Yr(o,a,l,n)|0}a=c[o>>2]|0;if(!a)_f();else{y=a;B=a;u=g}}else{y=c[o>>2]|0;B=0;u=a}g=y+u|0;j=Cm(y,g,d)|0;if((y|0)!=(p|0)){a=mj(u<<1)|0;if(!a)_f();else{z=y;A=a;C=a}}else{z=p;A=0;C=q}y=xk(d)|0;c[s>>2]=y;Jm(z,j,g,C,w,v,s);mt(y)|0;c[t>>2]=c[b>>2];z=c[w>>2]|0;b=c[v>>2]|0;c[r>>2]=c[t>>2];b=qc(r,C,z,b,d,e)|0;nj(A);nj(B);i=x;return b|0}function Lm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+80|0;m=h;b=h+70|0;j=h+12|0;k=h+32|0;o=h+8|0;n=h+4|0;a[b>>0]=a[28525]|0;a[b+1>>0]=a[28526]|0;a[b+2>>0]=a[28527]|0;a[b+3>>0]=a[28528]|0;a[b+4>>0]=a[28529]|0;a[b+5>>0]=a[28530]|0;l=cm()|0;c[m>>2]=g;b=Xr(j,20,l,b,m)|0;l=j+b|0;g=Cm(j,l,e)|0;p=xk(e)|0;c[o>>2]=p;o=Qp(o,10868)|0;mt(p)|0;Bb[c[(c[o>>2]|0)+32>>2]&7](o,j,l,k)|0;b=k+b|0;c[n>>2]=c[d>>2];c[m>>2]=c[n>>2];b=qc(m,k,(g|0)==(l|0)?b:k+(g-j)|0,b,e,f)|0;i=h;return b|0}function Mm(a){a=a|0;return}function Nm(a){a=a|0;rf(a);return}function Om(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m;if(!(c[e+4>>2]&1)){l=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Fb[l&31](b,h,e,f,g&1)|0}else{j=xk(e)|0;c[k>>2]=j;h=Qp(k,11016)|0;mt(j)|0;j=c[h>>2]|0;if(g)vb[c[j+24>>2]&63](l,h);else vb[c[j+28>>2]&63](l,h);e=a[l>>0]|0;f=(e&1)==0;h=l+4|0;g=l+8|0;b=f?h:l+4|0;h=f?h:c[l+8>>2]|0;f=(e&1)==0;if((h|0)!=((f?b:c[g>>2]|0)+((f?(e&255)>>>1:c[b>>2]|0)<<2)|0))do{j=c[h>>2]|0;k=c[d>>2]|0;if(k){f=k+24|0;e=c[f>>2]|0;if((e|0)==(c[k+28>>2]|0))j=Db[c[(c[k>>2]|0)+52>>2]&31](k,j)|0;else{c[f>>2]=e+4;c[e>>2]=j}if((j|0)==-1)c[d>>2]=0}h=h+4|0;e=a[l>>0]|0;f=(e&1)==0}while((h|0)!=((f?b:c[g>>2]|0)+((f?(e&255)>>>1:c[b>>2]|0)<<2)|0));h=c[d>>2]|0;jk(l)}i=m;return h|0}function Pm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+128|0;k=h;o=h+116|0;q=h+104|0;j=h+20|0;m=h+16|0;b=h+12|0;n=h+8|0;l=h+4|0;a[o>>0]=a[28511]|0;a[o+1>>0]=a[28512]|0;a[o+2>>0]=a[28513]|0;a[o+3>>0]=a[28514]|0;a[o+4>>0]=a[28515]|0;a[o+5>>0]=a[28516]|0;Bm(o+1|0,28517,1,c[e+4>>2]|0);p=cm()|0;c[k>>2]=g;o=q+(Xr(q,12,p,o,k)|0)|0;p=Cm(q,o,e)|0;g=xk(e)|0;c[n>>2]=g;Qm(q,p,o,j,m,b,n);mt(g)|0;c[l>>2]=c[d>>2];g=c[m>>2]|0;b=c[b>>2]|0;c[k>>2]=c[l>>2];b=Zr(k,j,g,b,e,f)|0;i=h;return b|0}function Qm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+16|0;s=t;r=Qp(j,10860)|0;m=Qp(j,11016)|0;vb[c[(c[m>>2]|0)+20>>2]&63](s,m);p=a[s>>0]|0;q=s+4|0;if(((p&1)==0?(p&255)>>>1:c[q>>2]|0)|0){c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{p=Db[c[(c[r>>2]|0)+44>>2]&31](r,j)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=p;k=b+1|0;break}default:k=b}a:do if((e-k|0)>1?(a[k>>0]|0)==48:0){j=k+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}p=Db[c[(c[r>>2]|0)+44>>2]&31](r,48)|0;o=c[h>>2]|0;c[h>>2]=o+4;c[o>>2]=p;o=Db[c[(c[r>>2]|0)+44>>2]&31](r,a[j>>0]|0)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=o;k=k+2|0}while(0);if((k|0)!=(e|0)?(n=e+-1|0,k>>>0>>0):0){l=k;j=n;do{p=a[l>>0]|0;a[l>>0]=a[j>>0]|0;a[j>>0]=p;l=l+1|0;j=j+-1|0}while(l>>>0>>0)}m=xb[c[(c[m>>2]|0)+16>>2]&63](m)|0;n=s+8|0;o=s+1|0;if(k>>>0>>0){j=0;l=0;p=k;while(1){u=a[((a[s>>0]&1)==0?o:c[n>>2]|0)+l>>0]|0;if(u<<24>>24!=0&(j|0)==(u<<24>>24|0)){u=c[h>>2]|0;c[h>>2]=u+4;c[u>>2]=m;u=a[s>>0]|0;j=0;l=(l>>>0<(((u&1)==0?(u&255)>>>1:c[q>>2]|0)+-1|0)>>>0&1)+l|0}v=Db[c[(c[r>>2]|0)+44>>2]&31](r,a[p>>0]|0)|0;u=c[h>>2]|0;c[h>>2]=u+4;c[u>>2]=v;p=p+1|0;if(p>>>0>=e>>>0)break;else j=j+1|0}}j=f+(k-b<<2)|0;l=c[h>>2]|0;if((j|0)!=(l|0)){k=l+-4|0;if(j>>>0>>0){do{v=c[j>>2]|0;c[j>>2]=c[k>>2];c[k>>2]=v;j=j+4|0;k=k+-4|0}while(j>>>0>>0);j=l}else j=l}}else{Bb[c[(c[r>>2]|0)+48>>2]&7](r,b,e,f)|0;j=f+(e-b<<2)|0;c[h>>2]=j}c[g>>2]=(d|0)==(e|0)?j:f+(d-b<<2)|0;Zj(s);i=t;return}function Rm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+224|0;k=h+8|0;o=h;p=h+196|0;j=h+32|0;m=h+28|0;a=h+24|0;n=h+20|0;l=h+16|0;q=o;c[q>>2]=37;c[q+4>>2]=0;Bm(o+1|0,28519,1,c[d+4>>2]|0);q=cm()|0;r=k;c[r>>2]=f;c[r+4>>2]=g;f=p+(Xr(p,22,q,o,k)|0)|0;o=Cm(p,f,d)|0;g=xk(d)|0;c[n>>2]=g;Qm(p,o,f,j,m,a,n);mt(g)|0;c[l>>2]=c[b>>2];b=c[m>>2]|0;a=c[a>>2]|0;c[k>>2]=c[l>>2];a=Zr(k,j,b,a,d,e)|0;i=h;return a|0}function Sm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+128|0;k=h;o=h+116|0;q=h+104|0;j=h+20|0;m=h+16|0;b=h+12|0;n=h+8|0;l=h+4|0;a[o>>0]=a[28511]|0;a[o+1>>0]=a[28512]|0;a[o+2>>0]=a[28513]|0;a[o+3>>0]=a[28514]|0;a[o+4>>0]=a[28515]|0;a[o+5>>0]=a[28516]|0;Bm(o+1|0,28517,0,c[e+4>>2]|0);p=cm()|0;c[k>>2]=g;o=q+(Xr(q,12,p,o,k)|0)|0;p=Cm(q,o,e)|0;g=xk(e)|0;c[n>>2]=g;Qm(q,p,o,j,m,b,n);mt(g)|0;c[l>>2]=c[d>>2];g=c[m>>2]|0;b=c[b>>2]|0;c[k>>2]=c[l>>2];b=Zr(k,j,g,b,e,f)|0;i=h;return b|0}function Tm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+240|0;k=h+8|0;o=h;p=h+204|0;j=h+32|0;m=h+28|0;a=h+24|0;n=h+20|0;l=h+16|0;q=o;c[q>>2]=37;c[q+4>>2]=0;Bm(o+1|0,28519,0,c[d+4>>2]|0);q=cm()|0;r=k;c[r>>2]=f;c[r+4>>2]=g;f=p+(Xr(p,23,q,o,k)|0)|0;o=Cm(p,f,d)|0;g=xk(d)|0;c[n>>2]=g;Qm(p,o,f,j,m,a,n);mt(g)|0;c[l>>2]=c[b>>2];b=c[m>>2]|0;a=c[a>>2]|0;c[k>>2]=c[l>>2];a=Zr(k,j,b,a,d,e)|0;i=h;return a|0}function Um(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=i;i=i+336|0;p=y+296|0;l=y+32|0;j=y+24|0;g=y+8|0;k=y;n=y+300|0;m=y+64|0;o=y+68|0;u=y+60|0;t=y+56|0;q=y+52|0;r=y+48|0;B=k;c[B>>2]=37;c[B+4>>2]=0;B=Im(k+1|0,28522,c[d+4>>2]|0)|0;c[m>>2]=n;a=cm()|0;if(B){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=Xr(n,30,a,k,g)|0}else{h[j>>3]=f;a=Xr(n,30,a,k,j)|0}if((a|0)>29){g=cm()|0;c[l>>2]=c[d+8>>2];h[l+8>>3]=f;g=Yr(m,g,k,l)|0;a=c[m>>2]|0;if(!a)_f();else{v=a;A=a;s=g}}else{v=c[m>>2]|0;A=0;s=a}g=v+s|0;j=Cm(v,g,d)|0;if((v|0)!=(n|0)){a=mj(s<<3)|0;if(!a)_f();else{w=v;z=a;x=a}}else{w=n;z=0;x=o}B=xk(d)|0;c[q>>2]=B;Vm(w,j,g,x,u,t,q);mt(B)|0;c[r>>2]=c[b>>2];B=c[u>>2]|0;a=c[t>>2]|0;c[p>>2]=c[r>>2];a=Zr(p,x,B,a,d,e)|0;c[b>>2]=a;if(z)nj(z);nj(A);i=y;return a|0}function Vm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+16|0;v=w;u=Qp(j,10860)|0;s=Qp(j,11016)|0;vb[c[(c[s>>2]|0)+20>>2]&63](v,s);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{t=Db[c[(c[u>>2]|0)+44>>2]&31](u,j)|0;l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=t;l=b+1|0;break}default:l=b}t=e;a:do if((t-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{m=4;break a}}r=Db[c[(c[u>>2]|0)+44>>2]&31](u,48)|0;q=c[h>>2]|0;c[h>>2]=q+4;c[q>>2]=r;l=l+2|0;q=Db[c[(c[u>>2]|0)+44>>2]&31](u,a[j>>0]|0)|0;r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=q;if(l>>>0>>0){j=l;while(1){r=a[j>>0]|0;if(!(Vh(r,cm()|0)|0)){r=l;break a}j=j+1|0;if(j>>>0>=e>>>0){r=l;break}}}else{r=l;j=l}}else m=4;while(0);b:do if((m|0)==4)if(l>>>0>>0){j=l;while(1){r=a[j>>0]|0;if(!(Uh(r,cm()|0)|0)){r=l;break b}j=j+1|0;if(j>>>0>=e>>>0){r=l;break}}}else{r=l;j=l}while(0);p=a[v>>0]|0;q=v+4|0;if(((p&1)==0?(p&255)>>>1:c[q>>2]|0)|0){if((r|0)!=(j|0)?(k=j+-1|0,r>>>0>>0):0){l=r;do{p=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=p;l=l+1|0;k=k+-1|0}while(l>>>0>>0)}m=xb[c[(c[s>>2]|0)+16>>2]&63](s)|0;n=v+8|0;o=v+1|0;if(r>>>0>>0){k=0;l=0;p=r;while(1){x=a[((a[v>>0]&1)==0?o:c[n>>2]|0)+l>>0]|0;if(x<<24>>24>0&(k|0)==(x<<24>>24|0)){x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=m;x=a[v>>0]|0;k=0;l=(l>>>0<(((x&1)==0?(x&255)>>>1:c[q>>2]|0)+-1|0)>>>0&1)+l|0}y=Db[c[(c[u>>2]|0)+44>>2]&31](u,a[p>>0]|0)|0;x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=y;p=p+1|0;if(p>>>0>=j>>>0)break;else k=k+1|0}}k=f+(r-b<<2)|0;m=c[h>>2]|0;if((k|0)!=(m|0)){l=m+-4|0;if(k>>>0>>0){do{y=c[k>>2]|0;c[k>>2]=c[l>>2];c[l>>2]=y;k=k+4|0;l=l+-4|0}while(k>>>0>>0);l=u;k=m}else{l=u;k=m}}else l=u}else{Bb[c[(c[u>>2]|0)+48>>2]&7](u,r,j,c[h>>2]|0)|0;k=(c[h>>2]|0)+(j-r<<2)|0;c[h>>2]=k;l=u}c:do if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46)break;x=Db[c[(c[l>>2]|0)+44>>2]&31](u,k)|0;y=c[h>>2]|0;k=y+4|0;c[h>>2]=k;c[y>>2]=x;j=j+1|0;if(j>>>0>=e>>>0)break c}x=xb[c[(c[s>>2]|0)+12>>2]&63](s)|0;y=c[h>>2]|0;k=y+4|0;c[h>>2]=k;c[y>>2]=x;j=j+1|0}while(0);Bb[c[(c[u>>2]|0)+48>>2]&7](u,j,e,k)|0;y=(c[h>>2]|0)+(t-j<<2)|0;c[h>>2]=y;c[g>>2]=(d|0)==(e|0)?y:f+(d-b<<2)|0;Zj(v);i=w;return}function Wm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+352|0;r=A+304|0;n=A+48|0;m=A+32|0;j=A+24|0;g=A+8|0;l=A;p=A+308|0;o=A+72|0;q=A+76|0;w=A+68|0;v=A+64|0;s=A+60|0;t=A+56|0;k=l;c[k>>2]=37;c[k+4>>2]=0;k=Im(l+1|0,28523,c[d+4>>2]|0)|0;c[o>>2]=p;a=cm()|0;if(k){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=Xr(p,30,a,l,g)|0}else{h[j>>3]=f;a=Xr(p,30,a,l,j)|0}if((a|0)>29){a=cm()|0;if(k){c[m>>2]=c[d+8>>2];h[m+8>>3]=f;g=Yr(o,a,l,m)|0}else{h[n>>3]=f;g=Yr(o,a,l,n)|0}a=c[o>>2]|0;if(!a)_f();else{x=a;C=a;u=g}}else{x=c[o>>2]|0;C=0;u=a}g=x+u|0;j=Cm(x,g,d)|0;if((x|0)!=(p|0)){a=mj(u<<3)|0;if(!a)_f();else{y=x;B=a;z=a}}else{y=p;B=0;z=q}a=xk(d)|0;c[s>>2]=a;Vm(y,j,g,z,w,v,s);mt(a)|0;c[t>>2]=c[b>>2];y=c[w>>2]|0;a=c[v>>2]|0;c[r>>2]=c[t>>2];a=Zr(r,z,y,a,d,e)|0;c[b>>2]=a;if(B)nj(B);nj(C);i=A;return a|0}function Xm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+192|0;m=h;b=h+180|0;j=h+160|0;k=h+12|0;o=h+8|0;n=h+4|0;a[b>>0]=a[28525]|0;a[b+1>>0]=a[28526]|0;a[b+2>>0]=a[28527]|0;a[b+3>>0]=a[28528]|0;a[b+4>>0]=a[28529]|0;a[b+5>>0]=a[28530]|0;l=cm()|0;c[m>>2]=g;b=Xr(j,20,l,b,m)|0;l=j+b|0;g=Cm(j,l,e)|0;p=xk(e)|0;c[o>>2]=p;o=Qp(o,10860)|0;mt(p)|0;Bb[c[(c[o>>2]|0)+48>>2]&7](o,j,l,k)|0;b=k+(b<<2)|0;c[n>>2]=c[d>>2];c[m>>2]=c[n>>2];b=Zr(m,k,(g|0)==(l|0)?b:k+(g-j<<2)|0,b,e,f)|0;i=h;return b|0}function Ym(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+32|0;u=B+16|0;t=B+12|0;x=B+8|0;v=B+4|0;w=B;y=xk(h)|0;c[x>>2]=y;x=Qp(x,10868)|0;mt(y)|0;c[j>>2]=0;y=x+8|0;n=c[f>>2]|0;a:do if((l|0)!=(m|0)){b:while(1){o=n;if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(xb[c[(c[n>>2]|0)+36>>2]&63](n)|0)==-1:0){c[f>>2]=0;n=0;o=0}}else n=0;r=(n|0)==0;q=c[g>>2]|0;p=q;do if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)?(xb[c[(c[q>>2]|0)+36>>2]&63](q)|0)==-1:0){c[g>>2]=0;p=0;A=11;break}if(!r){A=12;break b}}else A=11;while(0);if((A|0)==11){A=0;if(r){A=12;break}else q=0}c:do if((pb[c[(c[x>>2]|0)+36>>2]&31](x,a[l>>0]|0,0)|0)<<24>>24==37){q=l+1|0;if((q|0)==(m|0)){A=15;break b}s=pb[c[(c[x>>2]|0)+36>>2]&31](x,a[q>>0]|0,0)|0;switch(s<<24>>24){case 48:case 69:{r=l+2|0;if((r|0)==(m|0)){A=18;break b}l=q;q=pb[c[(c[x>>2]|0)+36>>2]&31](x,a[r>>0]|0,0)|0;n=s;break}default:{q=s;n=0}}s=c[(c[e>>2]|0)+36>>2]|0;c[v>>2]=o;c[w>>2]=p;c[t>>2]=c[v>>2];c[u>>2]=c[w>>2];c[f>>2]=Ab[s&15](e,t,u,h,j,k,q,n)|0;l=l+2|0}else{o=a[l>>0]|0;if(o<<24>>24>-1?(z=c[y>>2]|0,(b[z+(o<<24>>24<<1)>>1]&8192)!=0):0){do{l=l+1|0;if((l|0)==(m|0)){l=m;break}o=a[l>>0]|0;if(o<<24>>24<=-1)break}while((b[z+(o<<24>>24<<1)>>1]&8192)!=0);o=q;while(1){if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(xb[c[(c[n>>2]|0)+36>>2]&63](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;p=(n|0)==0;do if(q){if((c[q+12>>2]|0)!=(c[q+16>>2]|0))if(p){s=o;break}else break c;if((xb[c[(c[q>>2]|0)+36>>2]&63](q)|0)!=-1)if(p^(o|0)==0){s=o;q=o;break}else break c;else{c[g>>2]=0;o=0;A=37;break}}else A=37;while(0);if((A|0)==37){A=0;if(p)break c;else{s=o;q=0}}p=n+12|0;o=c[p>>2]|0;r=n+16|0;if((o|0)==(c[r>>2]|0))o=xb[c[(c[n>>2]|0)+36>>2]&63](n)|0;else o=d[o>>0]|0;if((o&255)<<24>>24<=-1)break c;if(!(b[(c[y>>2]|0)+(o<<24>>24<<1)>>1]&8192))break c;o=c[p>>2]|0;if((o|0)==(c[r>>2]|0)){xb[c[(c[n>>2]|0)+40>>2]&63](n)|0;o=s;continue}else{c[p>>2]=o+1;o=s;continue}}}p=n+12|0;o=c[p>>2]|0;q=n+16|0;if((o|0)==(c[q>>2]|0))o=xb[c[(c[n>>2]|0)+36>>2]&63](n)|0;else o=d[o>>0]|0;s=Db[c[(c[x>>2]|0)+12>>2]&31](x,o&255)|0;if(s<<24>>24!=(Db[c[(c[x>>2]|0)+12>>2]&31](x,a[l>>0]|0)|0)<<24>>24){A=55;break b}o=c[p>>2]|0;if((o|0)==(c[q>>2]|0))xb[c[(c[n>>2]|0)+40>>2]&63](n)|0;else c[p>>2]=o+1;l=l+1|0}while(0);n=c[f>>2]|0;if(!((l|0)!=(m|0)&(c[j>>2]|0)==0))break a}if((A|0)==12){c[j>>2]=4;break}else if((A|0)==15){c[j>>2]=4;break}else if((A|0)==18){c[j>>2]=4;break}else if((A|0)==55){c[j>>2]=4;n=c[f>>2]|0;break}}while(0);if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(xb[c[(c[n>>2]|0)+36>>2]&63](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;l=(n|0)==0;o=c[g>>2]|0;do if(o){if((c[o+12>>2]|0)==(c[o+16>>2]|0)?(xb[c[(c[o>>2]|0)+36>>2]&63](o)|0)==-1:0){c[g>>2]=0;A=65;break}if(!l)A=66}else A=65;while(0);if((A|0)==65?l:0)A=66;if((A|0)==66)c[j>>2]=c[j>>2]|2;i=B;return n|0}function Zm(a){a=a|0;return}function _m(a){a=a|0;rf(a);return}function $m(a){a=a|0;return 2}function an(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ym(a,k,j,e,f,g,28531,28539)|0;i=h;return a|0}function bn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;o=b+8|0;o=xb[c[(c[o>>2]|0)+20>>2]&63](o)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o>>0]|0;p=(e&1)==0;d=p?o+1|0:c[o+8>>2]|0;e=d+(p?(e&255)>>>1:c[o+4>>2]|0)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=Ym(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function cn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=xk(e)|0;c[m>>2]=l;e=Qp(m,10868)|0;mt(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];dn(a,g+24|0,b,j,f,e);i=h;return c[b>>2]|0}function dn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=xb[c[c[a>>2]>>2]&63](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Cr(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function en(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=xk(e)|0;c[m>>2]=l;e=Qp(m,10868)|0;mt(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];fn(a,g+16|0,b,j,f,e);i=h;return c[b>>2]|0}function fn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=xb[c[(c[a>>2]|0)+4>>2]&63](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Cr(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function gn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=xk(e)|0;c[m>>2]=l;e=Qp(m,10868)|0;mt(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];hn(a,g+20|0,b,j,f,e);i=h;return c[b>>2]|0}function hn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=_r(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function jn(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;S=i;i=i+144|0;l=S+132|0;k=S+116|0;L=S+128|0;w=S+124|0;H=S+120|0;M=S+112|0;N=S+108|0;O=S+104|0;P=S+100|0;Q=S+96|0;R=S+92|0;m=S+88|0;n=S+84|0;o=S+80|0;p=S+76|0;q=S+72|0;r=S+68|0;s=S+64|0;t=S+60|0;u=S+56|0;v=S+52|0;x=S+48|0;y=S+44|0;z=S+40|0;A=S+36|0;B=S+32|0;C=S+28|0;D=S+24|0;E=S+20|0;F=S+16|0;G=S+12|0;I=S+8|0;J=S+4|0;K=S;c[g>>2]=0;U=xk(f)|0;c[L>>2]=U;L=Qp(L,10868)|0;mt(U)|0;do switch(j<<24>>24|0){case 65:case 97:{c[w>>2]=c[e>>2];c[l>>2]=c[w>>2];dn(b,h+24|0,d,l,g,L);T=26;break}case 104:case 66:case 98:{c[H>>2]=c[e>>2];c[l>>2]=c[H>>2];fn(b,h+16|0,d,l,g,L);T=26;break}case 99:{T=b+8|0;T=xb[c[(c[T>>2]|0)+12>>2]&63](T)|0;c[M>>2]=c[d>>2];c[N>>2]=c[e>>2];j=a[T>>0]|0;e=(j&1)==0;U=e?T+1|0:c[T+8>>2]|0;T=U+(e?(j&255)>>>1:c[T+4>>2]|0)|0;c[k>>2]=c[M>>2];c[l>>2]=c[N>>2];c[d>>2]=Ym(b,k,l,f,g,h,U,T)|0;T=26;break}case 101:case 100:{c[O>>2]=c[e>>2];c[l>>2]=c[O>>2];kn(b,h+12|0,d,l,g,L);T=26;break}case 68:{c[P>>2]=c[d>>2];c[Q>>2]=c[e>>2];c[k>>2]=c[P>>2];c[l>>2]=c[Q>>2];c[d>>2]=Ym(b,k,l,f,g,h,28539,28547)|0;T=26;break}case 70:{c[R>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[m>>2];c[d>>2]=Ym(b,k,l,f,g,h,28547,28555)|0;T=26;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];ln(b,h+8|0,d,l,g,L);T=26;break}case 73:{c[o>>2]=c[e>>2];c[l>>2]=c[o>>2];mn(b,h+8|0,d,l,g,L);T=26;break}case 106:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];nn(b,h+28|0,d,l,g,L);T=26;break}case 109:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];on(b,h+16|0,d,l,g,L);T=26;break}case 77:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];pn(b,h+4|0,d,l,g,L);T=26;break}case 116:case 110:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];qn(b,d,l,g,L);T=26;break}case 112:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];rn(b,h+8|0,d,l,g,L);T=26;break}case 114:{c[u>>2]=c[d>>2];c[v>>2]=c[e>>2];c[k>>2]=c[u>>2];c[l>>2]=c[v>>2];c[d>>2]=Ym(b,k,l,f,g,h,28555,28566)|0;T=26;break}case 82:{c[x>>2]=c[d>>2];c[y>>2]=c[e>>2];c[k>>2]=c[x>>2];c[l>>2]=c[y>>2];c[d>>2]=Ym(b,k,l,f,g,h,28566,28571)|0;T=26;break}case 83:{c[z>>2]=c[e>>2];c[l>>2]=c[z>>2];sn(b,h,d,l,g,L);T=26;break}case 84:{c[A>>2]=c[d>>2];c[B>>2]=c[e>>2];c[k>>2]=c[A>>2];c[l>>2]=c[B>>2];c[d>>2]=Ym(b,k,l,f,g,h,28571,28579)|0;T=26;break}case 119:{c[C>>2]=c[e>>2];c[l>>2]=c[C>>2];tn(b,h+24|0,d,l,g,L);T=26;break}case 120:{U=c[(c[b>>2]|0)+20>>2]|0;c[D>>2]=c[d>>2];c[E>>2]=c[e>>2];c[k>>2]=c[D>>2];c[l>>2]=c[E>>2];k=wb[U&63](b,k,l,f,g,h)|0;break}case 88:{T=b+8|0;T=xb[c[(c[T>>2]|0)+24>>2]&63](T)|0;c[F>>2]=c[d>>2];c[G>>2]=c[e>>2];j=a[T>>0]|0;e=(j&1)==0;U=e?T+1|0:c[T+8>>2]|0;T=U+(e?(j&255)>>>1:c[T+4>>2]|0)|0;c[k>>2]=c[F>>2];c[l>>2]=c[G>>2];c[d>>2]=Ym(b,k,l,f,g,h,U,T)|0;T=26;break}case 121:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];hn(b,h+20|0,d,l,g,L);T=26;break}case 89:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];un(b,h+20|0,d,l,g,L);T=26;break}case 37:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];vn(b,d,l,g,L);T=26;break}default:{c[g>>2]=c[g>>2]|4;T=26}}while(0);if((T|0)==26)k=c[d>>2]|0;i=S;return k|0}function kn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=_r(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function ln(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=_r(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function mn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=_r(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function nn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=_r(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function on(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=_r(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function pn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=_r(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return} +function qn(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){h=c[e>>2]|0;do if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((xb[c[(c[h>>2]|0)+36>>2]&63](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0;while(0);h=(h|0)==0;a=c[f>>2]|0;do if(a){if((c[a+12>>2]|0)!=(c[a+16>>2]|0))if(h)break;else break a;if((xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)!=-1)if(h)break;else break a;else{c[f>>2]=0;k=12;break}}else k=12;while(0);if((k|0)==12){k=0;if(h){a=0;break}else a=0}h=c[e>>2]|0;i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else h=d[i>>0]|0;if((h&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(h<<24>>24<<1)>>1]&8192))break;h=c[e>>2]|0;a=h+12|0;i=c[a>>2]|0;if((i|0)==(c[h+16>>2]|0)){xb[c[(c[h>>2]|0)+40>>2]&63](h)|0;continue}else{c[a>>2]=i+1;continue}}h=c[e>>2]|0;do if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((xb[c[(c[h>>2]|0)+36>>2]&63](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0;while(0);h=(h|0)==0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)==-1:0){c[f>>2]=0;k=32;break}if(!h)k=33}else k=32;while(0);if((k|0)==32?h:0)k=33;if((k|0)==33)c[g>>2]=c[g>>2]|2;return}function rn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=xb[c[(c[m>>2]|0)+8>>2]&63](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=Cr(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4;while(0);i=n;return}function sn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=_r(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function tn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=_r(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function un(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=_r(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function vn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a=c[b>>2]|0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}else a=0;while(0);h=(a|0)==0;a=c[e>>2]|0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)==-1:0){c[e>>2]=0;j=11;break}if(h){i=a;j=13}else j=12}else j=11;while(0);if((j|0)==11)if(h)j=12;else{i=0;j=13}a:do if((j|0)==12)c[f>>2]=c[f>>2]|6;else if((j|0)==13){a=c[b>>2]|0;h=c[a+12>>2]|0;if((h|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=d[h>>0]|0;if((pb[c[(c[g>>2]|0)+36>>2]&31](g,a&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}a=c[b>>2]|0;h=a+12|0;g=c[h>>2]|0;if((g|0)==(c[a+16>>2]|0)){xb[c[(c[a>>2]|0)+40>>2]&63](a)|0;a=c[b>>2]|0;if(!a)a=0;else j=21}else{c[h>>2]=g+1;j=21}do if((j|0)==21)if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}while(0);a=(a|0)==0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(xb[c[(c[i>>2]|0)+36>>2]&63](i)|0)==-1:0){c[e>>2]=0;j=30;break}if(a)break a}else j=30;while(0);if((j|0)==30?!a:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function wn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+32|0;r=w+16|0;q=w+12|0;u=w+8|0;s=w+4|0;t=w;k=xk(e)|0;c[u>>2]=k;u=Qp(u,10860)|0;mt(k)|0;c[f>>2]=0;k=c[b>>2]|0;a:do if((h|0)!=(j|0)){b:while(1){m=k;if(k){l=c[k+12>>2]|0;if((l|0)==(c[k+16>>2]|0))l=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else l=c[l>>2]|0;if((l|0)==-1){c[b>>2]=0;k=0;o=1;p=0}else{o=0;p=m}}else{k=0;o=1;p=m}n=c[d>>2]|0;l=n;do if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0))m=xb[c[(c[n>>2]|0)+36>>2]&63](n)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(o)break;else{v=16;break b}else{c[d>>2]=0;l=0;v=14;break}}else v=14;while(0);if((v|0)==14){v=0;if(o){v=16;break}else n=0}c:do if((pb[c[(c[u>>2]|0)+52>>2]&31](u,c[h>>2]|0,0)|0)<<24>>24==37){m=h+4|0;if((m|0)==(j|0)){v=19;break b}o=pb[c[(c[u>>2]|0)+52>>2]&31](u,c[m>>2]|0,0)|0;switch(o<<24>>24){case 48:case 69:{n=h+8|0;if((n|0)==(j|0)){v=22;break b}h=m;m=pb[c[(c[u>>2]|0)+52>>2]&31](u,c[n>>2]|0,0)|0;k=o;break}default:{m=o;k=0}}o=c[(c[a>>2]|0)+36>>2]|0;c[s>>2]=p;c[t>>2]=l;c[q>>2]=c[s>>2];c[r>>2]=c[t>>2];c[b>>2]=Ab[o&15](a,q,r,e,f,g,m,k)|0;h=h+8|0}else{if(!(pb[c[(c[u>>2]|0)+12>>2]&31](u,8192,c[h>>2]|0)|0)){m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else l=c[l>>2]|0;p=Db[c[(c[u>>2]|0)+28>>2]&31](u,l)|0;if((p|0)!=(Db[c[(c[u>>2]|0)+28>>2]&31](u,c[h>>2]|0)|0)){v=59;break b}l=c[m>>2]|0;if((l|0)==(c[n>>2]|0))xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;else c[m>>2]=l+4;h=h+4|0;break}do{h=h+4|0;if((h|0)==(j|0)){h=j;break}}while(pb[c[(c[u>>2]|0)+12>>2]&31](u,8192,c[h>>2]|0)|0);l=n;o=n;while(1){if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))m=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;k=0}else n=0}else{n=1;k=0}do if(o){m=c[o+12>>2]|0;if((m|0)==(c[o+16>>2]|0))m=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(n^(l|0)==0){p=l;o=l;break}else break c;else{c[d>>2]=0;l=0;v=42;break}}else v=42;while(0);if((v|0)==42){v=0;if(n)break c;else{p=l;o=0}}m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else l=c[l>>2]|0;if(!(pb[c[(c[u>>2]|0)+12>>2]&31](u,8192,l)|0))break c;l=c[m>>2]|0;if((l|0)==(c[n>>2]|0)){xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;l=p;continue}else{c[m>>2]=l+4;l=p;continue}}}while(0);k=c[b>>2]|0;if(!((h|0)!=(j|0)&(c[f>>2]|0)==0))break a}if((v|0)==16){c[f>>2]=4;break}else if((v|0)==19){c[f>>2]=4;break}else if((v|0)==22){c[f>>2]=4;break}else if((v|0)==59){c[f>>2]=4;k=c[b>>2]|0;break}}while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}h=c[d>>2]|0;do if(h){l=c[h+12>>2]|0;if((l|0)==(c[h+16>>2]|0))h=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else h=c[l>>2]|0;if((h|0)!=-1)if(m)break;else{v=74;break}else{c[d>>2]=0;v=72;break}}else v=72;while(0);if((v|0)==72?m:0)v=74;if((v|0)==74)c[f>>2]=c[f>>2]|2;i=w;return k|0}function xn(a){a=a|0;return}function yn(a){a=a|0;rf(a);return}function zn(a){a=a|0;return 2}function An(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=wn(a,k,j,e,f,g,11436,11468)|0;i=h;return a|0}function Bn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;q=b+8|0;q=xb[c[(c[q>>2]|0)+20>>2]&63](q)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];o=a[q>>0]|0;p=(o&1)==0;e=q+4|0;d=p?e:c[q+8>>2]|0;e=d+((p?(o&255)>>>1:c[e>>2]|0)<<2)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=wn(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function Cn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=xk(e)|0;c[m>>2]=l;e=Qp(m,10860)|0;mt(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Dn(a,g+24|0,b,j,f,e);i=h;return c[b>>2]|0}function Dn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=xb[c[c[a>>2]>>2]&63](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Nr(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function En(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=xk(e)|0;c[m>>2]=l;e=Qp(m,10860)|0;mt(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Fn(a,g+16|0,b,j,f,e);i=h;return c[b>>2]|0}function Fn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=xb[c[(c[a>>2]|0)+4>>2]&63](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Nr(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function Gn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=xk(e)|0;c[m>>2]=l;e=Qp(m,10860)|0;mt(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Hn(a,g+20|0,b,j,f,e);i=h;return c[b>>2]|0}function Hn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=$r(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function In(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;S=i;i=i+144|0;l=S+132|0;k=S+116|0;L=S+128|0;w=S+124|0;H=S+120|0;M=S+112|0;N=S+108|0;O=S+104|0;P=S+100|0;Q=S+96|0;R=S+92|0;m=S+88|0;n=S+84|0;o=S+80|0;p=S+76|0;q=S+72|0;r=S+68|0;s=S+64|0;t=S+60|0;u=S+56|0;v=S+52|0;x=S+48|0;y=S+44|0;z=S+40|0;A=S+36|0;B=S+32|0;C=S+28|0;D=S+24|0;E=S+20|0;F=S+16|0;G=S+12|0;I=S+8|0;J=S+4|0;K=S;c[g>>2]=0;U=xk(f)|0;c[L>>2]=U;L=Qp(L,10860)|0;mt(U)|0;do switch(j<<24>>24|0){case 65:case 97:{c[w>>2]=c[e>>2];c[l>>2]=c[w>>2];Dn(b,h+24|0,d,l,g,L);T=26;break}case 104:case 66:case 98:{c[H>>2]=c[e>>2];c[l>>2]=c[H>>2];Fn(b,h+16|0,d,l,g,L);T=26;break}case 99:{U=b+8|0;U=xb[c[(c[U>>2]|0)+12>>2]&63](U)|0;c[M>>2]=c[d>>2];c[N>>2]=c[e>>2];j=a[U>>0]|0;e=(j&1)==0;T=U+4|0;U=e?T:c[U+8>>2]|0;T=U+((e?(j&255)>>>1:c[T>>2]|0)<<2)|0;c[k>>2]=c[M>>2];c[l>>2]=c[N>>2];c[d>>2]=wn(b,k,l,f,g,h,U,T)|0;T=26;break}case 101:case 100:{c[O>>2]=c[e>>2];c[l>>2]=c[O>>2];Jn(b,h+12|0,d,l,g,L);T=26;break}case 68:{c[P>>2]=c[d>>2];c[Q>>2]=c[e>>2];c[k>>2]=c[P>>2];c[l>>2]=c[Q>>2];c[d>>2]=wn(b,k,l,f,g,h,11468,11500)|0;T=26;break}case 70:{c[R>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[m>>2];c[d>>2]=wn(b,k,l,f,g,h,11500,11532)|0;T=26;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];Kn(b,h+8|0,d,l,g,L);T=26;break}case 73:{c[o>>2]=c[e>>2];c[l>>2]=c[o>>2];Ln(b,h+8|0,d,l,g,L);T=26;break}case 106:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];Mn(b,h+28|0,d,l,g,L);T=26;break}case 109:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];Nn(b,h+16|0,d,l,g,L);T=26;break}case 77:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];On(b,h+4|0,d,l,g,L);T=26;break}case 116:case 110:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];Pn(b,d,l,g,L);T=26;break}case 112:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];Qn(b,h+8|0,d,l,g,L);T=26;break}case 114:{c[u>>2]=c[d>>2];c[v>>2]=c[e>>2];c[k>>2]=c[u>>2];c[l>>2]=c[v>>2];c[d>>2]=wn(b,k,l,f,g,h,11532,11576)|0;T=26;break}case 82:{c[x>>2]=c[d>>2];c[y>>2]=c[e>>2];c[k>>2]=c[x>>2];c[l>>2]=c[y>>2];c[d>>2]=wn(b,k,l,f,g,h,11576,11596)|0;T=26;break}case 83:{c[z>>2]=c[e>>2];c[l>>2]=c[z>>2];Rn(b,h,d,l,g,L);T=26;break}case 84:{c[A>>2]=c[d>>2];c[B>>2]=c[e>>2];c[k>>2]=c[A>>2];c[l>>2]=c[B>>2];c[d>>2]=wn(b,k,l,f,g,h,11596,11628)|0;T=26;break}case 119:{c[C>>2]=c[e>>2];c[l>>2]=c[C>>2];Sn(b,h+24|0,d,l,g,L);T=26;break}case 120:{U=c[(c[b>>2]|0)+20>>2]|0;c[D>>2]=c[d>>2];c[E>>2]=c[e>>2];c[k>>2]=c[D>>2];c[l>>2]=c[E>>2];k=wb[U&63](b,k,l,f,g,h)|0;break}case 88:{U=b+8|0;U=xb[c[(c[U>>2]|0)+24>>2]&63](U)|0;c[F>>2]=c[d>>2];c[G>>2]=c[e>>2];j=a[U>>0]|0;e=(j&1)==0;T=U+4|0;U=e?T:c[U+8>>2]|0;T=U+((e?(j&255)>>>1:c[T>>2]|0)<<2)|0;c[k>>2]=c[F>>2];c[l>>2]=c[G>>2];c[d>>2]=wn(b,k,l,f,g,h,U,T)|0;T=26;break}case 121:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];Hn(b,h+20|0,d,l,g,L);T=26;break}case 89:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];Tn(b,h+20|0,d,l,g,L);T=26;break}case 37:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];Un(b,d,l,g,L);T=26;break}default:{c[g>>2]=c[g>>2]|4;T=26}}while(0);if((T|0)==26)k=c[d>>2]|0;i=S;return k|0}function Jn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=$r(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Kn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=$r(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Ln(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=$r(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Mn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=$r(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Nn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=$r(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function On(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=$r(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Pn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=c[g>>2]|0;if(!(pb[c[(c[f>>2]|0)+12>>2]&31](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){xb[c[(c[a>>2]|0)+40>>2]&63](a)|0;continue}else{c[g>>2]=h+4;continue}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break;else{i=39;break}else{c[d>>2]=0;i=37;break}}else i=37;while(0);if((i|0)==37?g:0)i=39;if((i|0)==39)c[e>>2]=c[e>>2]|2;return}function Qn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=xb[c[(c[m>>2]|0)+8>>2]&63](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=Nr(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4;while(0);i=n;return}function Rn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=$r(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Sn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=$r(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Tn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=$r(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function Un(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=c[g>>2]|0;if((pb[c[(c[f>>2]|0)+52>>2]&31](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){xb[c[(c[a>>2]|0)+40>>2]&63](a)|0;a=c[b>>2]|0;if(!a)g=1;else j=25}else{c[g>>2]=h+4;j=25}do if((j|0)==25){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=xb[c[(c[i>>2]|0)+36>>2]&63](i)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break a;else break;else{c[d>>2]=0;j=37;break}}else j=37;while(0);if((j|0)==37?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function Vn(a){a=a|0;Wn(a+8|0);return}function Wn(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(cm()|0))Th(c[a>>2]|0);return}function Xn(a){a=a|0;Wn(a+8|0);rf(a);return}function Yn(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;i=i+112|0;k=l+4|0;e=l;c[e>>2]=k+100;Zn(b+8|0,k,e,g,h,j);g=c[e>>2]|0;e=c[d>>2]|0;if((k|0)!=(g|0))do{j=a[k>>0]|0;do if(e){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){d=(Db[c[(c[e>>2]|0)+52>>2]&31](e,j&255)|0)==-1;e=d?0:e;break}else{c[f>>2]=h+1;a[h>>0]=j;break}}else e=0;while(0);k=k+1|0}while((k|0)!=(g|0));i=l;return e|0}function Zn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;a[l>>0]=37;j=l+1|0;a[j>>0]=g;k=l+2|0;a[k>>0]=h;a[l+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}c[e>>2]=d+(Ja(d|0,(c[e>>2]|0)-d|0,l|0,f|0,c[b>>2]|0)|0);i=m;return}function _n(a){a=a|0;Wn(a+8|0);return}function $n(a){a=a|0;Wn(a+8|0);rf(a);return}function ao(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+416|0;e=j+8|0;d=j;c[d>>2]=e+400;bo(a+8|0,e,d,f,g,h);a=c[d>>2]|0;d=c[b>>2]|0;if((e|0)!=(a|0)){f=e;do{e=c[f>>2]|0;if(!d)d=0;else{g=d+24|0;h=c[g>>2]|0;if((h|0)==(c[d+28>>2]|0))e=Db[c[(c[d>>2]|0)+52>>2]&31](d,e)|0;else{c[g>>2]=h+4;c[h>>2]=e}d=(e|0)==-1?0:d}f=f+4|0}while((f|0)!=(a|0))}i=j;return d|0}function bo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+128|0;l=h+16|0;m=h+12|0;j=h;k=h+8|0;c[m>>2]=l+100;Zn(a,l,m,e,f,g);g=j;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=l;g=(c[d>>2]|0)-b>>2;f=Xh(c[a>>2]|0)|0;g=ii(b,k,g,j)|0;if(f)Xh(f)|0;c[d>>2]=b+(g<<2);i=h;return}function co(a){a=a|0;return}function eo(a){a=a|0;rf(a);return}function fo(a){a=a|0;return 127}function go(a){a=a|0;return 127}function ho(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function io(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function jo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ko(a,b){a=a|0;b=b|0;Yj(a,1,45);return}function lo(a){a=a|0;return 0}function mo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function no(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function oo(a){a=a|0;return}function po(a){a=a|0;rf(a);return}function qo(a){a=a|0;return 127}function ro(a){a=a|0;return 127}function so(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function to(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function uo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function vo(a,b){a=a|0;b=b|0;Yj(a,1,45);return}function wo(a){a=a|0;return 0}function xo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function yo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function zo(a){a=a|0;return}function Ao(a){a=a|0;rf(a);return}function Bo(a){a=a|0;return 2147483647}function Co(a){a=a|0;return 2147483647}function Do(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Eo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Fo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Go(a,b){a=a|0;b=b|0;ik(a,1,45);return}function Ho(a){a=a|0;return 0}function Io(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Jo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ko(a){a=a|0;return}function Lo(a){a=a|0;rf(a);return}function Mo(a){a=a|0;return 2147483647}function No(a){a=a|0;return 2147483647}function Oo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Po(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Qo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ro(a,b){a=a|0;b=b|0;ik(a,1,45);return}function So(a){a=a|0;return 0}function To(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Uo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Vo(a){a=a|0;return}function Wo(a){a=a|0;rf(a);return}function Xo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+240|0;x=E+24|0;y=E;u=E+136|0;D=E+16|0;w=E+12|0;A=E+8|0;k=E+134|0;s=E+4|0;v=E+124|0;c[D>>2]=u;C=D+4|0;c[C>>2]=108;c[A>>2]=xk(g)|0;b=Qp(A,10868)|0;a[k>>0]=0;c[s>>2]=c[e>>2];t=c[g+4>>2]|0;c[x>>2]=c[s>>2];if(Zo(d,x,f,A,t,h,k,b,D,w,u+100|0)|0){Bb[c[(c[b>>2]|0)+32>>2]&7](b,28579,28589,v)|0;f=c[w>>2]|0;g=c[D>>2]|0;b=f-g|0;if((b|0)>98){b=mj(b+2|0)|0;if(!b)_f();else{z=b;l=b}}else{z=0;l=x}if(!(a[k>>0]|0))b=l;else{a[l>>0]=45;b=l+1|0}t=v+10|0;u=v;if(g>>>0>>0){k=v+1|0;l=k+1|0;m=l+1|0;n=m+1|0;o=n+1|0;p=o+1|0;q=p+1|0;r=q+1|0;s=r+1|0;do{f=a[g>>0]|0;if((a[v>>0]|0)!=f<<24>>24)if((a[k>>0]|0)!=f<<24>>24)if((a[l>>0]|0)!=f<<24>>24)if((a[m>>0]|0)!=f<<24>>24)if((a[n>>0]|0)!=f<<24>>24)if((a[o>>0]|0)!=f<<24>>24)if((a[p>>0]|0)!=f<<24>>24)if((a[q>>0]|0)!=f<<24>>24)if((a[r>>0]|0)==f<<24>>24)f=r;else f=(a[s>>0]|0)==f<<24>>24?s:t;else f=q;else f=p;else f=o;else f=n;else f=m;else f=l;else f=k;else f=v;a[b>>0]=a[28579+(f-u)>>0]|0;g=g+1|0;b=b+1|0}while(g>>>0<(c[w>>2]|0)>>>0)}a[b>>0]=0;c[y>>2]=j;Ii(x,28590,y)|0;if(z)nj(z)}b=c[d>>2]|0;do if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0))if((xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}else b=0;while(0);b=(b|0)==0;f=c[e>>2]|0;do if(f){if((c[f+12>>2]|0)==(c[f+16>>2]|0)?(xb[c[(c[f>>2]|0)+36>>2]&63](f)|0)==-1:0){c[e>>2]=0;B=25;break}if(!b)B=26}else B=25;while(0);if((B|0)==25?b:0)B=26;if((B|0)==26)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;mt(c[A>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if(b)ub[c[C>>2]&127](b);i=E;return f|0}function Yo(a){a=a|0;return}function Zo(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+512|0;O=ca+88|0;t=ca+96|0;ba=ca+80|0;S=ca+72|0;R=ca+68|0;T=ca+500|0;P=ca+497|0;U=ca+496|0;Y=ca+56|0;aa=ca+44|0;_=ca+32|0;Z=ca+20|0;$=ca+8|0;Q=ca+4|0;W=ca;c[O>>2]=p;c[ba>>2]=t;X=ba+4|0;c[X>>2]=108;c[S>>2]=t;c[R>>2]=t+400;c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;ap(g,h,T,P,U,Y,aa,_,Z,Q);c[o>>2]=c[n>>2];H=m+8|0;I=_+4|0;J=Z+4|0;K=Z+8|0;L=Z+1|0;M=_+8|0;N=_+1|0;x=(j&512|0)!=0;y=aa+8|0;z=aa+1|0;A=aa+4|0;B=$+4|0;C=$+8|0;D=$+1|0;E=T+3|0;F=Y+4|0;G=0;s=0;a:while(1){p=c[e>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((xb[c[(c[p>>2]|0)+36>>2]&63](p)|0)==-1){c[e>>2]=0;p=0;break}else{p=c[e>>2]|0;break}}else p=0;while(0);p=(p|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(p)break;else{V=202;break a}if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)!=-1)if(p)break;else{V=202;break a}else{c[f>>2]=0;V=12;break}}else V=12;while(0);if((V|0)==12){V=0;if(p){V=202;break}else m=0}b:do switch(a[T+G>>0]|0){case 1:{if((G|0)!=3){p=c[e>>2]|0;g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=xb[c[(c[p>>2]|0)+36>>2]&63](p)|0;else p=d[g>>0]|0;if((p&255)<<24>>24<=-1){V=26;break a}if(!(b[(c[H>>2]|0)+(p<<24>>24<<1)>>1]&8192)){V=26;break a}p=c[e>>2]|0;g=p+12|0;h=c[g>>2]|0;if((h|0)==(c[p+16>>2]|0))p=xb[c[(c[p>>2]|0)+40>>2]&63](p)|0;else{c[g>>2]=h+1;p=d[h>>0]|0}ek($,p&255);p=m;g=m;V=28}break}case 0:{if((G|0)!=3){p=m;g=m;V=28}break}case 3:{h=a[_>>0]|0;p=(h&1)==0?(h&255)>>>1:c[I>>2]|0;g=a[Z>>0]|0;g=(g&1)==0?(g&255)>>>1:c[J>>2]|0;if((p|0)!=(0-g|0)){j=(p|0)==0;q=c[e>>2]|0;r=c[q+12>>2]|0;p=c[q+16>>2]|0;m=(r|0)==(p|0);if(j|(g|0)==0){if(m)p=xb[c[(c[q>>2]|0)+36>>2]&63](q)|0;else p=d[r>>0]|0;p=p&255;if(j){if(p<<24>>24!=(a[((a[Z>>0]&1)==0?L:c[K>>2]|0)>>0]|0))break b;p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))xb[c[(c[p>>2]|0)+40>>2]&63](p)|0;else c[m>>2]=g+1;a[l>>0]=1;w=a[Z>>0]|0;s=((w&1)==0?(w&255)>>>1:c[J>>2]|0)>>>0>1?Z:s;break b}if(p<<24>>24!=(a[((a[_>>0]&1)==0?N:c[M>>2]|0)>>0]|0)){a[l>>0]=1;break b}p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))xb[c[(c[p>>2]|0)+40>>2]&63](p)|0;else c[m>>2]=g+1;w=a[_>>0]|0;s=((w&1)==0?(w&255)>>>1:c[I>>2]|0)>>>0>1?_:s;break b}if(m){j=xb[c[(c[q>>2]|0)+36>>2]&63](q)|0;p=c[e>>2]|0;h=a[_>>0]|0;q=p;g=c[p+12>>2]|0;p=c[p+16>>2]|0}else{j=d[r>>0]|0;g=r}m=q+12|0;p=(g|0)==(p|0);if((j&255)<<24>>24==(a[((h&1)==0?N:c[M>>2]|0)>>0]|0)){if(p)xb[c[(c[q>>2]|0)+40>>2]&63](q)|0;else c[m>>2]=g+1;w=a[_>>0]|0;s=((w&1)==0?(w&255)>>>1:c[I>>2]|0)>>>0>1?_:s;break b}if(p)p=xb[c[(c[q>>2]|0)+36>>2]&63](q)|0;else p=d[g>>0]|0;if((p&255)<<24>>24!=(a[((a[Z>>0]&1)==0?L:c[K>>2]|0)>>0]|0)){V=82;break a}p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))xb[c[(c[p>>2]|0)+40>>2]&63](p)|0;else c[m>>2]=g+1;a[l>>0]=1;w=a[Z>>0]|0;s=((w&1)==0?(w&255)>>>1:c[J>>2]|0)>>>0>1?Z:s}break}case 2:{if(!(G>>>0<2|(s|0)!=0)?!(x|(G|0)==2&(a[E>>0]|0)!=0):0){s=0;break b}v=a[aa>>0]|0;p=(v&1)==0;w=c[y>>2]|0;h=p?z:w;u=h;c:do if((G|0)!=0?(d[T+(G+-1)>>0]|0)<2:0){r=p?(v&255)>>>1:c[A>>2]|0;j=h+r|0;q=c[H>>2]|0;d:do if(!r)g=u;else{r=h;g=u;do{p=a[r>>0]|0;if(p<<24>>24<=-1)break d;if(!(b[q+(p<<24>>24<<1)>>1]&8192))break d;r=r+1|0;g=r}while((r|0)!=(j|0))}while(0);j=g-u|0;q=a[$>>0]|0;p=(q&1)==0;q=p?(q&255)>>>1:c[B>>2]|0;if(q>>>0>=j>>>0){p=p?D:c[C>>2]|0;r=p+q|0;if((g|0)!=(u|0)){p=p+(q-j)|0;while(1){if((a[p>>0]|0)!=(a[h>>0]|0)){g=u;break c}p=p+1|0;if((p|0)==(r|0))break;else h=h+1|0}}}else g=u}else g=u;while(0);p=(v&1)==0;p=(p?z:w)+(p?(v&255)>>>1:c[A>>2]|0)|0;e:do if((g|0)!=(p|0)){j=m;h=m;p=g;while(1){m=c[e>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}else m=0;while(0);g=(m|0)==0;do if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){m=j;q=h;break}else break e;if((xb[c[(c[h>>2]|0)+36>>2]&63](h)|0)!=-1)if(g^(j|0)==0){m=j;q=j;break}else break e;else{c[f>>2]=0;m=0;V=107;break}}else{m=j;V=107}while(0);if((V|0)==107){V=0;if(g)break e;else q=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else g=d[h>>0]|0;if((g&255)<<24>>24!=(a[p>>0]|0))break e;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0))xb[c[(c[g>>2]|0)+40>>2]&63](g)|0;else c[h>>2]=j+1;p=p+1|0;g=a[aa>>0]|0;w=(g&1)==0;g=(w?z:c[y>>2]|0)+(w?(g&255)>>>1:c[A>>2]|0)|0;if((p|0)==(g|0)){p=g;break}else{j=m;h=q}}}while(0);if(x?(w=a[aa>>0]|0,v=(w&1)==0,(p|0)!=((v?z:c[y>>2]|0)+(v?(w&255)>>>1:c[A>>2]|0)|0)):0){V=119;break a}break}case 4:{r=a[U>>0]|0;j=m;h=m;p=0;f:while(1){m=c[e>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}else m=0;while(0);g=(m|0)==0;do if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){m=j;q=h;break}else{m=j;break f}if((xb[c[(c[h>>2]|0)+36>>2]&63](h)|0)!=-1)if(g^(j|0)==0){m=j;q=j;break}else{m=j;break f}else{c[f>>2]=0;m=0;V=130;break}}else{m=j;V=130}while(0);if((V|0)==130){V=0;if(g)break;else q=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else g=d[h>>0]|0;h=g&255;if(h<<24>>24>-1?(b[(c[H>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[o>>2]|0;if((g|0)==(c[O>>2]|0)){as(n,o,O);g=c[o>>2]|0}c[o>>2]=g+1;a[g>>0]=h;p=p+1|0}else{w=a[Y>>0]|0;if(!(h<<24>>24==r<<24>>24&((p|0)!=0?(((w&1)==0?(w&255)>>>1:c[F>>2]|0)|0)!=0:0)))break;if((t|0)==(c[R>>2]|0)){bs(ba,S,R);t=c[S>>2]|0}w=t+4|0;c[S>>2]=w;c[t>>2]=p;t=w;p=0}g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){xb[c[(c[g>>2]|0)+40>>2]&63](g)|0;j=m;h=q;continue}else{c[h>>2]=j+1;j=m;h=q;continue}}if((p|0)!=0?(c[ba>>2]|0)!=(t|0):0){if((t|0)==(c[R>>2]|0)){bs(ba,S,R);t=c[S>>2]|0}w=t+4|0;c[S>>2]=w;c[t>>2]=p;t=w}q=c[Q>>2]|0;if((q|0)>0){p=c[e>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((xb[c[(c[p>>2]|0)+36>>2]&63](p)|0)==-1){c[e>>2]=0;p=0;break}else{p=c[e>>2]|0;break}}else p=0;while(0);p=(p|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1:0){c[f>>2]=0;V=162;break}if(p)h=m;else{V=167;break a}}else V=162;while(0);if((V|0)==162){V=0;if(p){V=167;break a}else h=0}p=c[e>>2]|0;m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))p=xb[c[(c[p>>2]|0)+36>>2]&63](p)|0;else p=d[m>>0]|0;if((p&255)<<24>>24!=(a[P>>0]|0)){V=167;break a}p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))xb[c[(c[p>>2]|0)+40>>2]&63](p)|0;else c[m>>2]=g+1;if((q|0)>0){j=h;g=h;while(1){p=c[e>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((xb[c[(c[p>>2]|0)+36>>2]&63](p)|0)==-1){c[e>>2]=0;p=0;break}else{p=c[e>>2]|0;break}}else p=0;while(0);m=(p|0)==0;do if(g){if((c[g+12>>2]|0)!=(c[g+16>>2]|0))if(m){p=j;r=g;break}else{V=189;break a}if((xb[c[(c[g>>2]|0)+36>>2]&63](g)|0)!=-1)if(m^(j|0)==0){p=j;r=j;break}else{V=189;break a}else{c[f>>2]=0;p=0;V=182;break}}else{p=j;V=182}while(0);if((V|0)==182){V=0;if(m){V=189;break a}else r=0}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0))m=xb[c[(c[m>>2]|0)+36>>2]&63](m)|0;else m=d[g>>0]|0;if((m&255)<<24>>24<=-1){V=189;break a}if(!(b[(c[H>>2]|0)+(m<<24>>24<<1)>>1]&2048)){V=189;break a}if((c[o>>2]|0)==(c[O>>2]|0))as(n,o,O);m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0))m=xb[c[(c[m>>2]|0)+36>>2]&63](m)|0;else m=d[g>>0]|0;g=c[o>>2]|0;c[o>>2]=g+1;a[g>>0]=m;m=q;q=q+-1|0;c[Q>>2]=q;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0))xb[c[(c[g>>2]|0)+40>>2]&63](g)|0;else c[h>>2]=j+1;if((m|0)<=1)break;else{j=p;g=r}}}}if((c[o>>2]|0)==(c[n>>2]|0)){V=200;break a}break}default:{}}while(0);g:do if((V|0)==28)while(1){V=0;m=c[e>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}else m=0;while(0);m=(m|0)==0;do if(g){if((c[g+12>>2]|0)!=(c[g+16>>2]|0))if(m){j=p;h=g;break}else break g;if((xb[c[(c[g>>2]|0)+36>>2]&63](g)|0)!=-1)if(m^(p|0)==0){j=p;h=p;break}else break g;else{c[f>>2]=0;p=0;V=38;break}}else V=38;while(0);if((V|0)==38){V=0;if(m)break g;else{j=p;h=0}}p=c[e>>2]|0;m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))p=xb[c[(c[p>>2]|0)+36>>2]&63](p)|0;else p=d[m>>0]|0;if((p&255)<<24>>24<=-1)break g;if(!(b[(c[H>>2]|0)+(p<<24>>24<<1)>>1]&8192))break g;p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))p=xb[c[(c[p>>2]|0)+40>>2]&63](p)|0;else{c[m>>2]=g+1;p=d[g>>0]|0}ek($,p&255);p=j;g=h;V=28}while(0);G=G+1|0;if(G>>>0>=4){V=202;break}}h:do if((V|0)==26){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==82){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==119){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==167){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==189){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==200){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==202){i:do if(s){j=s+1|0;q=s+8|0;r=s+4|0;g=1;j:while(1){p=a[s>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[r>>2]|0;if(g>>>0>=p>>>0)break i;p=c[e>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((xb[c[(c[p>>2]|0)+36>>2]&63](p)|0)==-1){c[e>>2]=0;p=0;break}else{p=c[e>>2]|0;break}}else p=0;while(0);p=(p|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1:0){c[f>>2]=0;V=218;break}if(!p)break j}else V=218;while(0);if((V|0)==218?(V=0,p):0)break;p=c[e>>2]|0;m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))p=xb[c[(c[p>>2]|0)+36>>2]&63](p)|0;else p=d[m>>0]|0;if(!(a[s>>0]&1))m=j;else m=c[q>>2]|0;if((p&255)<<24>>24!=(a[m+g>>0]|0))break;p=g+1|0;m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){xb[c[(c[m>>2]|0)+40>>2]&63](m)|0;g=p;continue}else{c[g>>2]=h+1;g=p;continue}}c[k>>2]=c[k>>2]|4;m=0;break h}while(0);p=c[ba>>2]|0;if((p|0)!=(t|0)?(c[W>>2]=0,bp(Y,p,t,W),(c[W>>2]|0)!=0):0){c[k>>2]=c[k>>2]|4;m=0}else m=1}while(0);Zj($);Zj(Z);Zj(_);Zj(aa);Zj(Y);p=c[ba>>2]|0;c[ba>>2]=0;if(p)ub[c[X>>2]&127](p);i=ca;return m|0}function _o(a){a=a|0;return}function $o(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+144|0;v=s+24|0;t=s+32|0;r=s+16|0;l=s+8|0;u=s+4|0;k=s+28|0;m=s;c[r>>2]=t;q=r+4|0;c[q>>2]=108;o=xk(g)|0;c[u>>2]=o;b=Qp(u,10868)|0;a[k>>0]=0;n=c[e>>2]|0;c[m>>2]=n;g=c[g+4>>2]|0;c[v>>2]=c[m>>2];m=n;if(Zo(d,v,f,u,g,h,k,b,r,l,t+100|0)|0){if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}if(a[k>>0]|0)ek(j,Db[c[(c[b>>2]|0)+28>>2]&31](b,45)|0);k=Db[c[(c[b>>2]|0)+28>>2]&31](b,48)|0;b=c[r>>2]|0;f=c[l>>2]|0;g=f+-1|0;a:do if(b>>>0>>0)do{if((a[b>>0]|0)!=k<<24>>24)break a;b=b+1|0}while(b>>>0>>0);while(0);cs(j,b,f)|0}b=c[d>>2]|0;do if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0))if((xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}else b=0;while(0);b=(b|0)==0;do if(n){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[n>>2]|0)+36>>2]&63](m)|0)==-1:0){c[e>>2]=0;p=21;break}if(!b)p=22}else p=21;while(0);if((p|0)==21?b:0)p=22;if((p|0)==22)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;mt(o)|0;b=c[r>>2]|0;c[r>>2]=0;if(b)ub[c[q>>2]&127](b);i=s;return g|0}function ap(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+112|0;n=x+100|0;o=x+88|0;p=x+76|0;q=x+64|0;r=x+52|0;s=x+48|0;t=x+36|0;u=x+24|0;v=x+12|0;w=x;if(b){b=Qp(d,10476)|0;vb[c[(c[b>>2]|0)+44>>2]&63](n,b);w=c[n>>2]|0;a[e>>0]=w;a[e+1>>0]=w>>8;a[e+2>>0]=w>>16;a[e+3>>0]=w>>24;vb[c[(c[b>>2]|0)+32>>2]&63](o,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}dk(l,0);c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Zj(o);vb[c[(c[b>>2]|0)+28>>2]&63](p,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}dk(k,0);c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Zj(p);a[f>>0]=xb[c[(c[b>>2]|0)+12>>2]&63](b)|0;a[g>>0]=xb[c[(c[b>>2]|0)+16>>2]&63](b)|0;vb[c[(c[b>>2]|0)+20>>2]&63](q,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}dk(h,0);c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Zj(q);vb[c[(c[b>>2]|0)+24>>2]&63](r,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}dk(j,0);c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Zj(r);b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0}else{b=Qp(d,10412)|0;vb[c[(c[b>>2]|0)+44>>2]&63](s,b);s=c[s>>2]|0;a[e>>0]=s;a[e+1>>0]=s>>8;a[e+2>>0]=s>>16;a[e+3>>0]=s>>24;vb[c[(c[b>>2]|0)+32>>2]&63](t,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}dk(l,0);c[l>>2]=c[t>>2];c[l+4>>2]=c[t+4>>2];c[l+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Zj(t);vb[c[(c[b>>2]|0)+28>>2]&63](u,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}dk(k,0);c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Zj(u);a[f>>0]=xb[c[(c[b>>2]|0)+12>>2]&63](b)|0;a[g>>0]=xb[c[(c[b>>2]|0)+16>>2]&63](b)|0;vb[c[(c[b>>2]|0)+20>>2]&63](v,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}dk(h,0);c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Zj(v);vb[c[(c[b>>2]|0)+24>>2]&63](w,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}dk(j,0);c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Zj(w);b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0}c[m>>2]=b;i=x;return}function bp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=a[b>>0]|0;i=b+4|0;h=c[i>>2]|0;a:do if(((g&1)==0?(g&255)>>>1:h)|0){if((d|0)!=(e|0)){g=e+-4|0;if(g>>>0>d>>>0){h=d;do{j=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=j;h=h+4|0;g=g+-4|0}while(h>>>0>>0)}g=a[b>>0]|0;h=c[i>>2]|0}j=(g&1)==0;i=j?b+1|0:c[b+8>>2]|0;e=e+-4|0;b=i+(j?(g&255)>>>1:h)|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;b:do if(e>>>0>d>>>0){while(1){if(!g?(h<<24>>24|0)!=(c[d>>2]|0):0)break;i=(b-i|0)>1?i+1|0:i;d=d+4|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;if(d>>>0>=e>>>0)break b}c[f>>2]=4;break a}while(0);if(!g?((c[e>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function cp(a){a=a|0;return}function dp(a){a=a|0;rf(a);return}function ep(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+576|0;v=E+424|0;y=E;u=E+24|0;D=E+16|0;w=E+12|0;A=E+8|0;k=E+464|0;s=E+4|0;x=E+468|0;c[D>>2]=u;C=D+4|0;c[C>>2]=108;c[A>>2]=xk(g)|0;b=Qp(A,10860)|0;a[k>>0]=0;c[s>>2]=c[e>>2];t=c[g+4>>2]|0;c[v>>2]=c[s>>2];if(fp(d,v,f,A,t,h,k,b,D,w,u+400|0)|0){Bb[c[(c[b>>2]|0)+48>>2]&7](b,28594,28604,v)|0;f=c[w>>2]|0;g=c[D>>2]|0;b=f-g|0;if((b|0)>392){b=mj((b>>2)+2|0)|0;if(!b)_f();else{z=b;l=b}}else{z=0;l=x}if(!(a[k>>0]|0))b=l;else{a[l>>0]=45;b=l+1|0}t=v+40|0;u=v;if(g>>>0>>0){k=v+4|0;l=k+4|0;m=l+4|0;n=m+4|0;o=n+4|0;p=o+4|0;q=p+4|0;r=q+4|0;s=r+4|0;do{f=c[g>>2]|0;if((c[v>>2]|0)!=(f|0))if((c[k>>2]|0)!=(f|0))if((c[l>>2]|0)!=(f|0))if((c[m>>2]|0)!=(f|0))if((c[n>>2]|0)!=(f|0))if((c[o>>2]|0)!=(f|0))if((c[p>>2]|0)!=(f|0))if((c[q>>2]|0)!=(f|0))if((c[r>>2]|0)==(f|0))f=r;else f=(c[s>>2]|0)==(f|0)?s:t;else f=q;else f=p;else f=o;else f=n;else f=m;else f=l;else f=k;else f=v;a[b>>0]=a[28594+(f-u>>2)>>0]|0;g=g+4|0;b=b+1|0}while(g>>>0<(c[w>>2]|0)>>>0)}a[b>>0]=0;c[y>>2]=j;Ii(x,28590,y)|0;if(z)nj(z)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else b=c[f>>2]|0;if((b|0)==-1){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else b=c[f>>2]|0;if((b|0)!=-1)if(g)break;else{B=30;break}else{c[e>>2]=0;B=28;break}}else B=28;while(0);if((B|0)==28?g:0)B=30;if((B|0)==30)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;mt(c[A>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if(b)ub[c[C>>2]&127](b);i=E;return f|0}function fp(b,e,f,g,h,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=i;i=i+512|0;J=Z+96|0;s=Z+104|0;Y=Z+88|0;N=Z+80|0;M=Z+76|0;O=Z+504|0;K=Z+72|0;P=Z+68|0;T=Z+56|0;X=Z+44|0;V=Z+32|0;U=Z+20|0;W=Z+8|0;L=Z+4|0;R=Z;c[J>>2]=o;c[Y>>2]=s;S=Y+4|0;c[S>>2]=108;c[N>>2]=s;c[M>>2]=s+400;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;hp(f,g,O,K,P,T,X,V,U,L);c[n>>2]=c[m>>2];F=V+4|0;G=U+4|0;H=U+8|0;I=V+8|0;x=(h&512|0)!=0;y=X+8|0;z=X+4|0;A=W+4|0;B=W+8|0;C=O+3|0;D=T+4|0;E=0;r=0;a:while(1){o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if((o|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){o=c[f+12>>2]|0;if((o|0)==(c[f+16>>2]|0))o=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else o=c[o>>2]|0;if((o|0)!=-1)if(g){w=f;break}else{Q=217;break a}else{c[e>>2]=0;Q=15;break}}else Q=15;while(0);if((Q|0)==15){Q=0;if(g){Q=217;break}else w=0}b:do switch(a[O+E>>0]|0){case 1:{if((E|0)!=3){o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if(!(pb[c[(c[l>>2]|0)+12>>2]&31](l,8192,o)|0)){Q=28;break a}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+40>>2]&63](o)|0;else{c[f>>2]=g+4;o=c[g>>2]|0}nk(W,o);o=w;h=w;Q=30}break}case 0:{if((E|0)!=3){o=w;h=w;Q=30}break}case 3:{p=a[V>>0]|0;o=(p&1)==0?(p&255)>>>1:c[F>>2]|0;g=a[U>>0]|0;g=(g&1)==0?(g&255)>>>1:c[G>>2]|0;if((o|0)!=(0-g|0)){h=(o|0)==0;q=c[b>>2]|0;t=c[q+12>>2]|0;o=c[q+16>>2]|0;f=(t|0)==(o|0);if(h|(g|0)==0){if(f)o=xb[c[(c[q>>2]|0)+36>>2]&63](q)|0;else o=c[t>>2]|0;if(h){if((o|0)!=(c[((a[U>>0]&1)==0?G:c[H>>2]|0)>>2]|0))break b;o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))xb[c[(c[o>>2]|0)+40>>2]&63](o)|0;else c[f>>2]=g+4;a[k>>0]=1;w=a[U>>0]|0;r=((w&1)==0?(w&255)>>>1:c[G>>2]|0)>>>0>1?U:r;break b}if((o|0)!=(c[((a[V>>0]&1)==0?F:c[I>>2]|0)>>2]|0)){a[k>>0]=1;break b}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))xb[c[(c[o>>2]|0)+40>>2]&63](o)|0;else c[f>>2]=g+4;w=a[V>>0]|0;r=((w&1)==0?(w&255)>>>1:c[F>>2]|0)>>>0>1?V:r;break b}if(f){h=xb[c[(c[q>>2]|0)+36>>2]&63](q)|0;o=c[b>>2]|0;p=a[V>>0]|0;q=o;g=c[o+12>>2]|0;o=c[o+16>>2]|0}else{h=c[t>>2]|0;g=t}f=q+12|0;o=(g|0)==(o|0);if((h|0)==(c[((p&1)==0?F:c[I>>2]|0)>>2]|0)){if(o)xb[c[(c[q>>2]|0)+40>>2]&63](q)|0;else c[f>>2]=g+4;w=a[V>>0]|0;r=((w&1)==0?(w&255)>>>1:c[F>>2]|0)>>>0>1?V:r;break b}if(o)o=xb[c[(c[q>>2]|0)+36>>2]&63](q)|0;else o=c[g>>2]|0;if((o|0)!=(c[((a[U>>0]&1)==0?G:c[H>>2]|0)>>2]|0)){Q=86;break a}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))xb[c[(c[o>>2]|0)+40>>2]&63](o)|0;else c[f>>2]=g+4;a[k>>0]=1;w=a[U>>0]|0;r=((w&1)==0?(w&255)>>>1:c[G>>2]|0)>>>0>1?U:r}break}case 2:{if(!(E>>>0<2|(r|0)!=0)?!(x|(E|0)==2&(a[C>>0]|0)!=0):0){r=0;break b}h=a[X>>0]|0;g=c[y>>2]|0;f=(h&1)==0?z:g;o=f;c:do if((E|0)!=0?(d[O+(E+-1)>>0]|0)<2:0){v=(h&1)==0;d:do if((f|0)!=((v?z:g)+((v?(h&255)>>>1:c[z>>2]|0)<<2)|0)){h=f;while(1){if(!(pb[c[(c[l>>2]|0)+12>>2]&31](l,8192,c[h>>2]|0)|0))break;h=h+4|0;o=h;f=a[X>>0]|0;g=c[y>>2]|0;v=(f&1)==0;if((h|0)==((v?z:g)+((v?(f&255)>>>1:c[z>>2]|0)<<2)|0)){h=f;break d}}h=a[X>>0]|0;g=c[y>>2]|0}while(0);q=(h&1)==0?z:g;f=q;t=o-f>>2;u=a[W>>0]|0;p=(u&1)==0;u=p?(u&255)>>>1:c[A>>2]|0;if(u>>>0>=t>>>0){p=p?A:c[B>>2]|0;v=p+(u<<2)|0;if(!t)f=o;else{p=p+(u-t<<2)|0;while(1){if((c[p>>2]|0)!=(c[q>>2]|0))break c;p=p+4|0;if((p|0)==(v|0)){f=o;break}else q=q+4|0}}}}else f=o;while(0);o=(h&1)==0;o=(o?z:g)+((o?(h&255)>>>1:c[z>>2]|0)<<2)|0;e:do if((f|0)!=(o|0)){p=w;h=w;o=f;while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else f=c[f>>2]|0;if((f|0)!=-1)if(g^(p|0)==0){f=p;q=p;break}else break e;else{c[e>>2]=0;f=0;Q=114;break}}else{f=p;Q=114}while(0);if((Q|0)==114){Q=0;if(g)break e;else q=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else g=c[h>>2]|0;if((g|0)!=(c[o>>2]|0))break e;g=c[b>>2]|0;h=g+12|0;p=c[h>>2]|0;if((p|0)==(c[g+16>>2]|0))xb[c[(c[g>>2]|0)+40>>2]&63](g)|0;else c[h>>2]=p+4;o=o+4|0;g=a[X>>0]|0;w=(g&1)==0;g=(w?z:c[y>>2]|0)+((w?(g&255)>>>1:c[z>>2]|0)<<2)|0;if((o|0)==(g|0)){o=g;break}else{p=f;h=q}}}while(0);if(x?(w=a[X>>0]|0,v=(w&1)==0,(o|0)!=((v?z:c[y>>2]|0)+((v?(w&255)>>>1:c[z>>2]|0)<<2)|0)):0){Q=126;break a}break}case 4:{t=c[P>>2]|0;h=w;p=w;o=0;f:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0))f=xb[c[(c[p>>2]|0)+36>>2]&63](p)|0;else f=c[f>>2]|0;if((f|0)!=-1)if(g^(h|0)==0){f=h;q=h;break}else break f;else{c[e>>2]=0;f=0;Q=140;break}}else{f=h;Q=140}while(0);if((Q|0)==140){Q=0;if(g){h=f;break}else q=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))h=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else h=c[h>>2]|0;if(pb[c[(c[l>>2]|0)+12>>2]&31](l,2048,h)|0){g=c[n>>2]|0;if((g|0)==(c[J>>2]|0)){ds(m,n,J);g=c[n>>2]|0}c[n>>2]=g+4;c[g>>2]=h;o=o+1|0}else{w=a[T>>0]|0;if(!((h|0)==(t|0)&((o|0)!=0?(((w&1)==0?(w&255)>>>1:c[D>>2]|0)|0)!=0:0))){h=f;break}if((s|0)==(c[M>>2]|0)){bs(Y,N,M);s=c[N>>2]|0}w=s+4|0;c[N>>2]=w;c[s>>2]=o;s=w;o=0}g=c[b>>2]|0;h=g+12|0;p=c[h>>2]|0;if((p|0)==(c[g+16>>2]|0)){xb[c[(c[g>>2]|0)+40>>2]&63](g)|0;h=f;p=q;continue}else{c[h>>2]=p+4;h=f;p=q;continue}}if((o|0)!=0?(c[Y>>2]|0)!=(s|0):0){if((s|0)==(c[M>>2]|0)){bs(Y,N,M);s=c[N>>2]|0}w=s+4|0;c[N>>2]=w;c[s>>2]=o;s=w}q=c[L>>2]|0;if((q|0)>0){o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if((o|0)==-1){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else o=c[o>>2]|0;if((o|0)!=-1)if(f)break;else{Q=180;break a}else{c[e>>2]=0;Q=174;break}}else Q=174;while(0);if((Q|0)==174){Q=0;if(f){Q=180;break a}else h=0}o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if((o|0)!=(c[K>>2]|0)){Q=180;break a}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))xb[c[(c[o>>2]|0)+40>>2]&63](o)|0;else c[f>>2]=g+4;if((q|0)>0){p=h;g=h;t=q;while(1){o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if((o|0)==-1){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else o=c[o>>2]|0;if((o|0)!=-1)if(f^(p|0)==0){o=p;q=p;break}else{Q=204;break a}else{c[e>>2]=0;o=0;Q=198;break}}else{o=p;Q=198}while(0);if((Q|0)==198){Q=0;if(f){Q=204;break a}else q=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else f=c[g>>2]|0;if(!(pb[c[(c[l>>2]|0)+12>>2]&31](l,2048,f)|0)){Q=204;break a}if((c[n>>2]|0)==(c[J>>2]|0))ds(m,n,J);f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else f=c[g>>2]|0;g=c[n>>2]|0;c[n>>2]=g+4;c[g>>2]=f;f=t;t=t+-1|0;c[L>>2]=t;g=c[b>>2]|0;h=g+12|0;p=c[h>>2]|0;if((p|0)==(c[g+16>>2]|0))xb[c[(c[g>>2]|0)+40>>2]&63](g)|0;else c[h>>2]=p+4;if((f|0)<=1)break;else{p=o;g=q}}}}if((c[n>>2]|0)==(c[m>>2]|0)){Q=215;break a}break}default:{}}while(0);g:do if((Q|0)==30)while(1){Q=0;f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else f=c[f>>2]|0;if((f|0)!=-1)if(g^(o|0)==0){p=o;h=o;break}else break g;else{c[e>>2]=0;o=0;Q=43;break}}else Q=43;while(0);if((Q|0)==43){Q=0;if(g)break g;else{p=o;h=0}}o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if(!(pb[c[(c[l>>2]|0)+12>>2]&31](l,8192,o)|0))break g;o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+40>>2]&63](o)|0;else{c[f>>2]=g+4;o=c[g>>2]|0}nk(W,o);o=p;Q=30}while(0);E=E+1|0;if(E>>>0>=4){Q=217;break}}h:do if((Q|0)==28){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==86){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==126){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==180){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==204){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==215){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==217){i:do if(r){p=r+4|0;q=r+8|0;h=1;j:while(1){o=a[r>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=c[p>>2]|0;if(h>>>0>=o>>>0)break i;o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if((o|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);o=c[e>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if((o|0)!=-1)if(g)break;else break j;else{c[e>>2]=0;Q=236;break}}else Q=236;while(0);if((Q|0)==236?(Q=0,g):0)break;o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if(!(a[r>>0]&1))f=p;else f=c[q>>2]|0;if((o|0)!=(c[f+(h<<2)>>2]|0))break;o=h+1|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){xb[c[(c[f>>2]|0)+40>>2]&63](f)|0;h=o;continue}else{c[g>>2]=h+4;h=o;continue}}c[j>>2]=c[j>>2]|4;f=0;break h}while(0);o=c[Y>>2]|0;if((o|0)!=(s|0)?(c[R>>2]=0,bp(T,o,s,R),(c[R>>2]|0)!=0):0){c[j>>2]=c[j>>2]|4;f=0}else f=1}while(0);jk(W);jk(U);jk(V);jk(X);Zj(T);o=c[Y>>2]|0;c[Y>>2]=0;if(o)ub[c[S>>2]&127](o);i=Z;return f|0}function gp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+432|0;v=s+424|0;t=s+24|0;r=s+16|0;l=s+8|0;u=s+4|0;k=s+428|0;m=s;c[r>>2]=t;q=r+4|0;c[q>>2]=108;o=xk(g)|0;c[u>>2]=o;b=Qp(u,10860)|0;a[k>>0]=0;n=c[e>>2]|0;c[m>>2]=n;g=c[g+4>>2]|0;c[v>>2]=c[m>>2];m=n;if(fp(d,v,f,u,g,h,k,b,r,l,t+400|0)|0){if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;if(a[k>>0]|0)nk(j,Db[c[(c[b>>2]|0)+44>>2]&31](b,45)|0);k=Db[c[(c[b>>2]|0)+44>>2]&31](b,48)|0;b=c[r>>2]|0;f=c[l>>2]|0;g=f+-4|0;a:do if(b>>>0>>0)do{if((c[b>>2]|0)!=(k|0))break a;b=b+4|0}while(b>>>0>>0);while(0);es(j,b,f)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else b=c[g>>2]|0;if((b|0)==-1){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(n){b=c[m+12>>2]|0;if((b|0)==(c[m+16>>2]|0))b=xb[c[(c[n>>2]|0)+36>>2]&63](m)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(g)break;else{p=26;break}else{c[e>>2]=0;p=24;break}}else p=24;while(0);if((p|0)==24?g:0)p=26;if((p|0)==26)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;mt(o)|0;b=c[r>>2]|0;c[r>>2]=0;if(b)ub[c[q>>2]&127](b);i=s;return g|0}function hp(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+112|0;n=x+100|0;o=x+88|0;p=x+76|0;q=x+64|0;r=x+52|0;s=x+48|0;t=x+36|0;u=x+24|0;v=x+12|0;w=x;if(b){b=Qp(d,10604)|0;vb[c[(c[b>>2]|0)+44>>2]&63](n,b);w=c[n>>2]|0;a[e>>0]=w;a[e+1>>0]=w>>8;a[e+2>>0]=w>>16;a[e+3>>0]=w>>24;vb[c[(c[b>>2]|0)+32>>2]&63](o,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;mk(l,0);c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;jk(o);vb[c[(c[b>>2]|0)+28>>2]&63](p,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;mk(k,0);c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;jk(p);c[f>>2]=xb[c[(c[b>>2]|0)+12>>2]&63](b)|0;c[g>>2]=xb[c[(c[b>>2]|0)+16>>2]&63](b)|0;vb[c[(c[b>>2]|0)+20>>2]&63](q,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}dk(h,0);c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Zj(q);vb[c[(c[b>>2]|0)+24>>2]&63](r,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;mk(j,0);c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;jk(r);b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0}else{b=Qp(d,10540)|0;vb[c[(c[b>>2]|0)+44>>2]&63](s,b);s=c[s>>2]|0;a[e>>0]=s;a[e+1>>0]=s>>8;a[e+2>>0]=s>>16;a[e+3>>0]=s>>24;vb[c[(c[b>>2]|0)+32>>2]&63](t,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;mk(l,0);c[l>>2]=c[t>>2];c[l+4>>2]=c[t+4>>2];c[l+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;jk(t);vb[c[(c[b>>2]|0)+28>>2]&63](u,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;mk(k,0);c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;jk(u);c[f>>2]=xb[c[(c[b>>2]|0)+12>>2]&63](b)|0;c[g>>2]=xb[c[(c[b>>2]|0)+16>>2]&63](b)|0;vb[c[(c[b>>2]|0)+20>>2]&63](v,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}dk(h,0);c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Zj(v);vb[c[(c[b>>2]|0)+24>>2]&63](w,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;mk(j,0);c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;jk(w);b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0}c[m>>2]=b;i=x;return}function ip(a){a=a|0;return}function jp(a){a=a|0;rf(a);return}function kp(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+384|0;q=F+8|0;l=F;b=F+284|0;m=F+72|0;k=F+184|0;y=F+68|0;v=F+80|0;s=F+77|0;w=F+76|0;C=F+56|0;E=F+44|0;D=F+32|0;o=F+28|0;p=F+84|0;u=F+24|0;t=F+20|0;r=F+16|0;c[m>>2]=b;h[q>>3]=j;b=Hi(b,100,28605,q)|0;if(b>>>0>99){b=cm()|0;h[l>>3]=j;b=Yr(m,b,28605,l)|0;k=c[m>>2]|0;if(!k)_f();l=mj(b)|0;if(!l)_f();else{G=l;H=k;x=l;A=b}}else{G=0;H=0;x=k;A=b}b=xk(f)|0;c[y>>2]=b;n=Qp(y,10868)|0;l=c[m>>2]|0;Bb[c[(c[n>>2]|0)+32>>2]&7](n,l,l+A|0,x)|0;if(!A)m=0;else m=(a[c[m>>2]>>0]|0)==45;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;lp(e,m,y,v,s,w,C,E,D,o);l=c[o>>2]|0;if((A|0)>(l|0)){e=a[D>>0]|0;k=a[E>>0]|0;k=(A-l<<1|1)+l+((e&1)==0?(e&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{e=a[D>>0]|0;k=a[E>>0]|0;k=l+2+((e&1)==0?(e&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}if(k>>>0>100){k=mj(k)|0;if(!k)_f();else{B=k;z=k}}else{B=0;z=p}mp(z,u,t,c[f+4>>2]|0,x,x+A|0,n,m,v,a[s>>0]|0,a[w>>0]|0,C,E,D,l);c[r>>2]=c[d>>2];d=c[u>>2]|0;k=c[t>>2]|0;c[q>>2]=c[r>>2];k=qc(q,z,d,k,f,g)|0;if(B){nj(B);b=c[y>>2]|0}Zj(D);Zj(E);Zj(C);mt(b)|0;if(G)nj(G);if(H)nj(H);i=F;return k|0}function lp(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+108|0;o=z+96|0;p=z+92|0;q=z+80|0;x=z+68|0;y=z+56|0;r=z+52|0;s=z+40|0;t=z+36|0;u=z+24|0;v=z+12|0;w=z;if(b){e=Qp(e,10476)|0;b=c[e>>2]|0;if(d){vb[c[b+44>>2]&63](n,e);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[e>>2]|0)+32>>2]&63](o,e);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}dk(l,0);c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Zj(o);b=e}else{vb[c[b+40>>2]&63](p,e);d=c[p>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[e>>2]|0)+28>>2]&63](q,e);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}dk(l,0);c[l>>2]=c[q>>2];c[l+4>>2]=c[q+4>>2];c[l+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Zj(q);b=e}a[g>>0]=xb[c[(c[e>>2]|0)+12>>2]&63](e)|0;a[h>>0]=xb[c[(c[e>>2]|0)+16>>2]&63](e)|0;vb[c[(c[b>>2]|0)+20>>2]&63](x,e);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}dk(j,0);c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Zj(x);vb[c[(c[b>>2]|0)+24>>2]&63](y,e);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}dk(k,0);c[k>>2]=c[y>>2];c[k+4>>2]=c[y+4>>2];c[k+8>>2]=c[y+8>>2];c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;Zj(y);b=xb[c[(c[e>>2]|0)+36>>2]&63](e)|0}else{e=Qp(e,10412)|0;b=c[e>>2]|0;if(d){vb[c[b+44>>2]&63](r,e);d=c[r>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[e>>2]|0)+32>>2]&63](s,e);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}dk(l,0);c[l>>2]=c[s>>2];c[l+4>>2]=c[s+4>>2];c[l+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Zj(s);b=e}else{vb[c[b+40>>2]&63](t,e);d=c[t>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[e>>2]|0)+28>>2]&63](u,e);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}dk(l,0);c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Zj(u);b=e}a[g>>0]=xb[c[(c[e>>2]|0)+12>>2]&63](e)|0;a[h>>0]=xb[c[(c[e>>2]|0)+16>>2]&63](e)|0;vb[c[(c[b>>2]|0)+20>>2]&63](v,e);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}dk(j,0);c[j>>2]=c[v>>2];c[j+4>>2]=c[v+4>>2];c[j+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Zj(v);vb[c[(c[b>>2]|0)+24>>2]&63](w,e);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}dk(k,0);c[k>>2]=c[w>>2];c[k+4>>2]=c[w+4>>2];c[k+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Zj(w);b=xb[c[(c[e>>2]|0)+36>>2]&63](e)|0}c[m>>2]=b;i=z;return}function mp(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;c[f>>2]=d;N=q+4|0;O=q+8|0;P=q+1|0;H=p+4|0;I=(g&512|0)==0;J=p+8|0;K=p+1|0;L=j+8|0;M=(r|0)>0;A=o+4|0;B=o+8|0;C=o+1|0;D=r+1|0;F=-2-r-((r|0)<0?~r:-1)|0;G=(r|0)>0;z=0;do{switch(a[l+z>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];x=Db[c[(c[j>>2]|0)+28>>2]&31](j,32)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;break}case 3:{y=a[q>>0]|0;s=(y&1)==0;if((s?(y&255)>>>1:c[N>>2]|0)|0){x=a[(s?P:c[O>>2]|0)>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}break}case 2:{u=a[p>>0]|0;s=(u&1)==0;u=s?(u&255)>>>1:c[H>>2]|0;if(!(I|(u|0)==0)){t=s?K:c[J>>2]|0;v=t+u|0;s=c[f>>2]|0;if(u)do{a[s>>0]=a[t>>0]|0;t=t+1|0;s=s+1|0}while((t|0)!=(v|0));c[f>>2]=s}break}case 4:{s=c[f>>2]|0;h=k?h+1|0:h;w=h;v=c[L>>2]|0;a:do if(h>>>0>>0){t=h;do{u=a[t>>0]|0;if(u<<24>>24<=-1)break a;if(!(b[v+(u<<24>>24<<1)>>1]&2048))break a;t=t+1|0}while(t>>>0>>0)}else t=h;while(0);u=t;if(M){x=-2-u-~(u>>>0>w>>>0?w:u)|0;x=F>>>0>x>>>0?F:x;if(t>>>0>h>>>0&G){u=t;w=r;while(1){u=u+-1|0;y=a[u>>0]|0;v=c[f>>2]|0;c[f>>2]=v+1;a[v>>0]=y;v=(w|0)>1;if(!(u>>>0>h>>>0&v))break;else w=w+-1|0}}else v=G;y=D+x|0;u=t+(x+1)|0;if(v)w=Db[c[(c[j>>2]|0)+28>>2]&31](j,48)|0;else w=0;t=c[f>>2]|0;c[f>>2]=t+1;if((y|0)>0){v=y;while(1){a[t>>0]=w;t=c[f>>2]|0;c[f>>2]=t+1;if((v|0)>1)v=v+-1|0;else break}}a[t>>0]=m}else u=t;if((u|0)!=(h|0)){y=a[o>>0]|0;t=(y&1)==0;if(!((t?(y&255)>>>1:c[A>>2]|0)|0))t=-1;else t=a[(t?C:c[B>>2]|0)>>0]|0;if((u|0)!=(h|0)){v=0;w=0;while(1){if((w|0)==(t|0)){y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=n;v=v+1|0;y=a[o>>0]|0;t=(y&1)==0;if(v>>>0<(t?(y&255)>>>1:c[A>>2]|0)>>>0){t=a[(t?C:c[B>>2]|0)+v>>0]|0;t=t<<24>>24==127?-1:t<<24>>24;w=0}else{t=w;w=0}}u=u+-1|0;x=a[u>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;if((u|0)==(h|0))break;else w=w+1|0}}}else{x=Db[c[(c[j>>2]|0)+28>>2]&31](j,48)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}t=c[f>>2]|0;if((s|0)!=(t|0)?(E=t+-1|0,s>>>0>>0):0){t=E;do{y=a[s>>0]|0;a[s>>0]=a[t>>0]|0;a[t>>0]=y;s=s+1|0;t=t+-1|0}while(s>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);t=a[q>>0]|0;h=(t&1)==0;t=h?(t&255)>>>1:c[N>>2]|0;if(t>>>0>1){s=h?P:c[O>>2]|0;u=s+t|0;h=c[f>>2]|0;if((t|0)!=1){s=s+1|0;do{a[h>>0]=a[s>>0]|0;h=h+1|0;s=s+1|0}while((s|0)!=(u|0))}c[f>>2]=h}switch(g&176|0){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function np(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+176|0;p=D+56|0;x=D+52|0;v=D+64|0;s=D+61|0;w=D+60|0;A=D+40|0;C=D+28|0;B=D+16|0;l=D+12|0;o=D+68|0;u=D+8|0;t=D+4|0;q=D;b=xk(f)|0;c[x>>2]=b;r=Qp(x,10868)|0;n=a[h>>0]|0;j=(n&1)==0;k=h+4|0;if(!((j?(n&255)>>>1:c[k>>2]|0)|0))n=0;else{n=a[(j?h+1|0:c[h+8>>2]|0)>>0]|0;n=n<<24>>24==(Db[c[(c[r>>2]|0)+28>>2]&31](r,45)|0)<<24>>24}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;lp(e,n,x,v,s,w,A,C,B,l);m=a[h>>0]|0;e=c[k>>2]|0;j=(m&1)==0?(m&255)>>>1:e;k=c[l>>2]|0;if((j|0)>(k|0)){E=a[B>>0]|0;l=a[C>>0]|0;j=(j-k<<1|1)+k+((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)+((l&1)==0?(l&255)>>>1:c[C+4>>2]|0)|0}else{E=a[B>>0]|0;j=a[C>>0]|0;j=k+2+((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[C+4>>2]|0)|0}if(j>>>0>100){j=mj(j)|0;if(!j)_f();else{z=j;y=j}}else{z=0;y=o}E=(m&1)==0;j=E?h+1|0:c[h+8>>2]|0;mp(y,u,t,c[f+4>>2]|0,j,j+(E?(m&255)>>>1:e)|0,r,n,v,a[s>>0]|0,a[w>>0]|0,A,C,B,k);c[q>>2]=c[d>>2];E=c[u>>2]|0;j=c[t>>2]|0;c[p>>2]=c[q>>2];j=qc(p,y,E,j,f,g)|0;if(z){nj(z);b=c[x>>2]|0}Zj(B);Zj(C);Zj(A);mt(b)|0;i=D;return j|0}function op(a){a=a|0;return}function pp(a){a=a|0;rf(a);return}function qp(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+992|0;q=F+8|0;l=F;b=F+888|0;m=F+880|0;k=F+480|0;y=F+76|0;v=F+884|0;s=F+72|0;w=F+68|0;C=F+56|0;E=F+44|0;D=F+32|0;o=F+28|0;p=F+80|0;u=F+24|0;t=F+20|0;r=F+16|0;c[m>>2]=b;h[q>>3]=j;b=Hi(b,100,28605,q)|0;if(b>>>0>99){b=cm()|0;h[l>>3]=j;b=Yr(m,b,28605,l)|0;k=c[m>>2]|0;if(!k)_f();l=mj(b<<2)|0;if(!l)_f();else{G=l;H=k;x=l;A=b}}else{G=0;H=0;x=k;A=b}b=xk(f)|0;c[y>>2]=b;n=Qp(y,10860)|0;l=c[m>>2]|0;Bb[c[(c[n>>2]|0)+48>>2]&7](n,l,l+A|0,x)|0;if(!A)m=0;else m=(a[c[m>>2]>>0]|0)==45;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;rp(e,m,y,v,s,w,C,E,D,o);l=c[o>>2]|0;if((A|0)>(l|0)){e=a[D>>0]|0;k=a[E>>0]|0;k=(A-l<<1|1)+l+((e&1)==0?(e&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{e=a[D>>0]|0;k=a[E>>0]|0;k=l+2+((e&1)==0?(e&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}if(k>>>0>100){k=mj(k<<2)|0;if(!k)_f();else{B=k;z=k}}else{B=0;z=p}sp(z,u,t,c[f+4>>2]|0,x,x+(A<<2)|0,n,m,v,c[s>>2]|0,c[w>>2]|0,C,E,D,l);c[r>>2]=c[d>>2];d=c[u>>2]|0;k=c[t>>2]|0;c[q>>2]=c[r>>2];k=Zr(q,z,d,k,f,g)|0;if(B){nj(B);b=c[y>>2]|0}jk(D);jk(E);Zj(C);mt(b)|0;if(G)nj(G);if(H)nj(H);i=F;return k|0}function rp(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+108|0;o=z+96|0;r=z+92|0;s=z+80|0;t=z+68|0;u=z+56|0;v=z+52|0;w=z+40|0;x=z+36|0;y=z+24|0;p=z+12|0;q=z;if(b){b=Qp(e,10604)|0;e=c[b>>2]|0;if(d){vb[c[e+44>>2]&63](n,b);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[b>>2]|0)+32>>2]&63](o,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;mk(l,0);c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;jk(o)}else{vb[c[e+40>>2]&63](r,b);d=c[r>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[b>>2]|0)+28>>2]&63](s,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;mk(l,0);c[l>>2]=c[s>>2];c[l+4>>2]=c[s+4>>2];c[l+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;jk(s)}c[g>>2]=xb[c[(c[b>>2]|0)+12>>2]&63](b)|0;c[h>>2]=xb[c[(c[b>>2]|0)+16>>2]&63](b)|0;vb[c[(c[b>>2]|0)+20>>2]&63](t,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}dk(j,0);c[j>>2]=c[t>>2];c[j+4>>2]=c[t+4>>2];c[j+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Zj(t);vb[c[(c[b>>2]|0)+24>>2]&63](u,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;mk(k,0);c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;jk(u);b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0}else{b=Qp(e,10540)|0;e=c[b>>2]|0;if(d){vb[c[e+44>>2]&63](v,b);d=c[v>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[b>>2]|0)+32>>2]&63](w,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;mk(l,0);c[l>>2]=c[w>>2];c[l+4>>2]=c[w+4>>2];c[l+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;jk(w)}else{vb[c[e+40>>2]&63](x,b);d=c[x>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[b>>2]|0)+28>>2]&63](y,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;mk(l,0);c[l>>2]=c[y>>2];c[l+4>>2]=c[y+4>>2];c[l+8>>2]=c[y+8>>2];c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;jk(y)}c[g>>2]=xb[c[(c[b>>2]|0)+12>>2]&63](b)|0;c[h>>2]=xb[c[(c[b>>2]|0)+16>>2]&63](b)|0;vb[c[(c[b>>2]|0)+20>>2]&63](p,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}dk(j,0);c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Zj(p);vb[c[(c[b>>2]|0)+24>>2]&63](q,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;mk(k,0);c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;jk(q);b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0}c[m>>2]=b;i=z;return}function sp(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;c[e>>2]=b;J=p+4|0;K=p+8|0;C=o+4|0;D=(f&512|0)==0;E=o+8|0;F=(q|0)>0;G=n+4|0;H=n+8|0;I=n+1|0;A=(q|0)>0;z=0;do{switch(a[k+z>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];x=Db[c[(c[i>>2]|0)+44>>2]&31](i,32)|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x;break}case 3:{y=a[p>>0]|0;r=(y&1)==0;if((r?(y&255)>>>1:c[J>>2]|0)|0){x=c[(r?J:c[K>>2]|0)>>2]|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x}break}case 2:{v=a[o>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(!(D|(v|0)==0)){r=r?C:c[E>>2]|0;t=r+(v<<2)|0;u=c[e>>2]|0;if(v){s=u;while(1){c[s>>2]=c[r>>2];r=r+4|0;if((r|0)==(t|0))break;else s=s+4|0}}c[e>>2]=u+(v<<2)}break}case 4:{r=c[e>>2]|0;g=j?g+4|0:g;a:do if(g>>>0>>0){s=g;do{if(!(pb[c[(c[i>>2]|0)+12>>2]&31](i,2048,c[s>>2]|0)|0))break a;s=s+4|0}while(s>>>0>>0)}else s=g;while(0);if(F){if(s>>>0>g>>>0&A){v=c[e>>2]|0;u=q;while(1){s=s+-4|0;t=v+4|0;c[v>>2]=c[s>>2];w=u+-1|0;u=(u|0)>1;if(s>>>0>g>>>0&u){v=t;u=w}else{v=w;break}}c[e>>2]=t;t=v}else{u=A;t=q}if(u)w=Db[c[(c[i>>2]|0)+44>>2]&31](i,48)|0;else w=0;x=c[e>>2]|0;u=t+((t|0)<0?~t:-1)|0;if((t|0)>0){v=x;while(1){c[v>>2]=w;if((t|0)>1){v=v+4|0;t=t+-1|0}else break}}c[e>>2]=x+(u+2<<2);c[x+(u+1<<2)>>2]=l}if((s|0)==(g|0)){x=Db[c[(c[i>>2]|0)+44>>2]&31](i,48)|0;y=c[e>>2]|0;s=y+4|0;c[e>>2]=s;c[y>>2]=x}else{x=a[n>>0]|0;t=(x&1)==0;y=c[G>>2]|0;if(!((t?(x&255)>>>1:y)|0))t=-1;else t=a[(t?I:c[H>>2]|0)>>0]|0;if((s|0)!=(g|0)){w=0;x=0;while(1){u=c[e>>2]|0;if((x|0)==(t|0)){v=u+4|0;c[e>>2]=v;c[u>>2]=m;w=w+1|0;u=a[n>>0]|0;t=(u&1)==0;if(w>>>0<(t?(u&255)>>>1:y)>>>0){t=a[(t?I:c[H>>2]|0)+w>>0]|0;u=v;t=t<<24>>24==127?-1:t<<24>>24;v=0}else{u=v;t=x;v=0}}else v=x;s=s+-4|0;x=c[s>>2]|0;c[e>>2]=u+4;c[u>>2]=x;if((s|0)==(g|0))break;else x=v+1|0}}s=c[e>>2]|0}if((r|0)!=(s|0)?(B=s+-4|0,r>>>0>>0):0){s=B;do{y=c[r>>2]|0;c[r>>2]=c[s>>2];c[s>>2]=y;r=r+4|0;s=s+-4|0}while(r>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);r=a[p>>0]|0;g=(r&1)==0;r=g?(r&255)>>>1:c[J>>2]|0;if(r>>>0>1){s=g?J:c[K>>2]|0;g=s+4|0;s=s+(r<<2)|0;t=c[e>>2]|0;u=s-g|0;if((r|0)!=1){r=t;while(1){c[r>>2]=c[g>>2];g=g+4|0;if((g|0)==(s|0))break;else r=r+4|0}}c[e>>2]=t+(u>>>2<<2)}switch(f&176|0){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function tp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+480|0;p=E+468|0;y=E+464|0;w=E+472|0;t=E+56|0;x=E+52|0;B=E+40|0;D=E+28|0;C=E+16|0;k=E+12|0;o=E+64|0;v=E+8|0;u=E+4|0;q=E;b=xk(f)|0;c[y>>2]=b;r=Qp(y,10860)|0;n=a[h>>0]|0;j=(n&1)==0;s=h+4|0;if(!((j?(n&255)>>>1:c[s>>2]|0)|0))n=0;else{n=c[(j?s:c[h+8>>2]|0)>>2]|0;n=(n|0)==(Db[c[(c[r>>2]|0)+44>>2]&31](r,45)|0)}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;rp(e,n,y,w,t,x,B,D,C,k);l=a[h>>0]|0;m=c[s>>2]|0;j=(l&1)==0?(l&255)>>>1:m;e=c[k>>2]|0;if((j|0)>(e|0)){F=a[C>>0]|0;k=a[D>>0]|0;j=(j-e<<1|1)+e+((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[D+4>>2]|0)|0}else{F=a[C>>0]|0;j=a[D>>0]|0;j=e+2+((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[D+4>>2]|0)|0}if(j>>>0>100){j=mj(j<<2)|0;if(!j)_f();else{A=j;z=j}}else{A=0;z=o}F=(l&1)==0;j=F?s:c[h+8>>2]|0;sp(z,v,u,c[f+4>>2]|0,j,j+((F?(l&255)>>>1:m)<<2)|0,r,n,w,c[t>>2]|0,c[x>>2]|0,B,D,C,e);c[q>>2]=c[d>>2];F=c[v>>2]|0;j=c[u>>2]|0;c[p>>2]=c[q>>2];j=Zr(p,z,F,j,f,g)|0;if(A){nj(A);b=c[y>>2]|0}jk(C);jk(D);Zj(B);mt(b)|0;i=E;return j|0}function up(a){a=a|0;return}function vp(a){a=a|0;rf(a);return}function wp(b,d,e){b=b|0;d=d|0;e=e|0;b=Sh((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function xp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;k=i;i=i+16|0;j=k;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;l=a[h>>0]|0;m=(l&1)==0;d=m?h+1|0:c[h+8>>2]|0;l=m?(l&255)>>>1:c[h+4>>2]|0;h=d+l|0;if((l|0)>0)do{ek(j,a[d>>0]|0);d=d+1|0}while(d>>>0>>0);d=Rh((e|0)==-1?-1:e<<1,f,g,(a[j>>0]&1)==0?j+1|0:c[j+8>>2]|0)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;m=Xi(d)|0;h=d+m|0;if((m|0)>0)do{ek(b,a[d>>0]|0);d=d+1|0}while(d>>>0>>0);Zj(j);i=k;return}function yp(a,b){a=a|0;b=b|0;return}function zp(a){a=a|0;return}function Ap(a){a=a|0;rf(a);return}function Bp(b,d,e){b=b|0;d=d|0;e=e|0;b=Sh((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function Cp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+176|0;p=s+168|0;o=s+40|0;n=s+32|0;r=s+28|0;q=s+16|0;l=s+8|0;m=s;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[l+4>>2]=0;c[l>>2]=11344;k=a[h>>0]|0;t=(k&1)==0;j=h+4|0;d=t?j:c[h+8>>2]|0;h=t?(k&255)>>>1:c[j>>2]|0;j=d+(h<<2)|0;k=o+32|0;if((h|0)>0)do{c[r>>2]=d;h=Ab[c[(c[l>>2]|0)+12>>2]&15](l,p,d,j,r,o,k,n)|0;if(o>>>0<(c[n>>2]|0)>>>0){d=o;do{ek(q,a[d>>0]|0);d=d+1|0}while(d>>>0<(c[n>>2]|0)>>>0)}d=c[r>>2]|0}while((h|0)!=2&d>>>0>>0);d=Rh((e|0)==-1?-1:e<<1,f,g,(a[q>>0]&1)==0?q+1|0:c[q+8>>2]|0)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[m+4>>2]=0;c[m>>2]=11392;t=Xi(d)|0;j=d+t|0;k=j;l=o+128|0;if((t|0)>0)do{c[r>>2]=d;h=Ab[c[(c[m>>2]|0)+16>>2]&15](m,p,d,(k-d|0)>32?d+32|0:j,r,o,l,n)|0;if(o>>>0<(c[n>>2]|0)>>>0){d=o;do{nk(b,c[d>>2]|0);d=d+4|0}while(d>>>0<(c[n>>2]|0)>>>0)}d=c[r>>2]|0}while((h|0)!=2&d>>>0>>0);Zj(q);i=s;return}function Dp(a,b){a=a|0;b=b|0;return}function Ep(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+4>>2]=b+-1;c[a>>2]=10844;d=a+8|0;fs(d,28);Xj(a+144|0,28509,1);d=c[d>>2]|0;e=a+12|0;b=c[e>>2]|0;if((b|0)!=(d|0)){do b=b+-4|0;while((b|0)!=(d|0));c[e>>2]=b}c[331]=0;c[330]=9772;gs(a,1320);c[333]=0;c[332]=9812;hs(a,1328);fq(1336,0,0,1);is(a,1336);c[339]=0;c[338]=11132;js(a,1352);c[341]=0;c[340]=11200;ks(a,1360);c[343]=0;c[342]=10952;c[344]=cm()|0;ls(a,1368);c[347]=0;c[346]=11248;ms(a,1384);c[349]=0;c[348]=11296;ns(a,1392);Yq(1400,1);os(a,1400);Zq(1424,1);ps(a,1424);c[365]=0;c[364]=9852;qs(a,1456);c[367]=0;c[366]=9924;rs(a,1464);c[369]=0;c[368]=9996;ss(a,1472);c[371]=0;c[370]=10056;ts(a,1480);c[373]=0;c[372]=10364;us(a,1488);c[375]=0;c[374]=10428;vs(a,1496);c[377]=0;c[376]=10492;ws(a,1504);c[379]=0;c[378]=10556;xs(a,1512);c[381]=0;c[380]=10620;ys(a,1520);c[383]=0;c[382]=10656;zs(a,1528);c[385]=0;c[384]=10692;As(a,1536);c[387]=0;c[386]=10728;Bs(a,1544);c[389]=0;c[388]=10116;c[390]=10164;Cs(a,1552);c[393]=0;c[392]=10208;c[394]=10256;Ds(a,1568);c[397]=0;c[396]=11112;c[398]=cm()|0;c[396]=10300;Es(a,1584);c[401]=0;c[400]=11112;c[402]=cm()|0;c[400]=10332;Fs(a,1600);c[405]=0;c[404]=10764;Gs(a,1616);c[407]=0;c[406]=10804;Hs(a,1624);return}function Fp(){if((a[1632]|0)==0?(Ba(1632)|0)!=0:0){Jp()|0;c[2908]=11628;Ha(1632)}return c[2908]|0}function Gp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;lt(b);f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0<=d>>>0){Is(f,d+1|0);e=c[f>>2]|0}a=c[e+(d<<2)>>2]|0;if(a){mt(a)|0;e=c[f>>2]|0}c[e+(d<<2)>>2]=b;return}function Hp(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=10844;e=a+8|0;f=a+12|0;b=c[e>>2]|0;if((c[f>>2]|0)!=(b|0)){d=0;do{b=c[b+(d<<2)>>2]|0;if(b)mt(b)|0;d=d+1|0;b=c[e>>2]|0}while(d>>>0<(c[f>>2]|0)-b>>2>>>0)}Zj(a+144|0);Js(e);return}function Ip(a){a=a|0;Hp(a);rf(a);return}function Jp(){Ep(1640,1);c[2907]=1640;return 11628}function Kp(){var a=0;a=c[(Fp()|0)>>2]|0;c[2909]=a;lt(a);return 11636}function Lp(){if((a[1800]|0)==0?(Ba(1800)|0)!=0:0){Kp()|0;c[2910]=11636;Ha(1800)}return c[2910]|0}function Mp(a){a=a|0;var b=0;b=c[(Lp()|0)>>2]|0;c[a>>2]=b;lt(b);return}function Np(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;lt(b);return}function Op(a){a=a|0;mt(c[a>>2]|0)|0;return}function Pp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((c[a>>2]|0)!=-1){c[b>>2]=a;c[b+4>>2]=109;c[b+8>>2]=0;nt(a,b,110)}i=d;return (c[a+4>>2]|0)+-1|0}function Qp(a,b){a=a|0;b=b|0;a=c[a>>2]|0;b=Pp(b)|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function Rp(a){a=a|0;rf(a);return}function Sp(a){a=a|0;if(a)ub[c[(c[a>>2]|0)+4>>2]&127](a);return}function Tp(a){a=a|0;var b=0;b=c[2714]|0;c[2714]=b+1;c[a+4>>2]=b+1;return}function Up(a){a=a|0;rf(a);return}function Vp(a,d,e){a=a|0;d=d|0;e=e|0;if(e>>>0<128)e=(b[(c[(Dh()|0)>>2]|0)+(e<<1)>>1]&d)<<16>>16!=0;else e=0;return e|0}function Wp(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;i=(f-d|0)>>>2;if((d|0)!=(f|0)){h=d;while(1){a=c[h>>2]|0;if(a>>>0<128)a=e[(c[(Dh()|0)>>2]|0)+(a<<1)>>1]|0;else a=0;b[g>>1]=a;h=h+4|0;if((h|0)==(f|0))break;else g=g+2|0}}return d+(i<<2)|0}function Xp(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0<128?(b[(c[(Dh()|0)>>2]|0)+(a<<1)>>1]&d)<<16>>16!=0:0)break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}while(0);return e|0}function Yp(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0>=128)break a;if(!((b[(c[(Dh()|0)>>2]|0)+(a<<1)>>1]&d)<<16>>16))break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}while(0);return e|0}function Zp(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(c[(Fh()|0)>>2]|0)+(b<<2)>>2]|0;return b|0}function _p(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(c[(Fh()|0)>>2]|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function $p(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(c[(Eh()|0)>>2]|0)+(b<<2)>>2]|0;return b|0}function aq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(c[(Eh()|0)>>2]|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function bq(a,b){a=a|0;b=b|0;return b<<24>>24|0}function cq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((d|0)!=(e|0))while(1){c[f>>2]=a[d>>0];d=d+1|0;if((d|0)==(e|0))break;else f=f+4|0}return e|0}function dq(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function eq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=(e-d|0)>>>2;if((d|0)!=(e|0)){h=d;b=g;while(1){g=c[h>>2]|0;a[b>>0]=g>>>0<128?g&255:f;h=h+4|0;if((h|0)==(e|0))break;else b=b+1|0}}return d+(i<<2)|0}function fq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=10884;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d)c[f>>2]=c[(Dh()|0)>>2];return}function gq(b){b=b|0;var d=0;c[b>>2]=10884;d=c[b+8>>2]|0;if((d|0)!=0?(a[b+12>>0]|0)!=0:0)sf(d);return}function hq(a){a=a|0;gq(a);rf(a);return}function iq(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(c[(Fh()|0)>>2]|0)+((b&255)<<2)>>2]&255;return b|0}function jq(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(c[(Fh()|0)>>2]|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function kq(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(c[(Eh()|0)>>2]|0)+(b<<24>>24<<2)>>2]&255;return b|0}function lq(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(c[(Eh()|0)>>2]|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function mq(a,b){a=a|0;b=b|0;return b|0}function nq(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if((c|0)!=(d|0))while(1){a[e>>0]=a[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return d|0}function oq(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function pq(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((c|0)!=(d|0))while(1){b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;c=c+1|0;if((c|0)==(d|0))break;else f=f+1|0}return d|0}function qq(a){a=a|0;rf(a);return}function rq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function sq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function tq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function uq(a){a=a|0;return 1}function vq(a){a=a|0;return 1}function wq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=d-c|0;return (a>>>0>>0?a:e)|0}function xq(a){a=a|0;return 1}function yq(a){a=a|0;Br(a);rf(a);return}function zq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+16|0;q=s;o=s+8|0;a:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break a;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}while(0);c[k>>2]=h;c[g>>2]=e;n=j;p=b+8|0;b:do if((h|0)==(j|0)|(e|0)==(f|0))r=29;else{c:while(1){t=d;m=c[t+4>>2]|0;b=q;c[b>>2]=c[t>>2];c[b+4>>2]=m;b=Xh(c[p>>2]|0)|0;m=li(h,g,l-e>>2,n-h|0,d)|0;if(b)Xh(b)|0;switch(m|0){case 0:{e=1;break b}case -1:break c;default:{}}h=(c[k>>2]|0)+m|0;c[k>>2]=h;if((h|0)==(j|0)){r=15;break}if((l|0)==(f|0)){e=c[g>>2]|0;l=f}else{e=Xh(c[p>>2]|0)|0;h=ki(o,0,d)|0;if(e)Xh(e)|0;if((h|0)==-1){e=2;break b}if(h>>>0>(n-(c[k>>2]|0)|0)>>>0){e=1;break b}if(h){e=o;while(1){m=a[e>>0]|0;t=c[k>>2]|0;c[k>>2]=t+1;a[t>>0]=m;h=h+-1|0;if(!h)break;else e=e+1|0}}e=(c[g>>2]|0)+4|0;c[g>>2]=e;d:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break d;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}while(0);h=c[k>>2]|0}if((h|0)==(j|0)|(e|0)==(f|0)){r=29;break b}}if((r|0)==15){e=c[g>>2]|0;r=29;break}c[k>>2]=h;e:do if((e|0)!=(c[g>>2]|0))do{t=c[e>>2]|0;l=Xh(c[p>>2]|0)|0;h=ki(h,t,q)|0;if(l)Xh(l)|0;if((h|0)==-1)break e;h=(c[k>>2]|0)+h|0;c[k>>2]=h;e=e+4|0}while((e|0)!=(c[g>>2]|0));while(0);c[g>>2]=e;e=2}while(0);if((r|0)==29)e=(e|0)!=(f|0)&1;i=s;return e|0}function Aq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+16|0;q=s;a:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break a;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}while(0);c[k>>2]=h;c[g>>2]=e;o=j;p=b+8|0;b:do if((h|0)==(j|0)|(e|0)==(f|0))r=29;else{c:while(1){n=d;m=c[n+4>>2]|0;b=q;c[b>>2]=c[n>>2];c[b+4>>2]=m;b=l;m=Xh(c[p>>2]|0)|0;n=hi(h,g,b-e|0,o-h>>2,d)|0;if(m)Xh(m)|0;switch(n|0){case 0:{e=2;break b}case -1:break c;default:{}}h=(c[k>>2]|0)+(n<<2)|0;c[k>>2]=h;if((h|0)==(j|0)){r=19;break}e=c[g>>2]|0;if((l|0)==(f|0))l=f;else{l=Xh(c[p>>2]|0)|0;e=fi(h,e,1,d)|0;if(l)Xh(l)|0;if(e){e=2;break b}c[k>>2]=(c[k>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break d;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}while(0);h=c[k>>2]|0}if((h|0)==(j|0)|(e|0)==(f|0)){r=29;break b}}if((r|0)==19){e=c[g>>2]|0;r=29;break}c[k>>2]=h;e:do if((e|0)!=(c[g>>2]|0)){f:while(1){l=Xh(c[p>>2]|0)|0;h=fi(h,e,b-e|0,q)|0;if(l)Xh(l)|0;switch(h|0){case -1:{r=13;break f}case -2:{r=14;break f}case 0:{e=e+1|0;break}default:e=e+h|0}h=(c[k>>2]|0)+4|0;c[k>>2]=h;if((e|0)==(c[g>>2]|0))break e}if((r|0)==13){c[g>>2]=e;e=2;break b}else if((r|0)==14){c[g>>2]=e;e=1;break b}}while(0);c[g>>2]=e;e=(e|0)!=(f|0)&1}while(0);if((r|0)==29)e=(e|0)!=(f|0)&1;i=s;return e|0}function Bq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;i=i+16|0;h=j;c[g>>2]=e;e=Xh(c[b+8>>2]|0)|0;b=ki(h,0,d)|0;if(e)Xh(e)|0;switch(b|0){case 0:case -1:{h=2;break}default:{b=b+-1|0;if(b>>>0<=(f-(c[g>>2]|0)|0)>>>0)if(!b)h=0;else while(1){d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;b=b+-1|0;if(!b){h=0;break}else h=h+1|0}else h=1}}i=j;return h|0}function Cq(a){a=a|0;var b=0,d=0;a=a+8|0;b=Xh(c[a>>2]|0)|0;d=ji(0,0,4)|0;if(b)Xh(b)|0;if(!d){a=c[a>>2]|0;if(a){a=Xh(a)|0;if(!a)a=0;else{Xh(a)|0;a=0}}else a=1}else a=-1;return a|0}function Dq(a){a=a|0;return 0}function Eq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e;j=a+8|0;a:do if((d|0)==(e|0)|(f|0)==0)a=0;else{a=0;i=0;while(1){h=Xh(c[j>>2]|0)|0;g=ei(d,k-d|0,b)|0;if(h)Xh(h)|0;switch(g|0){case -2:case -1:break a;case 0:{d=d+1|0;g=1;break}default:d=d+g|0}a=g+a|0;i=i+1|0;if((d|0)==(e|0)|i>>>0>=f>>>0)break a}}while(0);return a|0}function Fq(a){a=a|0;a=c[a+8>>2]|0;if(a){a=Xh(a)|0;if(!a)a=4;else{Xh(a)|0;a=4}}else a=1;return a|0}function Gq(a){a=a|0;rf(a);return}function Hq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Ls(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Iq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Ms(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Jq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Kq(a){a=a|0;return 0}function Lq(a){a=a|0;return 0}function Mq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ns(c,d,e,1114111,0)|0}function Nq(a){a=a|0;return 4}function Oq(a){a=a|0;rf(a);return}function Pq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Os(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Qq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Ps(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Rq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Sq(a){a=a|0;return 0}function Tq(a){a=a|0;return 0}function Uq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Qs(c,d,e,1114111,0)|0}function Vq(a){a=a|0;return 4}function Wq(a){a=a|0;rf(a);return}function Xq(a){a=a|0;rf(a);return}function Yq(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=11032;a[b+8>>0]=46;a[b+9>>0]=44;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Zq(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=11072;c[a+8>>2]=46;c[a+12>>2]=44;a=a+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function _q(a){a=a|0;c[a>>2]=11032;Zj(a+12|0);return}function $q(a){a=a|0;_q(a);rf(a);return}function ar(a){a=a|0;c[a>>2]=11072;Zj(a+16|0);return}function br(a){a=a|0;ar(a);rf(a);return}function cr(b){b=b|0;return a[b+8>>0]|0}function dr(a){a=a|0;return c[a+8>>2]|0}function er(b){b=b|0;return a[b+9>>0]|0}function fr(a){a=a|0;return c[a+12>>2]|0}function gr(a,b){a=a|0;b=b|0;Wj(a,b+12|0);return}function hr(a,b){a=a|0;b=b|0;Wj(a,b+16|0);return}function ir(a,b){a=a|0;b=b|0;Xj(a,28611,4);return}function jr(a,b){a=a|0;b=b|0;hk(a,11644,Yi(11644)|0);return}function kr(a,b){a=a|0;b=b|0;Xj(a,28616,5);return}function lr(a,b){a=a|0;b=b|0;hk(a,11664,Yi(11664)|0);return}function mr(a){a=a|0;switch(c[a+4>>2]&74|0){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function nr(b){b=b|0;if((a[1808]|0)==0?(Ba(1808)|0)!=0:0){if((a[1816]|0)==0?(Ba(1816)|0)!=0:0){b=11688;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=11856);ab(111,0,n|0)|0;Ha(1816)}$j(11688,28622)|0;$j(11700,28629)|0;$j(11712,28636)|0;$j(11724,28644)|0;$j(11736,28654)|0;$j(11748,28663)|0;$j(11760,28670)|0;$j(11772,28679)|0;$j(11784,28683)|0;$j(11796,28687)|0;$j(11808,28691)|0;$j(11820,28695)|0;$j(11832,28699)|0;$j(11844,28703)|0;c[2964]=11688;Ha(1808)}return c[2964]|0}function or(b){b=b|0;if((a[1824]|0)==0?(Ba(1824)|0)!=0:0){if((a[1832]|0)==0?(Ba(1832)|0)!=0:0){b=11860;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=12028);ab(112,0,n|0)|0;Ha(1832)}kk(11860,12028)|0;kk(11872,12056)|0;kk(11884,12084)|0;kk(11896,12116)|0;kk(11908,12156)|0;kk(11920,12192)|0;kk(11932,12220)|0;kk(11944,12256)|0;kk(11956,12272)|0;kk(11968,12288)|0;kk(11980,12304)|0;kk(11992,12320)|0;kk(12004,12336)|0;kk(12016,12352)|0;c[3092]=11860;Ha(1824)}return c[3092]|0}function pr(b){b=b|0;if((a[1840]|0)==0?(Ba(1840)|0)!=0:0){if((a[1848]|0)==0?(Ba(1848)|0)!=0:0){b=12372;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=12660);ab(113,0,n|0)|0;Ha(1848)}$j(12372,28707)|0;$j(12384,28715)|0;$j(12396,28724)|0;$j(12408,28730)|0;$j(12420,28736)|0;$j(12432,28740)|0;$j(12444,28745)|0;$j(12456,28750)|0;$j(12468,28757)|0;$j(12480,28767)|0;$j(12492,28775)|0;$j(12504,28784)|0;$j(12516,28793)|0;$j(12528,28797)|0;$j(12540,28801)|0;$j(12552,28805)|0;$j(12564,28736)|0;$j(12576,28809)|0;$j(12588,28813)|0;$j(12600,28817)|0;$j(12612,28821)|0;$j(12624,28825)|0;$j(12636,28829)|0;$j(12648,28833)|0;c[3165]=12372;Ha(1840)}return c[3165]|0}function qr(b){b=b|0;if((a[1856]|0)==0?(Ba(1856)|0)!=0:0){if((a[1864]|0)==0?(Ba(1864)|0)!=0:0){b=12664;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=12952);ab(114,0,n|0)|0;Ha(1864)}kk(12664,12952)|0;kk(12676,12984)|0;kk(12688,13020)|0;kk(12700,13044)|0;kk(12712,13068)|0;kk(12724,13084)|0;kk(12736,13104)|0;kk(12748,13124)|0;kk(12760,13152)|0;kk(12772,13192)|0;kk(12784,13224)|0;kk(12796,13260)|0;kk(12808,13296)|0;kk(12820,13312)|0;kk(12832,13328)|0;kk(12844,13344)|0;kk(12856,13068)|0;kk(12868,13360)|0;kk(12880,13376)|0;kk(12892,13392)|0;kk(12904,13408)|0;kk(12916,13424)|0;kk(12928,13440)|0;kk(12940,13456)|0;c[3368]=12664;Ha(1856)}return c[3368]|0}function rr(b){b=b|0;if((a[1872]|0)==0?(Ba(1872)|0)!=0:0){if((a[1880]|0)==0?(Ba(1880)|0)!=0:0){b=13476;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=13764);ab(115,0,n|0)|0;Ha(1880)}$j(13476,28837)|0;$j(13488,28840)|0;c[3441]=13476;Ha(1872)}return c[3441]|0}function sr(b){b=b|0;if((a[1888]|0)==0?(Ba(1888)|0)!=0:0){if((a[1896]|0)==0?(Ba(1896)|0)!=0:0){b=13768;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=14056);ab(116,0,n|0)|0;Ha(1896)}kk(13768,14056)|0;kk(13780,14068)|0;c[3520]=13768;Ha(1888)}return c[3520]|0}function tr(b){b=b|0;if((a[1904]|0)==0?(Ba(1904)|0)!=0:0){Xj(14084,28843,8);ab(117,14084,n|0)|0;Ha(1904)}return 14084}function ur(b){b=b|0;if((a[1912]|0)==0?(Ba(1912)|0)!=0:0){hk(14132,14096,Yi(14096)|0);ab(118,14132,n|0)|0;Ha(1912)}return 14132}function vr(b){b=b|0;if((a[1920]|0)==0?(Ba(1920)|0)!=0:0){Xj(14144,28852,8);ab(117,14144,n|0)|0;Ha(1920)}return 14144}function wr(b){b=b|0;if((a[1928]|0)==0?(Ba(1928)|0)!=0:0){hk(14192,14156,Yi(14156)|0);ab(118,14192,n|0)|0;Ha(1928)}return 14192}function xr(b){b=b|0;if((a[1936]|0)==0?(Ba(1936)|0)!=0:0){Xj(14204,28861,20);ab(117,14204,n|0)|0;Ha(1936)}return 14204}function yr(b){b=b|0;if((a[1944]|0)==0?(Ba(1944)|0)!=0:0){hk(14300,14216,Yi(14216)|0);ab(118,14300,n|0)|0;Ha(1944)}return 14300}function zr(b){b=b|0;if((a[1952]|0)==0?(Ba(1952)|0)!=0:0){Xj(14312,28882,11);ab(117,14312,n|0)|0;Ha(1952)}return 14312}function Ar(b){b=b|0;if((a[1960]|0)==0?(Ba(1960)|0)!=0:0){hk(14372,14324,Yi(14324)|0);ab(118,14372,n|0)|0;Ha(1960)}return 14372}function Br(a){a=a|0;var b=0;c[a>>2]=10952;a=a+8|0;b=c[a>>2]|0;if((b|0)!=(cm()|0))Th(c[a>>2]|0);return}function Cr(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+112|0;m=A;n=(g-f|0)/12|0;if(n>>>0>100){m=mj(n)|0;if(!m)_f();else{y=m;l=m}}else{y=0;l=m}if((f|0)==(g|0))m=0;else{q=f;o=0;p=l;while(1){m=a[q>>0]|0;if(!(m&1))m=(m&255)>>>1;else m=c[q+4>>2]|0;if(!m){a[p>>0]=2;m=o+1|0;n=n+-1|0}else{a[p>>0]=1;m=o}q=q+12|0;if((q|0)==(g|0))break;else{o=m;p=p+1|0}}}w=(f|0)==(g|0);x=(f|0)==(g|0);v=0;r=m;t=n;a:while(1){m=c[b>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1){c[b>>2]=0;m=0;break}else{m=c[b>>2]|0;break}}else m=0;while(0);p=(m|0)==0;n=c[e>>2]|0;if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(xb[c[(c[n>>2]|0)+36>>2]&63](n)|0)==-1:0){c[e>>2]=0;n=0}}else n=0;o=(n|0)==0;m=c[b>>2]|0;if(!((t|0)!=0&(p^o)))break;n=c[m+12>>2]|0;if((n|0)==(c[m+16>>2]|0))m=xb[c[(c[m>>2]|0)+36>>2]&63](m)|0;else m=d[n>>0]|0;m=m&255;if(!k)m=Db[c[(c[h>>2]|0)+12>>2]&31](h,m)|0;u=v+1|0;if(w){m=0;p=r;q=t}else{q=0;s=f;p=r;o=t;r=l;while(1){do if((a[r>>0]|0)==1){if(!(a[s>>0]&1))n=s+1|0;else n=c[s+8>>2]|0;n=a[n+v>>0]|0;if(!k)n=Db[c[(c[h>>2]|0)+12>>2]&31](h,n)|0;if(m<<24>>24!=n<<24>>24){a[r>>0]=0;n=q;o=o+-1|0;break}n=a[s>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[s+4>>2]|0;if((n|0)==(u|0)){a[r>>0]=2;n=1;p=p+1|0;o=o+-1|0}else n=1}else n=q;while(0);s=s+12|0;if((s|0)==(g|0)){m=n;q=o;break}else{q=n;r=r+1|0}}}if(!m){v=u;r=p;t=q;continue}m=c[b>>2]|0;n=m+12|0;o=c[n>>2]|0;if((o|0)==(c[m+16>>2]|0))xb[c[(c[m>>2]|0)+40>>2]&63](m)|0;else c[n>>2]=o+1;if((p+q|0)>>>0<2|x){v=u;r=p;t=q;continue}else{m=f;o=p;p=l}while(1){if((a[p>>0]|0)==2){n=a[m>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[m+4>>2]|0;if((n|0)!=(u|0)){a[p>>0]=0;o=o+-1|0}}m=m+12|0;if((m|0)==(g|0)){v=u;r=o;t=q;continue a}else p=p+1|0}}do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1){c[b>>2]=0;m=0;break}else{m=c[b>>2]|0;break}}else m=0;while(0);m=(m|0)==0;do if(!o){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(xb[c[(c[n>>2]|0)+36>>2]&63](n)|0)==-1:0){c[e>>2]=0;z=65;break}if(!m)z=66}else z=65;while(0);if((z|0)==65?m:0)z=66;if((z|0)==66)c[j>>2]=c[j>>2]|2;b:do if((f|0)==(g|0))z=70;else while(1){if((a[l>>0]|0)==2)break b;f=f+12|0;if((f|0)==(g|0)){z=70;break}else l=l+1|0}while(0);if((z|0)==70){c[j>>2]=c[j>>2]|4;f=g}nj(y);i=A;return f|0}function Dr(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=mr(g)|0;rm(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;bk(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){bk(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;bk(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(bm(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}c[j>>2]=jt(k,c[w>>2]|0,h,v)|0;bp(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Zj(y);Zj(z);i=A;return B|0}function Er(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=mr(g)|0;rm(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;bk(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){bk(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;bk(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(bm(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}w=it(k,c[w>>2]|0,h,v)|0;c[j>>2]=w;c[j+4>>2]=D;bp(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Zj(y);Zj(z);i=A;return B|0}function Fr(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=i;i=i+240|0;t=B+202|0;l=B+200|0;A=B+24|0;z=B+12|0;x=B+8|0;y=B+40|0;v=B+4|0;u=B;w=mr(h)|0;rm(A,h,t,l);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;if(!(a[z>>0]&1))e=10;else e=(c[z>>2]&-2)+-1|0;bk(z,e,0);q=z+8|0;r=z+1|0;o=(a[z>>0]&1)==0?r:c[q>>2]|0;c[x>>2]=o;c[v>>2]=y;c[u>>2]=0;s=z+4|0;p=a[l>>0]|0;e=c[f>>2]|0;l=o;a:while(1){if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)?(xb[c[(c[e>>2]|0)+36>>2]&63](e)|0)==-1:0){c[f>>2]=0;e=0}}else e=0;h=(e|0)==0;m=c[g>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(h)break;else break a;if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)!=-1)if(h)break;else break a;else{c[g>>2]=0;C=13;break}}else C=13;while(0);if((C|0)==13){C=0;if(h){m=0;break}else m=0}n=a[z>>0]|0;n=(n&1)==0?(n&255)>>>1:c[s>>2]|0;if((c[x>>2]|0)==(l+n|0)){bk(z,n<<1,0);if(!(a[z>>0]&1))h=10;else h=(c[z>>2]&-2)+-1|0;bk(z,h,0);l=(a[z>>0]&1)==0?r:c[q>>2]|0;c[x>>2]=l+n}n=e+12|0;h=c[n>>2]|0;o=e+16|0;if((h|0)==(c[o>>2]|0))h=xb[c[(c[e>>2]|0)+36>>2]&63](e)|0;else h=d[h>>0]|0;if(bm(h&255,w,l,x,u,p,A,y,v,t)|0)break;h=c[n>>2]|0;if((h|0)==(c[o>>2]|0)){xb[c[(c[e>>2]|0)+40>>2]&63](e)|0;continue}else{c[n>>2]=h+1;continue}}t=a[A>>0]|0;h=c[v>>2]|0;if((((t&1)==0?(t&255)>>>1:c[A+4>>2]|0)|0)!=0?(h-y|0)<160:0){t=c[u>>2]|0;u=h+4|0;c[v>>2]=u;c[h>>2]=t;h=u}b[k>>1]=ht(l,c[x>>2]|0,j,w)|0;bp(A,y,h,j);if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)?(xb[c[(c[e>>2]|0)+36>>2]&63](e)|0)==-1:0){c[f>>2]=0;e=0}}else e=0;e=(e|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1:0){c[g>>2]=0;C=38;break}if(!e)C=39}else C=38;while(0);if((C|0)==38?e:0)C=39;if((C|0)==39)c[j>>2]=c[j>>2]|2;C=c[f>>2]|0;Zj(z);Zj(A);i=B;return C|0}function Gr(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=mr(g)|0;rm(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;bk(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){bk(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;bk(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(bm(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}c[j>>2]=gt(k,c[w>>2]|0,h,v)|0;bp(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Zj(y);Zj(z);i=A;return B|0}function Hr(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=mr(g)|0;rm(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;bk(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){bk(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;bk(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(bm(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}c[j>>2]=ft(k,c[w>>2]|0,h,v)|0;bp(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Zj(y);Zj(z);i=A;return B|0}function Ir(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=mr(g)|0;rm(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;bk(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){bk(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;bk(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(bm(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}w=et(k,c[w>>2]|0,h,v)|0;c[j>>2]=w;c[j+4>>2]=D;bp(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Zj(y);Zj(z);i=A;return B|0}function Jr(b,e,f,h,j,k){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+240|0;u=D+208|0;l=D+203|0;m=D+202|0;C=D+24|0;B=D+12|0;z=D+8|0;A=D+40|0;x=D+4|0;w=D;y=D+201|0;v=D+200|0;sm(C,h,u,l,m);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;bk(B,b,0);r=B+8|0;s=B+1|0;o=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=o;c[x>>2]=A;c[w>>2]=0;a[y>>0]=1;a[v>>0]=69;t=B+4|0;q=a[l>>0]|0;p=a[m>>0]|0;b=c[e>>2]|0;l=o;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;h=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(h)break;else break a;if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)!=-1)if(h)break;else break a;else{c[f>>2]=0;E=13;break}}else E=13;while(0);if((E|0)==13){E=0;if(h){m=0;break}else m=0}n=a[B>>0]|0;n=(n&1)==0?(n&255)>>>1:c[t>>2]|0;if((c[z>>2]|0)==(l+n|0)){bk(B,n<<1,0);if(!(a[B>>0]&1))h=10;else h=(c[B>>2]&-2)+-1|0;bk(B,h,0);l=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=l+n}n=b+12|0;h=c[n>>2]|0;o=b+16|0;if((h|0)==(c[o>>2]|0))h=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else h=d[h>>0]|0;if(tm(h&255,y,v,l,z,q,p,C,A,x,w,u)|0)break;h=c[n>>2]|0;if((h|0)==(c[o>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[n>>2]=h+1;continue}}v=a[C>>0]|0;h=c[x>>2]|0;if(!((a[y>>0]|0)==0?1:(((v&1)==0?(v&255)>>>1:c[C+4>>2]|0)|0)==0)?(h-A|0)<160:0){w=c[w>>2]|0;y=h+4|0;c[x>>2]=y;c[h>>2]=w;h=y}g[k>>2]=+dt(l,c[z>>2]|0,j);bp(C,A,h,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1:0){c[f>>2]=0;E=38;break}if(!b)E=39}else E=38;while(0);if((E|0)==38?b:0)E=39;if((E|0)==39)c[j>>2]=c[j>>2]|2;E=c[e>>2]|0;Zj(B);Zj(C);i=D;return E|0}function Kr(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+240|0;u=D+208|0;l=D+203|0;m=D+202|0;C=D+24|0;B=D+12|0;z=D+8|0;A=D+40|0;x=D+4|0;w=D;y=D+201|0;v=D+200|0;sm(C,g,u,l,m);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;bk(B,b,0);r=B+8|0;s=B+1|0;o=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=o;c[x>>2]=A;c[w>>2]=0;a[y>>0]=1;a[v>>0]=69;t=B+4|0;q=a[l>>0]|0;p=a[m>>0]|0;b=c[e>>2]|0;l=o;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(g)break;else break a;if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;E=13;break}}else E=13;while(0);if((E|0)==13){E=0;if(g){m=0;break}else m=0}n=a[B>>0]|0;n=(n&1)==0?(n&255)>>>1:c[t>>2]|0;if((c[z>>2]|0)==(l+n|0)){bk(B,n<<1,0);if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;bk(B,g,0);l=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=l+n}n=b+12|0;g=c[n>>2]|0;o=b+16|0;if((g|0)==(c[o>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(tm(g&255,y,v,l,z,q,p,C,A,x,w,u)|0)break;g=c[n>>2]|0;if((g|0)==(c[o>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[n>>2]=g+1;continue}}v=a[C>>0]|0;g=c[x>>2]|0;if(!((a[y>>0]|0)==0?1:(((v&1)==0?(v&255)>>>1:c[C+4>>2]|0)|0)==0)?(g-A|0)<160:0){w=c[w>>2]|0;y=g+4|0;c[x>>2]=y;c[g>>2]=w;g=y}h[k>>3]=+ct(l,c[z>>2]|0,j);bp(C,A,g,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1:0){c[f>>2]=0;E=38;break}if(!b)E=39}else E=38;while(0);if((E|0)==38?b:0)E=39;if((E|0)==39)c[j>>2]=c[j>>2]|2;E=c[e>>2]|0;Zj(B);Zj(C);i=D;return E|0}function Lr(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+240|0;u=D+208|0;l=D+203|0;m=D+202|0;C=D+24|0;B=D+12|0;z=D+8|0;A=D+40|0;x=D+4|0;w=D;y=D+201|0;v=D+200|0;sm(C,g,u,l,m);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;bk(B,b,0);r=B+8|0;s=B+1|0;o=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=o;c[x>>2]=A;c[w>>2]=0;a[y>>0]=1;a[v>>0]=69;t=B+4|0;q=a[l>>0]|0;p=a[m>>0]|0;b=c[e>>2]|0;l=o;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(g)break;else break a;if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;E=13;break}}else E=13;while(0);if((E|0)==13){E=0;if(g){m=0;break}else m=0}n=a[B>>0]|0;n=(n&1)==0?(n&255)>>>1:c[t>>2]|0;if((c[z>>2]|0)==(l+n|0)){bk(B,n<<1,0);if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;bk(B,g,0);l=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=l+n}n=b+12|0;g=c[n>>2]|0;o=b+16|0;if((g|0)==(c[o>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(tm(g&255,y,v,l,z,q,p,C,A,x,w,u)|0)break;g=c[n>>2]|0;if((g|0)==(c[o>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[n>>2]=g+1;continue}}v=a[C>>0]|0;g=c[x>>2]|0;if(!((a[y>>0]|0)==0?1:(((v&1)==0?(v&255)>>>1:c[C+4>>2]|0)|0)==0)?(g-A|0)<160:0){w=c[w>>2]|0;y=g+4|0;c[x>>2]=y;c[g>>2]=w;g=y}h[k>>3]=+bt(l,c[z>>2]|0,j);bp(C,A,g,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1:0){c[f>>2]=0;E=38;break}if(!b)E=39}else E=38;while(0);if((E|0)==38?b:0)E=39;if((E|0)==39)c[j>>2]=c[j>>2]|2;E=c[e>>2]|0;Zj(B);Zj(C);i=D;return E|0}function Mr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Xh(b)|0;b=Oi(a,d,g)|0;if(e)Xh(e)|0;i=f;return b|0}function Nr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+112|0;l=y;m=(f-e|0)/12|0;if(m>>>0>100){l=mj(m)|0;if(!l)_f();else{w=l;k=l}}else{w=0;k=l}if((e|0)==(f|0))l=0;else{p=e;n=0;o=k;while(1){l=a[p>>0]|0;if(!(l&1))l=(l&255)>>>1;else l=c[p+4>>2]|0;if(!l){a[o>>0]=2;l=n+1|0;m=m+-1|0}else{a[o>>0]=1;l=n}p=p+12|0;if((p|0)==(f|0))break;else{n=l;o=o+1|0}}}u=(e|0)==(f|0);v=(e|0)==(f|0);t=0;q=m;a:while(1){m=c[b>>2]|0;do if(m){n=c[m+12>>2]|0;if((n|0)==(c[m+16>>2]|0))m=xb[c[(c[m>>2]|0)+36>>2]&63](m)|0;else m=c[n>>2]|0;if((m|0)==-1){c[b>>2]=0;p=1;break}else{p=(c[b>>2]|0)==0;break}}else p=1;while(0);n=c[d>>2]|0;if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0))m=xb[c[(c[n>>2]|0)+36>>2]&63](n)|0;else m=c[m>>2]|0;if((m|0)==-1){c[d>>2]=0;n=0;o=1}else o=0}else{n=0;o=1}m=c[b>>2]|0;if(!((q|0)!=0&(p^o)))break;n=c[m+12>>2]|0;if((n|0)==(c[m+16>>2]|0))m=xb[c[(c[m>>2]|0)+36>>2]&63](m)|0;else m=c[n>>2]|0;if(!j)m=Db[c[(c[g>>2]|0)+28>>2]&31](g,m)|0;s=t+1|0;if(u){m=0;p=q}else{p=0;r=e;o=q;q=k;while(1){do if((a[q>>0]|0)==1){if(!(a[r>>0]&1))n=r+4|0;else n=c[r+8>>2]|0;n=c[n+(t<<2)>>2]|0;if(!j)n=Db[c[(c[g>>2]|0)+28>>2]&31](g,n)|0;if((m|0)!=(n|0)){a[q>>0]=0;n=p;o=o+-1|0;break}n=a[r>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[r+4>>2]|0;if((n|0)==(s|0)){a[q>>0]=2;n=1;l=l+1|0;o=o+-1|0}else n=1}else n=p;while(0);r=r+12|0;if((r|0)==(f|0)){m=n;p=o;break}else{p=n;q=q+1|0}}}if(!m){t=s;q=p;continue}m=c[b>>2]|0;n=m+12|0;o=c[n>>2]|0;if((o|0)==(c[m+16>>2]|0))xb[c[(c[m>>2]|0)+40>>2]&63](m)|0;else c[n>>2]=o+4;if((l+p|0)>>>0<2|v){t=s;q=p;continue}else{m=e;o=k}while(1){if((a[o>>0]|0)==2){n=a[m>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[m+4>>2]|0;if((n|0)!=(s|0)){a[o>>0]=0;l=l+-1|0}}m=m+12|0;if((m|0)==(f|0)){t=s;q=p;continue a}else o=o+1|0}}do if(m){l=c[m+12>>2]|0;if((l|0)==(c[m+16>>2]|0))l=xb[c[(c[m>>2]|0)+36>>2]&63](m)|0;else l=c[l>>2]|0;if((l|0)==-1){c[b>>2]=0;m=1;break}else{m=(c[b>>2]|0)==0;break}}else m=1;while(0);do if(n){l=c[n+12>>2]|0;if((l|0)==(c[n+16>>2]|0))l=xb[c[(c[n>>2]|0)+36>>2]&63](n)|0;else l=c[l>>2]|0;if((l|0)!=-1)if(m)break;else{x=74;break}else{c[d>>2]=0;x=72;break}}else x=72;while(0);if((x|0)==72?m:0)x=74;if((x|0)==74)c[h>>2]=c[h>>2]|2;b:do if((e|0)==(f|0))x=78;else while(1){if((a[k>>0]|0)==2)break b;e=e+12|0;if((e|0)==(f|0)){x=78;break}else k=k+1|0}while(0);if((x|0)==78){c[h>>2]=c[h>>2]|4;e=f}nj(w);i=y;return e|0}function Or(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=mr(f)|0;um(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;bk(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){bk(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;bk(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if(qm(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}c[h>>2]=jt(f,c[v>>2]|0,g,u)|0;bp(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Zj(x);Zj(y);i=z;return A|0} +function Ie(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[610]|0;if(c[f+552>>2]|0)return;h=f+28|0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=93,(c[f+576>>2]|0)!=0):0){$c();f=c[610]|0}c[f+328>>2]=0;ve(d)|0;h=xd(a)|0;f=c[610]|0;c[f+340>>2]=h;do if((h|0)>-1&(((h|0)<0?0-h|0:h)|0)==1073741824){td(a,c[f+468>>2]|0);_d(c[(c[610]|0)+468>>2]|0,d,d);f=c[(c[610]|0)+468>>2]|0;Od(d,f,f);f=xd(c[(c[610]|0)+468>>2]|0)|0;if((f|0)<1073741824){h=c[610]|0;c[h+340>>2]=0-f;f=h;break}else{f=c[610]|0;break}}while(0);we(a,c[f+536>>2]|0);h=xd(b)|0;f=c[610]|0;c[f+344>>2]=h;do if((h|0)>-1&(((h|0)<0?0-h|0:h)|0)==1073741824){td(b,c[f+468>>2]|0);_d(c[(c[610]|0)+468>>2]|0,d,d);f=c[(c[610]|0)+468>>2]|0;Od(d,f,f);f=xd(c[(c[610]|0)+468>>2]|0)|0;if((f|0)<1073741824){h=c[610]|0;c[h+344>>2]=0-f;f=h;break}else{f=c[610]|0;break}}while(0);we(b,c[f+540>>2]|0);h=c[610]|0;c[h+336>>2]=(e|0)==2?0:e;h=h+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[610]|0;if(c[f+552>>2]|0){e=0;return e|0}h=f+28|0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=97,(c[f+576>>2]|0)!=0):0)$c();if((a|0)==0|(b|0)==0){td(c[(c[610]|0)+532>>2]|0,c[e+4>>2]|0);td(c[(c[610]|0)+532>>2]|0,c[e+8>>2]|0);c[e>>2]=2;h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;h=1;return h|0}h=e+4|0;we(a,c[h>>2]|0);Ve(c[h>>2]|0,c[(c[610]|0)+476>>2]|0);if((a|0)==(b|0)){f=e+8|0;g=We(c[(c[610]|0)+476>>2]|0,c[f>>2]|0)|0;xe(c[f>>2]|0,c[(c[610]|0)+468>>2]|0);if((Wd(c[(c[610]|0)+468>>2]|0,2)|0)!=(d|0)){h=c[f>>2]|0;Md(c[(c[610]|0)+312>>2]|0,h,h)}if(!g)f=13;else f=12}else{h=e+8|0;we(b,c[h>>2]|0);h=c[h>>2]|0;ze(h,h,c[(c[610]|0)+468>>2]|0);h=c[610]|0;if(!(yd(c[h+468>>2]|0,c[h+476>>2]|0)|0))f=12;else f=13}if((f|0)==12){c[e>>2]=1;h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;h=1;return h|0}else if((f|0)==13){h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;h=0;return h|0}return 0}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a>>2]|0)==2){ed(b);ed(d);d=0;return d|0}e=c[610]|0;if(c[e+552>>2]|0){d=0;return d|0}g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=98,(c[e+576>>2]|0)!=0):0)$c();if(!(Le(a)|0)){g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=-1;return g|0}xe(c[a+4>>2]|0,b);xe(c[a+8>>2]|0,c[(c[610]|0)+468>>2]|0);if((b|0)!=(d|0))td(c[(c[610]|0)+468>>2]|0,d);g=Wd(c[(c[610]|0)+468>>2]|0,2)|0;d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return g|0}function Le(a){a=a|0;var b=0,d=0,e=0;b=c[610]|0;if((c[b+336>>2]|0)==1){a=1;return a|0}if(c[a>>2]|0){a=1;return a|0}if(c[b+552>>2]|0){a=0;return a|0}e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=117,(c[b+576>>2]|0)!=0):0){$c();b=c[610]|0}td(c[b+532>>2]|0,c[b+496>>2]|0);e=c[(c[610]|0)+496>>2]|0;d=a+12|0;e=(Fe(e,c[d>>2]|0,e)|0)>1;b=c[610]|0;if(!e){e=c[b+496>>2]|0;ze(e,e,c[b+468>>2]|0);b=c[a+4>>2]|0;ze(b,c[(c[610]|0)+468>>2]|0,b);b=c[610]|0;e=c[b+468>>2]|0;ze(e,c[b+496>>2]|0,e);e=c[a+8>>2]|0;ze(e,c[(c[610]|0)+468>>2]|0,e);td(c[(c[610]|0)+532>>2]|0,c[d>>2]|0);c[a>>2]=1;e=(c[610]|0)+28|0;c[e>>2]=(c[e>>2]|0)+-1;e=1;return e|0}if(!(c[b+552>>2]|0)){e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=97,(c[b+576>>2]|0)!=0):0){$c();b=c[610]|0}td(c[b+532>>2]|0,c[a+4>>2]|0);td(c[(c[610]|0)+532>>2]|0,c[a+8>>2]|0);c[a>>2]=2;e=(c[610]|0)+28|0;c[e>>2]=(c[e>>2]|0)+-1}_c(28);e=(c[610]|0)+28|0;c[e>>2]=(c[e>>2]|0)+-1;e=0;return e|0}function Me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+256|0;j=k;e=c[610]|0;if((c[e+336>>2]|0)==1){d=1;i=k;return d|0}if((a|0)>64|(c[e+552>>2]|0)!=0){d=0;i=k;return d|0}h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=190,(c[e+576>>2]|0)!=0):0)$c();h=(a|0)>0;a:do if(h){g=0;while(1){e=c[d+(g<<2)>>2]|0;f=c[e>>2]|0;if((f|0)!=1){c[j+(g<<2)>>2]=c[e+12>>2];if((f|0)==2){e=0;break}}else c[j+(g<<2)>>2]=c[(c[610]|0)+532>>2];g=g+1|0;if((g|0)>=(a|0))break a}do{Le(c[d+(e<<2)>>2]|0)|0;e=e+1|0}while((e|0)!=(a|0));d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=1;i=k;return d|0}while(0);j=(He(a,j,b)|0)==0;e=c[610]|0;if(j){d=e+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=0;i=k;return d|0}if(h){f=0;do{j=d+(f<<2)|0;td(c[e+532>>2]|0,c[(c[j>>2]|0)+12>>2]|0);c[c[j>>2]>>2]=1;h=b+(f<<2)|0;e=c[h>>2]|0;ze(e,e,c[(c[610]|0)+468>>2]|0);e=c[(c[j>>2]|0)+4>>2]|0;ze(e,c[(c[610]|0)+468>>2]|0,e);e=c[(c[610]|0)+468>>2]|0;ze(e,c[h>>2]|0,e);e=c[(c[j>>2]|0)+8>>2]|0;ze(e,c[(c[610]|0)+468>>2]|0,e);f=f+1|0;e=c[610]|0}while((f|0)!=(a|0))}d=e+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=1;i=k;return d|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[610]|0;if(c[d+552>>2]|0){b=0;return b|0}g=d+28|0;e=(c[g>>2]|0)+1|0;c[g>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=94,(c[d+576>>2]|0)!=0):0)$c();if((a|0)==(b|0)){Pe(a);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[a>>2]|0)==2?0:2;return b|0}if((c[b>>2]|0)==2){td(c[a+4>>2]|0,c[b+4>>2]|0);td(c[a+8>>2]|0,c[b+8>>2]|0);d=c[a>>2]|0;if(!d){td(c[a+12>>2]|0,c[b+12>>2]|0);d=c[a>>2]|0}c[b>>2]=d;b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=1;return b|0}d=c[a>>2]|0;e=c[610]|0;if((d|0)==2){b=e+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=1;return b|0}do if((c[e+336>>2]|0)==1){g=b+8|0;Be(c[a+8>>2]|0,c[g>>2]|0,c[e+496>>2]|0);f=a+4|0;a=b+4|0;Be(c[f>>2]|0,c[a>>2]|0,c[(c[610]|0)+488>>2]|0);h=(xd(c[(c[610]|0)+488>>2]|0)|0)==0;d=c[610]|0;e=c[d+496>>2]|0;if(h){if(!(xd(e)|0)){d=53;break}d=c[610]|0;if(c[d+552>>2]|0){d=54;break}h=d+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=97,(c[d+576>>2]|0)!=0):0){$c();d=c[610]|0}td(c[d+532>>2]|0,c[a>>2]|0);td(c[(c[610]|0)+532>>2]|0,c[g>>2]|0);c[b>>2]=2;d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=54;break}h=(Fe(e,c[d+488>>2]|0,e)|0)>1;d=c[610]|0;if(!h){h=c[d+496>>2]|0;ze(h,h,c[d+472>>2]|0);h=c[610]|0;Be(c[h+472>>2]|0,c[f>>2]|0,c[h+468>>2]|0);h=c[(c[610]|0)+468>>2]|0;Be(h,c[a>>2]|0,h);h=c[610]|0;Be(c[a>>2]|0,c[h+468>>2]|0,c[h+472>>2]|0);h=c[610]|0;d=c[h+472>>2]|0;ze(d,c[h+496>>2]|0,d);d=c[g>>2]|0;Be(c[(c[610]|0)+472>>2]|0,d,d);td(c[(c[610]|0)+468>>2]|0,c[a>>2]|0);c[b>>2]=1;d=54;break}if(!(c[d+552>>2]|0)){h=d+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=97,(c[d+576>>2]|0)!=0):0){$c();d=c[610]|0}td(c[d+532>>2]|0,c[a>>2]|0);td(c[(c[610]|0)+532>>2]|0,c[g>>2]|0);c[b>>2]=2;h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}_c(28);d=54}else{if((d|0)==1){td(c[b+4>>2]|0,c[e+468>>2]|0);td(c[b+8>>2]|0,c[(c[610]|0)+496>>2]|0)}else{g=a+12|0;h=c[g>>2]|0;ze(h,h,c[e+488>>2]|0);h=c[610]|0;ze(c[b+4>>2]|0,c[h+488>>2]|0,c[h+468>>2]|0);h=c[(c[610]|0)+488>>2]|0;ze(h,c[g>>2]|0,h);h=c[610]|0;ze(c[b+8>>2]|0,c[h+488>>2]|0,c[h+496>>2]|0)}if((c[b>>2]|0)==1){h=c[610]|0;td(c[h+532>>2]|0,c[h+488>>2]|0)}else{h=c[b+12>>2]|0;ze(h,h,c[(c[610]|0)+488>>2]|0)}h=c[610]|0;ze(c[a+4>>2]|0,c[h+488>>2]|0,c[h+480>>2]|0);if((c[b>>2]|0)!=1){h=c[(c[610]|0)+488>>2]|0;ze(h,c[b+12>>2]|0,h)}h=c[610]|0;ze(c[a+8>>2]|0,c[h+488>>2]|0,c[h+484>>2]|0);h=c[610]|0;d=c[h+468>>2]|0;Be(d,c[h+480>>2]|0,d);d=c[610]|0;h=c[d+496>>2]|0;Be(h,c[d+484>>2]|0,h);h=(xd(c[(c[610]|0)+468>>2]|0)|0)==0;d=c[610]|0;if(h){if(!(xd(c[d+496>>2]|0)|0)){d=53;break}d=c[610]|0;if(c[d+552>>2]|0){d=54;break}h=d+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=97,(c[d+576>>2]|0)!=0):0){$c();d=c[610]|0}td(c[d+532>>2]|0,c[b+4>>2]|0);td(c[(c[610]|0)+532>>2]|0,c[b+8>>2]|0);c[b>>2]=2;d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=54;break}f=c[d+480>>2]|0;Ae(f,f,c[d+488>>2]|0);f=c[610]|0;Ae(c[f+468>>2]|0,c[f+488>>2]|0,c[f+480>>2]|0);f=c[610]|0;h=c[f+484>>2]|0;Ae(h,h,c[f+488>>2]|0);f=c[610]|0;Ae(c[f+496>>2]|0,c[f+488>>2]|0,c[f+484>>2]|0);f=(c[b>>2]|0)!=1;do if((c[a>>2]|0)==1){d=c[b+12>>2]|0;e=c[(c[610]|0)+468>>2]|0;if(f){ze(d,e,d);break}else{td(e,d);break}}else{d=c[a+12>>2]|0;if(f){h=b+12|0;ze(c[h>>2]|0,d,c[(c[610]|0)+476>>2]|0);d=h}else{td(d,c[(c[610]|0)+476>>2]|0);d=b+12|0}h=c[610]|0;ze(c[h+476>>2]|0,c[h+468>>2]|0,c[d>>2]|0)}while(0);h=c[610]|0;d=c[h+468>>2]|0;ze(d,d,c[h+488>>2]|0);h=c[610]|0;d=c[h+468>>2]|0;ze(d,c[h+488>>2]|0,d);d=c[610]|0;h=c[d+488>>2]|0;ze(h,c[d+480>>2]|0,h);h=c[610]|0;d=c[h+496>>2]|0;ze(d,d,c[h+480>>2]|0);h=c[610]|0;d=b+4|0;Be(c[h+480>>2]|0,c[h+488>>2]|0,c[d>>2]|0);h=c[(c[610]|0)+488>>2]|0;Be(h,c[d>>2]|0,h);h=c[(c[610]|0)+488>>2]|0;Be(h,c[d>>2]|0,h);h=c[610]|0;ze(c[h+496>>2]|0,c[h+488>>2]|0,c[h+472>>2]|0);h=c[610]|0;d=c[h+468>>2]|0;ze(d,c[h+484>>2]|0,d);d=c[610]|0;Be(c[d+472>>2]|0,c[d+468>>2]|0,c[d+484>>2]|0);Ee(c[(c[610]|0)+484>>2]|0,c[b+8>>2]|0);c[b>>2]=0;d=54}while(0);if((d|0)==53){Pe(b);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;h=2;return h|0}else if((d|0)==54){h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;h=(c[b>>2]|0)!=2&1;return h|0}return 0}function Oe(a,b){a=a|0;b=b|0;var d=0;if((a|0)==(b|0)|(b|0)==0)return;td(c[a+4>>2]|0,c[b+4>>2]|0);td(c[a+8>>2]|0,c[b+8>>2]|0);d=c[a>>2]|0;if(!d){td(c[a+12>>2]|0,c[b+12>>2]|0);d=c[a>>2]|0}c[b>>2]=d;return}function Pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[610]|0;if(c[b+552>>2]|0)return;if((c[a>>2]|0)==2)return;e=(c[b+336>>2]|0)==1;f=a+8|0;d=(xd(c[f>>2]|0)|0)==0;if(e){if(d){b=c[610]|0;if(c[b+552>>2]|0)return;e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=97,(c[b+576>>2]|0)!=0):0){$c();b=c[610]|0}td(c[b+532>>2]|0,c[a+4>>2]|0);td(c[(c[610]|0)+532>>2]|0,c[f>>2]|0);c[a>>2]=2;a=(c[610]|0)+28|0;c[a>>2]=(c[a>>2]|0)+-1;return}e=a+4|0;b=c[e>>2]|0;ze(b,b,c[(c[610]|0)+496>>2]|0);b=c[(c[610]|0)+496>>2]|0;Ge(b,3,b);b=c[610]|0;d=c[b+340>>2]|0;if((((d|0)<0?0-d|0:d)|0)==1073741824){d=c[b+496>>2]|0;Ae(d,c[b+536>>2]|0,d)}else{fd(d,c[b+472>>2]|0);b=c[(c[610]|0)+472>>2]|0;we(b,b);b=c[610]|0;d=c[b+496>>2]|0;Ae(d,c[b+472>>2]|0,d)}Ge(c[f>>2]|0,2,c[(c[610]|0)+488>>2]|0);b=c[610]|0;d=c[b+496>>2]|0;d=(Fe(d,c[b+488>>2]|0,d)|0)>1;b=c[610]|0;if(!d){a=c[b+496>>2]|0;ze(a,a,c[b+472>>2]|0);Ge(c[e>>2]|0,2,c[(c[610]|0)+468>>2]|0);a=c[610]|0;d=c[a+468>>2]|0;Be(c[a+472>>2]|0,d,d);d=c[610]|0;Be(c[e>>2]|0,c[d+468>>2]|0,c[d+472>>2]|0);d=c[610]|0;a=c[d+472>>2]|0;ze(a,c[d+496>>2]|0,a);a=c[f>>2]|0;Be(c[(c[610]|0)+472>>2]|0,a,a);td(c[(c[610]|0)+468>>2]|0,c[e>>2]|0);return}if(!(c[b+552>>2]|0)){g=b+28|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=97,(c[b+576>>2]|0)!=0):0){$c();b=c[610]|0}td(c[b+532>>2]|0,c[e>>2]|0);td(c[(c[610]|0)+532>>2]|0,c[f>>2]|0);c[a>>2]=2;g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1}_c(28);return}b=c[610]|0;if(d){if(c[b+552>>2]|0)return;g=b+28|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=97,(c[b+576>>2]|0)!=0):0){$c();b=c[610]|0}td(c[b+532>>2]|0,c[a+4>>2]|0);td(c[(c[610]|0)+532>>2]|0,c[f>>2]|0);c[a>>2]=2;g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}fd(1,c[b+468>>2]|0);d=c[610]|0;b=c[d+340>>2]|0;a:do if((((b|0)<0?0-b|0:b)|0)<1073741824){do if(b){b=c[d+488>>2]|0;if((c[a>>2]|0)==1){we(c[d+468>>2]|0,b);break}else{g=c[a+12>>2]|0;ze(g,g,b);break}}while(0);b=c[610]|0;switch(c[b+340>>2]|0){case -3:{d=a+4|0;Be(c[d>>2]|0,c[b+488>>2]|0,c[b+476>>2]|0);g=c[610]|0;Ae(c[d>>2]|0,c[g+488>>2]|0,c[g+496>>2]|0);g=c[610]|0;e=c[g+476>>2]|0;ze(e,c[g+496>>2]|0,e);e=c[610]|0;g=c[e+476>>2]|0;Ae(g,g,c[e+496>>2]|0);e=c[610]|0;g=c[e+496>>2]|0;Ae(g,c[e+476>>2]|0,g);break a}case 0:break;default:{g=c[b+488>>2]|0;ze(g,g,c[b+476>>2]|0);g=c[610]|0;b=c[g+476>>2]|0;Ge(b,c[g+340>>2]|0,b);b=c[610]|0}}d=a+4|0;g=c[d>>2]|0;ze(g,g,c[b+468>>2]|0);g=c[610]|0;b=c[g+468>>2]|0;Ae(b,b,c[g+496>>2]|0);g=c[610]|0;b=c[g+496>>2]|0;Ae(b,c[g+468>>2]|0,b);b=c[610]|0;if(c[b+340>>2]|0){g=c[b+496>>2]|0;Ae(g,c[b+476>>2]|0,g)}}else{b=c[d+488>>2]|0;if((c[a>>2]|0)==1)we(c[d+468>>2]|0,b);else{g=c[a+12>>2]|0;ze(g,g,b)}g=c[610]|0;d=c[g+488>>2]|0;ze(d,d,c[g+476>>2]|0);g=c[610]|0;d=c[g+476>>2]|0;ze(d,c[g+536>>2]|0,d);d=a+4|0;g=c[d>>2]|0;ze(g,g,c[(c[610]|0)+468>>2]|0);g=c[610]|0;e=c[g+468>>2]|0;Ae(e,e,c[g+496>>2]|0);g=c[610]|0;e=c[g+496>>2]|0;Ae(e,c[g+468>>2]|0,e);e=c[610]|0;g=c[e+496>>2]|0;Ae(g,c[e+476>>2]|0,g)}while(0);g=c[f>>2]|0;ze(g,g,c[(c[610]|0)+472>>2]|0);g=c[610]|0;ze(c[d>>2]|0,c[g+472>>2]|0,c[g+476>>2]|0);g=c[(c[610]|0)+476>>2]|0;Ae(g,g,g);g=c[(c[610]|0)+476>>2]|0;Ae(g,g,g);g=c[(c[610]|0)+496>>2]|0;ze(g,g,c[d>>2]|0);g=c[d>>2]|0;Be(g,c[(c[610]|0)+476>>2]|0,g);g=c[d>>2]|0;Be(g,c[(c[610]|0)+476>>2]|0,g);if((c[a>>2]|0)==1){b=a+12|0;td(c[f>>2]|0,c[b>>2]|0)}else{b=a+12|0;g=c[b>>2]|0;ze(g,c[f>>2]|0,g)}g=c[b>>2]|0;Ae(g,g,g);g=c[610]|0;e=c[g+472>>2]|0;Ae(e,e,c[g+492>>2]|0);g=c[610]|0;e=c[g+492>>2]|0;ze(e,e,c[g+472>>2]|0);g=c[(c[610]|0)+472>>2]|0;Ae(g,g,g);g=c[(c[610]|0)+476>>2]|0;Be(g,c[d>>2]|0,g);g=c[610]|0;ze(c[g+496>>2]|0,c[g+476>>2]|0,c[f>>2]|0);g=c[f>>2]|0;Be(g,c[(c[610]|0)+472>>2]|0,g);c[a>>2]=0;return}function Qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[610]|0;if(c[e+552>>2]|0){b=0;return b|0}if((a|0)==(b|0)){b=1;return b|0}d=(c[b>>2]|0)==2;if((c[a>>2]|0)==2){b=d&1;return b|0}if(d){b=0;return b|0}switch(c[e+336>>2]|0){case 1:{if((yd(c[a+4>>2]|0,c[b+4>>2]|0)|0)==0?(yd(c[a+8>>2]|0,c[b+8>>2]|0)|0)==0:0){b=1;return b|0}b=0;return b|0}case 0:{f=e+28|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;if((d|0)<24?(c[e+32+(d<<2)>>2]=105,(c[e+576>>2]|0)!=0):0)$c();if(!(c[a>>2]|0))td(c[a+12>>2]|0,c[(c[610]|0)+468>>2]|0);else{f=c[610]|0;td(c[f+532>>2]|0,c[f+468>>2]|0)}if(!(c[b>>2]|0))td(c[b+12>>2]|0,c[(c[610]|0)+472>>2]|0);else{f=c[610]|0;td(c[f+532>>2]|0,c[f+472>>2]|0)}f=c[610]|0;e=c[f+468>>2]|0;ze(e,e,c[f+476>>2]|0);f=c[610]|0;e=c[f+472>>2]|0;ze(e,e,c[f+480>>2]|0);f=c[610]|0;ze(c[a+4>>2]|0,c[f+480>>2]|0,c[f+484>>2]|0);f=c[610]|0;ze(c[b+4>>2]|0,c[f+476>>2]|0,c[f+488>>2]|0);f=c[610]|0;if(!(yd(c[f+484>>2]|0,c[f+488>>2]|0)|0)){d=c[610]|0;f=c[d+476>>2]|0;ze(c[d+468>>2]|0,f,f);f=c[610]|0;d=c[f+480>>2]|0;ze(c[f+472>>2]|0,d,d);d=c[610]|0;ze(c[a+8>>2]|0,c[d+480>>2]|0,c[d+484>>2]|0);d=c[610]|0;ze(c[b+8>>2]|0,c[d+476>>2]|0,c[d+488>>2]|0);d=c[610]|0;d=(yd(c[d+484>>2]|0,c[d+488>>2]|0)|0)==0&1}else d=0;f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;f=d;return f|0}default:{f=0;return f|0}}return 0}function Re(a){a=a|0;var b=0,d=0,e=0;b=c[610]|0;if(c[b+552>>2]|0)return;if((c[a>>2]|0)==2)return;e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=121,(c[b+576>>2]|0)!=0):0)$c();b=a+8|0;if(xd(c[b>>2]|0)|0){e=c[b>>2]|0;Md(c[(c[610]|0)+312>>2]|0,e,e)}e=(c[610]|0)+28|0;c[e>>2]=(c[e>>2]|0)+-1;return}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[610]|0;if(c[d+552>>2]|0){a=0;return a|0}f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=104,(c[d+576>>2]|0)!=0):0)$c();if((a|0)==(b|0)){d=c[610]|0;b=d+28|0;e=c[b>>2]|0;if(!(c[d+552>>2]|0)){e=e+1|0;c[b>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=97,(c[d+576>>2]|0)!=0):0){$c();d=c[610]|0}td(c[d+532>>2]|0,c[a+4>>2]|0);td(c[(c[610]|0)+532>>2]|0,c[a+8>>2]|0);c[a>>2]=2;d=c[610]|0;f=d+28|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e}c[d+28>>2]=e+-1;f=0;return f|0}d=c[610]|0;if((c[a>>2]|0)==2){f=d+28|0;c[f>>2]=(c[f>>2]|0)+-1;f=1;return f|0}if(!(c[d+552>>2]|0)){f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=121,(c[d+576>>2]|0)!=0):0)$c();d=a+8|0;if(xd(c[d>>2]|0)|0){f=c[d>>2]|0;Md(c[(c[610]|0)+312>>2]|0,f,f)}f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1}b=Ne(a,b)|0;d=c[610]|0;if((c[d+552>>2]|0)==0?(c[a>>2]|0)!=2:0){f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=121,(c[d+576>>2]|0)!=0):0)$c();d=a+8|0;if(xd(c[d>>2]|0)|0){f=c[d>>2]|0;Md(c[(c[610]|0)+312>>2]|0,f,f)}d=c[610]|0;f=d+28|0;c[f>>2]=(c[f>>2]|0)+-1}f=d+28|0;c[f>>2]=(c[f>>2]|0)+-1;f=b;return f|0}function Te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;m=p+68|0;n=p+64|0;o=p+32|0;j=p;e=c[610]|0;if(c[e+552>>2]|0){d=0;i=p;return d|0}l=e+28|0;f=(c[l>>2]|0)+1|0;c[l>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=95,(c[e+576>>2]|0)!=0):0)$c();l=(xd(a)|0)==0;e=c[610]|0;if(l){a=e+28|0;f=c[a>>2]|0;if(!(c[e+552>>2]|0)){f=f+1|0;c[a>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=97,(c[e+576>>2]|0)!=0):0){$c();e=c[610]|0}td(c[e+532>>2]|0,c[d+4>>2]|0);td(c[(c[610]|0)+532>>2]|0,c[d+8>>2]|0);c[d>>2]=2;e=c[610]|0;d=e+28|0;f=(c[d>>2]|0)+-1|0;c[d>>2]=f}c[e+28>>2]=f+-1;d=0;i=p;return d|0}td(a,c[e+500>>2]|0);if(!((b|0)==(d|0)|(d|0)==0)){td(c[b+4>>2]|0,c[d+4>>2]|0);td(c[b+8>>2]|0,c[d+8>>2]|0);e=c[b>>2]|0;if(!e){td(c[b+12>>2]|0,c[d+12>>2]|0);e=c[b>>2]|0}c[d>>2]=e}l=(xd(c[(c[610]|0)+500>>2]|0)|0)<0;e=c[610]|0;if(l){e=c[e+500>>2]|0;ud(e,e);e=c[610]|0;if((c[e+552>>2]|0)==0?(c[d>>2]|0)!=2:0){l=e+28|0;f=(c[l>>2]|0)+1|0;c[l>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=121,(c[e+576>>2]|0)!=0):0)$c();e=d+8|0;if(xd(c[e>>2]|0)|0){l=c[e>>2]|0;Md(c[(c[610]|0)+312>>2]|0,l,l)}e=c[610]|0;l=e+28|0;c[l>>2]=(c[l>>2]|0)+-1}}l=(xd(c[e+500>>2]|0)|0)==1;e=c[610]|0;if(l){d=e+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=0;i=p;return d|0}Td(c[e+500>>2]|0,3,c[e+504>>2]|0);l=c[610]|0;if((c[l>>2]|0)==(c[l+16>>2]|0)){k=Jd(8)|0;l=ld(8)|0;a=Id(k,0)|0;c[o>>2]=a;c[j>>2]=hd(l,0)|0;b=Id(k,1)|0;c[o+4>>2]=b;c[j+4>>2]=hd(l,1)|0;c[o+8>>2]=Id(k,2)|0;c[j+8>>2]=hd(l,2)|0;c[o+12>>2]=Id(k,3)|0;c[j+12>>2]=hd(l,3)|0;c[o+16>>2]=Id(k,4)|0;c[j+16>>2]=hd(l,4)|0;c[o+20>>2]=Id(k,5)|0;c[j+20>>2]=hd(l,5)|0;g=Id(k,6)|0;c[o+24>>2]=g;c[j+24>>2]=hd(l,6)|0;h=Id(k,7)|0;c[o+28>>2]=h;c[j+28>>2]=hd(l,7)|0;if(!((a|0)==(d|0)|(a|0)==0)){td(c[d+4>>2]|0,c[a+4>>2]|0);td(c[d+8>>2]|0,c[a+8>>2]|0);e=c[d>>2]|0;if(!e){td(c[d+12>>2]|0,c[a+12>>2]|0);e=c[d>>2]|0}c[a>>2]=e}if(!((a|0)==(h|0)|(h|0)==0)){td(c[a+4>>2]|0,c[h+4>>2]|0);td(c[a+8>>2]|0,c[h+8>>2]|0);e=c[a>>2]|0;if(!e){td(c[a+12>>2]|0,c[h+12>>2]|0);e=c[a>>2]|0}c[h>>2]=e}Pe(h);e=1;while(1){if(!((a|0)==(b|0)|(b|0)==0)){td(c[a+4>>2]|0,c[b+4>>2]|0);td(c[a+8>>2]|0,c[b+8>>2]|0);f=c[a>>2]|0;if(!f){td(c[a+12>>2]|0,c[b+12>>2]|0);f=c[a>>2]|0}c[b>>2]=f}Ne(h,b)|0;e=e+1|0;if((e|0)==7)break;a=b;b=c[o+(e<<2)>>2]|0}Ne(g,h)|0;Me(8,j,o)|0;a=re(c[(c[610]|0)+504>>2]|0)|0;e=c[610]|0;if(!(c[e+552>>2]|0)){j=e+28|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=97,(c[e+576>>2]|0)!=0):0){$c();e=c[610]|0}td(c[e+532>>2]|0,c[d+4>>2]|0);td(c[(c[610]|0)+532>>2]|0,c[d+8>>2]|0);c[d>>2]=2;e=c[610]|0;j=e+28|0;c[j>>2]=(c[j>>2]|0)+-1}a:do if((a|0)>1){f=e;a=a+-1|0;e=0;while(1){b=c[f+20>>2]|0;if(b){tb[b&0]()|0;f=c[610]|0}f=Gd(c[f+500>>2]|0,c[f+504>>2]|0,a,m,n,8)|0;if((c[m>>2]|0)>0){b=0;do{Pe(d);b=b+1|0}while((b|0)<(c[m>>2]|0))}if((f|0)<=0){if((f|0)<0){Se(c[o+(((f|0)/-2|0)<<2)>>2]|0,d)|0;e=e+1|0}}else{Ne(c[o+(((f|0)/2|0)<<2)>>2]|0,d)|0;e=e+1|0}a=a-(c[m>>2]|0)|0;f=c[n>>2]|0;if(f){if((f|0)>0){b=0;do{Pe(d);b=b+1|0;f=c[n>>2]|0}while((b|0)<(f|0))}a=a-f|0}if((a|0)<=0)break a;f=c[610]|0}}else e=0;while(0);Kd(k,8);md(l,8)}else{g=Jd(1)|0;b=Id(g,0)|0;Le(d)|0;if(!((b|0)==(d|0)|(b|0)==0)){td(c[d+4>>2]|0,c[b+4>>2]|0);td(c[d+8>>2]|0,c[b+8>>2]|0);e=c[d>>2]|0;if(!e){td(c[d+12>>2]|0,c[b+12>>2]|0);e=c[d>>2]|0}c[b>>2]=e}n=(re(c[(c[610]|0)+504>>2]|0)|0)+-1|0;se(n,c[(c[610]|0)+508>>2]|0);n=c[610]|0;o=c[n+504>>2]|0;Md(o,c[n+508>>2]|0,o);o=c[(c[610]|0)+508>>2]|0;Vd(o,2,o)|0;if((xd(c[(c[610]|0)+508>>2]|0)|0)>1){e=0;do{f=c[(c[610]|0)+20>>2]|0;if(f)tb[f&0]()|0;Pe(d);f=c[610]|0;f=yd(c[f+500>>2]|0,c[f+508>>2]|0)|0;a=c[610]|0;a=yd(c[a+504>>2]|0,c[a+508>>2]|0)|0;if((a|0)>-1){if((f|0)<0){Ne(b,d)|0;e=e+1|0}n=c[610]|0;o=c[n+504>>2]|0;Md(o,c[n+508>>2]|0,o)}if((f|0)>-1){if((a|0)<0){Se(b,d)|0;e=e+1|0}n=c[610]|0;o=c[n+500>>2]|0;Md(o,c[n+508>>2]|0,o)}o=c[(c[610]|0)+508>>2]|0;Vd(o,2,o)|0}while((xd(c[(c[610]|0)+508>>2]|0)|0)>1)}else e=0;Kd(g,1)}d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=e;i=p;return d|0}function Ue(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=c[610]|0;if(c[g+552>>2]|0)return;n=g+28|0;h=(c[n>>2]|0)+1|0;c[n>>2]=h;if((h|0)<24?(c[g+32+(h<<2)>>2]=103,(c[g+576>>2]|0)!=0):0)$c();if(!(xd(a)|0)){Te(d,e,f)|0;f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}j=Jd(4)|0;k=Id(j,0)|0;l=Id(j,1)|0;m=Id(j,2)|0;n=Id(j,3)|0;Le(e)|0;if(!((k|0)==(e|0)|(k|0)==0)){td(c[e+4>>2]|0,c[k+4>>2]|0);td(c[e+8>>2]|0,c[k+8>>2]|0);g=c[e>>2]|0;if(!g){td(c[e+12>>2]|0,c[k+12>>2]|0);g=c[e>>2]|0}c[k>>2]=g}td(d,c[(c[610]|0)+500>>2]|0);if(((xd(c[(c[610]|0)+500>>2]|0)|0)<0?(i=c[(c[610]|0)+500>>2]|0,ud(i,i),i=c[610]|0,(c[i+552>>2]|0)==0):0)?(c[k>>2]|0)!=2:0){d=i+28|0;g=(c[d>>2]|0)+1|0;c[d>>2]=g;if((g|0)<24?(c[i+32+(g<<2)>>2]=121,(c[i+576>>2]|0)!=0):0)$c();g=k+8|0;if(xd(c[g>>2]|0)|0){i=c[g>>2]|0;Md(c[(c[610]|0)+312>>2]|0,i,i)}i=(c[610]|0)+28|0;c[i>>2]=(c[i>>2]|0)+-1}Le(b)|0;if(!((l|0)==(b|0)|(l|0)==0)){td(c[b+4>>2]|0,c[l+4>>2]|0);td(c[b+8>>2]|0,c[l+8>>2]|0);g=c[b>>2]|0;if(!g){td(c[b+12>>2]|0,c[l+12>>2]|0);g=c[b>>2]|0}c[l>>2]=g}td(a,c[(c[610]|0)+512>>2]|0);a=(xd(c[(c[610]|0)+512>>2]|0)|0)<0;g=c[610]|0;if(a){g=c[g+512>>2]|0;ud(g,g);g=c[610]|0;if((c[g+552>>2]|0)==0?(c[l>>2]|0)!=2:0){a=g+28|0;h=(c[a>>2]|0)+1|0;c[a>>2]=h;if((h|0)<24?(c[g+32+(h<<2)>>2]=121,(c[g+576>>2]|0)!=0):0)$c();g=l+8|0;if(xd(c[g>>2]|0)|0){a=c[g>>2]|0;Md(c[(c[610]|0)+312>>2]|0,a,a)}g=c[610]|0;a=g+28|0;c[a>>2]=(c[a>>2]|0)+-1}}do if(!(c[g+552>>2]|0)){a=g+28|0;h=(c[a>>2]|0)+1|0;c[a>>2]=h;if((h|0)<24?(c[g+32+(h<<2)>>2]=97,(c[g+576>>2]|0)!=0):0){$c();g=c[610]|0}td(c[g+532>>2]|0,c[f+4>>2]|0);td(c[(c[610]|0)+532>>2]|0,c[f+8>>2]|0);c[f>>2]=2;g=c[610]|0;a=g+28|0;c[a>>2]=(c[a>>2]|0)+-1;if(!(c[g+552>>2]|0)){if((c[l>>2]|0)!=0?(c[k>>2]|0)!=0:0){h=l+4|0;g=k+4|0;if(yd(c[h>>2]|0,c[g>>2]|0)|0){i=c[610]|0;e=c[i+504>>2]|0;b=c[i+508>>2]|0;i=c[i+516>>2]|0;td(c[h>>2]|0,b);Be(b,c[g>>2]|0,b);xe(b,b);oe(b,c[(c[610]|0)+312>>2]|0,b)|0;we(b,b);q=m+4|0;Ae(c[h>>2]|0,c[g>>2]|0,c[q>>2]|0);d=n+4|0;td(c[q>>2]|0,c[d>>2]|0);h=l+8|0;td(c[h>>2]|0,e);a=k+8|0;Be(e,c[a>>2]|0,e);td(e,i);ze(i,b,i);td(i,e);ze(e,e,e);o=c[q>>2]|0;Be(e,o,o);o=m+8|0;td(c[g>>2]|0,c[o>>2]|0);p=c[o>>2]|0;Be(p,c[q>>2]|0,p);p=c[o>>2]|0;ze(p,i,p);o=c[o>>2]|0;Be(o,c[a>>2]|0,o);td(c[h>>2]|0,e);Ae(e,c[a>>2]|0,e);td(e,i);ze(i,b,i);td(i,e);ze(e,e,e);b=c[d>>2]|0;Be(e,b,b);b=n+8|0;td(c[g>>2]|0,c[b>>2]|0);g=c[b>>2]|0;Be(g,c[d>>2]|0,g);g=c[b>>2]|0;ze(g,i,g);g=c[b>>2]|0;Ae(g,c[a>>2]|0,g);c[m>>2]=1;c[n>>2]=1;g=c[610]|0;break}if(!((l|0)==(m|0)|(m|0)==0)){td(c[h>>2]|0,c[m+4>>2]|0);td(c[l+8>>2]|0,c[m+8>>2]|0);g=c[l>>2]|0;if(!g){td(c[l+12>>2]|0,c[m+12>>2]|0);g=c[l>>2]|0}c[m>>2]=g}Ne(k,m)|0;if(!((l|0)==(n|0)|(n|0)==0)){td(c[h>>2]|0,c[n+4>>2]|0);td(c[l+8>>2]|0,c[n+8>>2]|0);g=c[l>>2]|0;if(!g){td(c[l+12>>2]|0,c[n+12>>2]|0);g=c[l>>2]|0}c[n>>2]=g}Se(k,n)|0;g=c[610]|0;q=g+28|0;c[q>>2]=(c[q>>2]|0)+-1;break}_c(7);g=c[610]|0;q=g+28|0;c[q>>2]=(c[q>>2]|0)+-1}}while(0);h=c[g+500>>2]|0;q=c[g+512>>2]|0;Xd(h,q,c[g+504>>2]|0,h,c[g+516>>2]|0,q);g=c[610]|0;q=(c[g>>2]|0)==(c[g+16>>2]|0);g=(yd(c[g+504>>2]|0,c[g+516>>2]|0)|0)>-1;h=c[610]|0;if(q){if(g)g=re(c[h+504>>2]|0)|0;else g=re(c[h+516>>2]|0)|0;if((g|0)>0)do{i=g;g=g+-1|0;h=c[(c[610]|0)+20>>2]|0;if(h)tb[h&0]()|0;Pe(f);d=(Cd(c[(c[610]|0)+500>>2]|0,g)|0)!=0;h=(Cd(c[(c[610]|0)+504>>2]|0,g)|0)!=0;q=(Cd(c[(c[610]|0)+512>>2]|0,g)|0)!=0;e=(Cd(c[(c[610]|0)+516>>2]|0,g)|0)!=0;d=d^h;do if(q^e){if(!d)if(e){Ne(l,f)|0;break}else{Se(l,f)|0;break}if(e)if(h){Ne(m,f)|0;break}else{Ne(n,f)|0;break}else if(h){Se(n,f)|0;break}else{Se(m,f)|0;break}}else if(d)if(h){Ne(k,f)|0;break}else{Se(k,f)|0;break}while(0)}while((i|0)>1)}else{if(g){q=(re(c[h+504>>2]|0)|0)+-1|0;se(q,c[(c[610]|0)+508>>2]|0)}else{q=(re(c[h+516>>2]|0)|0)+-1|0;se(q,c[(c[610]|0)+508>>2]|0)}if((xd(c[(c[610]|0)+508>>2]|0)|0)>0)do{g=c[(c[610]|0)+20>>2]|0;if(g)tb[g&0]()|0;Pe(f);q=c[610]|0;if((yd(c[q+500>>2]|0,c[q+508>>2]|0)|0)>-1){q=c[610]|0;g=c[q+500>>2]|0;Md(g,c[q+508>>2]|0,g);g=1}else g=0;q=c[610]|0;if((yd(c[q+504>>2]|0,c[q+508>>2]|0)|0)>-1){q=c[610]|0;d=c[q+504>>2]|0;Md(d,c[q+508>>2]|0,d);d=1}else d=0;q=c[610]|0;if((yd(c[q+512>>2]|0,c[q+508>>2]|0)|0)>-1){q=c[610]|0;h=c[q+512>>2]|0;Md(h,c[q+508>>2]|0,h);h=1}else h=0;q=c[610]|0;if((yd(c[q+516>>2]|0,c[q+508>>2]|0)|0)>-1){q=c[610]|0;e=c[q+516>>2]|0;Md(e,c[q+508>>2]|0,e);e=1}else e=0;g=(g|0)==(d|0);do if((h|0)==(e|0)){if(g)break;if((d|0)==1){Ne(k,f)|0;break}else{Se(k,f)|0;break}}else{h=(e|0)==1;if(g)if(h){Ne(l,f)|0;break}else{Se(l,f)|0;break}g=(d|0)==1;if(h)if(g){Ne(m,f)|0;break}else{Ne(n,f)|0;break}else if(g){Se(n,f)|0;break}else{Se(m,f)|0;break}}while(0);q=c[(c[610]|0)+508>>2]|0;Vd(q,2,q)|0}while((xd(c[(c[610]|0)+508>>2]|0)|0)>0)}Kd(j,4);q=(c[610]|0)+28|0;c[q>>2]=(c[q>>2]|0)+-1;return}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;ze(a,a,b);ze(b,a,b);d=c[610]|0;e=c[d+340>>2]|0;f=c[d+468>>2]|0;if((((e|0)<0?0-e|0:e)|0)==1073741824)ze(a,c[d+536>>2]|0,f);else Ge(a,e,f);Ae(b,c[(c[610]|0)+468>>2]|0,b);d=c[610]|0;e=c[d+344>>2]|0;if((((e|0)<0?0-e|0:e)|0)==1073741824){Ae(b,c[d+540>>2]|0,b);return}else{fd(e,c[d+468>>2]|0);a=c[(c[610]|0)+468>>2]|0;we(a,a);Ae(b,c[(c[610]|0)+468>>2]|0,b);return}}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(c[(c[610]|0)+552>>2]|0){b=0;return b|0}td(a,b);if(!(xd(b)|0)){b=1;return b|0}a=c[610]|0;f=a+28|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;if((d|0)<24?(c[a+32+(d<<2)>>2]=100,(c[a+576>>2]|0)!=0):0)$c();xe(b,b);if((xd(b)|0)==1){we(b,b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=1;return b|0}if((xd(b)|0)==4){fd(2,b);we(b,b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=1;return b|0}if((me(b,c[(c[610]|0)+312>>2]|0)|0)!=1){ed(b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}a=c[610]|0;f=((c[a+716>>2]|0)%4|0)+-2|0;Pd(c[a+312>>2]|0,f,c[a+504>>2]|0);a=c[(c[610]|0)+504>>2]|0;Vd(a,4,a)|0;a=c[610]|0;a:do if((f|0)!=1){d=1;while(1){e=(d|0)==1;a=c[a+480>>2]|0;if(e)td(b,a);else{Td(b,d,a);a=c[610]|0;g=c[a+312>>2]|0;_d(c[a+480>>2]|0,g,g);g=c[(c[610]|0)+480>>2]|0;Td(g,d,g);g=c[610]|0;a=c[g+312>>2]|0;_d(c[g+480>>2]|0,a,a)}g=c[610]|0;Qd(c[g+480>>2]|0,4,c[g+468>>2]|0);g=c[610]|0;g=(me(c[g+468>>2]|0,c[g+312>>2]|0)|0)==(f|0);a=c[610]|0;if(g)break;if(c[a+552>>2]|0)break;d=d+1|0}Qd(c[a+480>>2]|0,2,c[a+476>>2]|0);g=c[(c[610]|0)+476>>2]|0;we(g,g);g=c[610]|0;$e(c[g+476>>2]|0,c[g+504>>2]|0,b,b);if(!e){fd(d,c[(c[610]|0)+508>>2]|0);g=c[(c[610]|0)+508>>2]|0;we(g,g);Fe(b,c[(c[610]|0)+508>>2]|0,b)|0}}else{we(b,c[a+472>>2]|0);td(c[(c[610]|0)+532>>2]|0,b);while(1){a=c[610]|0;d=c[a+20>>2]|0;if(d){tb[d&0]()|0;a=c[610]|0}g=c[a+504>>2]|0;if(Vd(g,2,g)|0)ze(b,c[(c[610]|0)+472>>2]|0,b);a=c[610]|0;if(c[a+552>>2]|0)break a;if(!(xd(c[a+504>>2]|0)|0))break a;g=c[(c[610]|0)+472>>2]|0;ze(g,g,g)}}while(0);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=1;return g|0}function Xe(a){a=a|0;qt(a+40|0,0,256)|0;c[a+4>>2]=0;c[a>>2]=0;c[a+8>>2]=1779033703;c[a+12>>2]=-1150833019;c[a+16>>2]=1013904242;c[a+20>>2]=-1521486534;c[a+24>>2]=1359893119;c[a+28>>2]=-1694144372;c[a+32>>2]=528734635;c[a+36>>2]=1541459225;return}function Ye(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=a+40+((d>>>5&15)<<2)|0;c[e>>2]=c[e>>2]<<8|b&255;b=d+8|0;c[a>>2]=b;if(b){if(b&511)return}else{e=a+4|0;c[e>>2]=(c[e>>2]|0)+1;c[a>>2]=0}_e(a);return}function Ze(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=c[b>>2]|0;i=b+4|0;g=c[i>>2]|0;e=b+40+((f>>>5&15)<<2)|0;c[e>>2]=c[e>>2]<<8|128;e=f+8|0;c[b>>2]=e;if(e){if(!(e&511))h=4}else{c[i>>2]=g+1;c[b>>2]=0;h=4}if((h|0)==4){_e(b);e=c[b>>2]|0}if((e&511|0)!=448)do{j=b+40+((e>>>5&15)<<2)|0;c[j>>2]=c[j>>2]<<8;e=e+8|0;c[b>>2]=e;if(e){if(!(e&511))h=10}else{c[i>>2]=(c[i>>2]|0)+1;c[b>>2]=0;h=10}if((h|0)==10){h=0;_e(b);e=c[b>>2]|0}}while((e&511|0)!=448);c[b+96>>2]=g;c[b+100>>2]=f;_e(b);e=0;do{a[d+e>>0]=(c[b+8+(((e|0)/4|0)<<2)>>2]|0)>>>(3-((e|0)%4|0)<<3);e=e+1|0}while((e|0)!=32);qt(b+40|0,0,256)|0;c[i>>2]=0;c[b>>2]=0;c[b+8>>2]=1779033703;c[b+12>>2]=-1150833019;c[b+16>>2]=1013904242;c[b+20>>2]=-1521486534;c[b+24>>2]=1359893119;c[b+28>>2]=-1694144372;c[b+32>>2]=528734635;c[b+36>>2]=1541459225;return}function _e(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+40>>2]|0;d=16;do{A=c[a+40+(d+-2<<2)>>2]|0;z=b;b=c[a+40+(d+-15<<2)>>2]|0;c[a+40+(d<<2)>>2]=z+(c[a+40+(d+-7<<2)>>2]|0)+((A>>>19|A<<13)^A>>>10^(A>>>17|A<<15))+((b>>>18|b<<14)^b>>>3^(b>>>7|b<<25));d=d+1|0}while((d|0)!=64);l=a+8|0;m=c[l>>2]|0;n=a+12|0;o=c[n>>2]|0;p=a+16|0;q=c[p>>2]|0;r=a+20|0;s=c[r>>2]|0;t=a+24|0;u=c[t>>2]|0;v=a+28|0;w=c[v>>2]|0;x=a+32|0;y=c[x>>2]|0;z=a+36|0;A=c[z>>2]|0;k=m;i=o;h=q;e=s;f=u;d=w;b=y;g=A;j=0;while(1){g=((f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7))+g+(b&~f^d&f)+(c[3420+(j<<2)>>2]|0)+(c[a+40+(j<<2)>>2]|0)|0;e=g+e|0;g=((k>>>2|k<<30)^(k>>>13|k<<19)^(k>>>22|k<<10))+(k&(i^h)^i&h)+g|0;j=j+1|0;if((j|0)==64){j=k;break}else{C=f;B=k;k=g;f=e;g=b;b=d;d=C;e=h;h=i;i=B}}c[l>>2]=m+g;c[n>>2]=o+j;c[p>>2]=q+i;c[r>>2]=s+h;c[t>>2]=u+e;c[v>>2]=w+f;c[x>>2]=y+d;c[z>>2]=A+b;return}function $e(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[610]|0;if(c[f+552>>2]|0)return;h=f+28|0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=107,(c[f+576>>2]|0)!=0):0)$c();if(!(xd(b)|0)){ed(d);fd(2,e);we(e,e);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}if((xd(b)|0)!=1?(xd(b)|0)!=-1:0){td(a,c[(c[610]|0)+476>>2]|0);fd(2,c[(c[610]|0)+480>>2]|0);f=c[(c[610]|0)+480>>2]|0;we(f,f);f=c[610]|0;td(c[f+480>>2]|0,c[f+496>>2]|0);f=c[610]|0;td(c[f+476>>2]|0,c[f+500>>2]|0);td(b,c[(c[610]|0)+468>>2]|0);pd(1,c[(c[610]|0)+468>>2]|0);f=c[(c[610]|0)+468>>2]|0;Qd(f,1,f);f=c[610]|0;h=(c[f>>2]|0)==(c[f+16>>2]|0);f=re(c[f+468>>2]|0)|0;a:do if(h){if((f|0)>0)do{b=f;f=f+-1|0;g=c[610]|0;a=c[g+20>>2]|0;if(a){tb[a&0]()|0;g=c[610]|0}h=(Cd(c[g+468>>2]|0,f)|0)==0;a=c[610]|0;g=c[a+500>>2]|0;a=c[a+496>>2]|0;if(h){ze(g,a,g);h=c[610]|0;a=c[h+500>>2]|0;Be(a,c[h+476>>2]|0,a);a=c[(c[610]|0)+496>>2]|0;ze(a,a,a);a=c[610]|0;h=c[a+496>>2]|0;Be(h,c[a+480>>2]|0,h)}else{ze(a,g,a);h=c[610]|0;a=c[h+496>>2]|0;Be(a,c[h+476>>2]|0,a);a=c[(c[610]|0)+500>>2]|0;ze(a,a,a);a=c[610]|0;h=c[a+500>>2]|0;Be(h,c[a+480>>2]|0,h)}}while((b|0)>1)}else{se(f+-1|0,c[(c[610]|0)+472>>2]|0);f=c[610]|0;if(!(c[f+552>>2]|0))do{if(!(xd(c[f+472>>2]|0)|0))break a;h=c[610]|0;h=(yd(c[h+468>>2]|0,c[h+472>>2]|0)|0)>-1;g=c[610]|0;f=c[g+496>>2]|0;g=c[g+500>>2]|0;if(h){ze(f,g,f);b=c[610]|0;h=c[b+496>>2]|0;Be(h,c[b+476>>2]|0,h);h=c[(c[610]|0)+500>>2]|0;ze(h,h,h);h=c[610]|0;b=c[h+500>>2]|0;Be(b,c[h+480>>2]|0,b);b=c[610]|0;h=c[b+468>>2]|0;Od(h,c[b+472>>2]|0,h)}else{ze(g,f,g);h=c[610]|0;b=c[h+500>>2]|0;Be(b,c[h+476>>2]|0,b);b=c[(c[610]|0)+496>>2]|0;ze(b,b,b);b=c[610]|0;h=c[b+496>>2]|0;Be(h,c[b+480>>2]|0,h)}f=c[(c[610]|0)+472>>2]|0;Vd(f,2,f)|0;f=c[610]|0}while((c[f+552>>2]|0)==0)}while(0);td(c[(c[610]|0)+500>>2]|0,e);if((e|0)!=(d|0))td(c[(c[610]|0)+496>>2]|0,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}fd(2,d);we(d,d);td(a,e);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}function af(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[610]|0;if(c[f+552>>2]|0)return;m=f+28|0;g=(c[m>>2]|0)+1|0;c[m>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=20,(c[f+576>>2]|0)!=0):0){$c();f=c[610]|0}ed(c[f+468>>2]|0);k=a+156|0;l=0;do{m=l;l=l+1|0;c[c[(c[610]|0)+468>>2]>>2]=l;i=c[k>>2]|0;f=i+1|0;c[k>>2]=f;j=d[a+160+i>>0]|0;if((i|0)>30){cf(a);f=c[k>>2]|0}g=f+1|0;c[k>>2]=g;i=d[a+160+f>>0]|0;if((f|0)>30){cf(a);g=c[k>>2]|0}f=g+1|0;c[k>>2]=f;h=d[a+160+g>>0]|0;if((g|0)>30){cf(a);f=c[k>>2]|0}c[k>>2]=f+1;g=d[a+160+f>>0]|0;if((f|0)>30)cf(a);f=g|(h|(i|j<<8)<<8)<<8;h=c[610]|0;g=c[h>>2]|0;if(g)f=(f>>>0)%(g>>>0)|0;c[(c[(c[h+468>>2]|0)+4>>2]|0)+(m<<2)>>2]=f}while((yd(c[(c[610]|0)+468>>2]|0,b)|0)<0);id(c[(c[610]|0)+468>>2]|0);_d(c[(c[610]|0)+468>>2]|0,b,b);td(c[(c[610]|0)+468>>2]|0,e);e=(c[610]|0)+28|0;c[e>>2]=(c[e>>2]|0)+-1;return}function bf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[610]|0;if(c[f+552>>2]|0)return;i=f+28|0;g=(c[i>>2]|0)+1|0;c[i>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=19,(c[f+576>>2]|0)!=0):0)$c();if((d+-2|0)>>>0>254){_c(1);i=(c[610]|0)+28|0;c[i>>2]=(c[i>>2]|0)+-1;return}while(1){pe(d,b,c[(c[610]|0)+472>>2]|0);af(a,c[(c[610]|0)+472>>2]|0,e);f=c[(c[610]|0)+472>>2]|0;Vd(f,d,f)|0;f=c[610]|0;if(c[f+552>>2]|0)break;if((yd(e,c[f+472>>2]|0)|0)>=0){h=9;break}}if((h|0)==9)f=c[610]|0;i=f+28|0;c[i>>2]=(c[i>>2]|0)+-1;return}function cf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+368|0;l=m;Xe(l);h=a+148|0;j=a+152|0;k=0;do{b=(c[h>>2]|0)+1|0;c[h>>2]=b;if((b|0)<37)b=a+(b<<2)|0;else{c[h>>2]=0;g=0;b=13;while(1){b=(b|0)==37?0:b;e=c[a+(b<<2)>>2]|0;f=a+(g<<2)|0;d=e-(c[f>>2]|0)-(c[j>>2]|0)|0;if(d>>>0>>0)c[j>>2]=0;if(d>>>0>e>>>0)c[j>>2]=1;c[f>>2]=d;g=g+1|0;if((g|0)==37){b=a;break}else b=b+1|0}}Ye(l,c[b>>2]|0);k=k+1|0}while((k|0)!=128);Ze(l,a+160|0);c[a+156>>2]=0;i=m;return}function df(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=c[610]|0;if(c[f+552>>2]|0){b=0;return b|0}w=f+28|0;g=(c[w>>2]|0)+1|0;c[w>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=76,(c[f+576>>2]|0)!=0):0){$c();f=c[610]|0}if(((c[f+4>>2]|0)+-1|0)>>>0>255){_c(1);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}if(!(c[f+140>>2]|0)){_c(18);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}ed(b);f=c[610]|0;h=(c[f+136>>2]|0)==0;if(h)w=e;else w=c[f+584>>2]|0;g=c[f+560>>2]|0;a:do if(!g){do if(h)g=0;else{h=0;b:while(1){g=Bi(c[f+144>>2]|0)|0;if((g|0)==-1){f=h;v=17;break}e=h+1|0;a[w+h>>0]=g;f=c[610]|0;if((e|0)>=(c[f+544>>2]|0))break;switch(g|0){case 0:case 10:{f=e;v=17;break b}default:h=e}}if((v|0)==17){a[w+f>>0]=0;g=c[610]|0;f=g;g=c[g+560>>2]|0;break}_c(17);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}while(0);e=f+560|0;h=a[w+g>>0]|0;if(!(h<<24>>24))v=33;else{i=(c[f+4>>2]|0)>>>0<61;j=f+584|0;k=f+544|0;while(1){if(h<<24>>24==10&i){v=33;break a}g=g+1|0;c[e>>2]=g;if((w|0)==(c[j>>2]|0)?(g|0)>=(c[k>>2]|0):0)break;h=a[w+g>>0]|0;if(!(h<<24>>24)){v=33;break a}}_c(17);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}}else{if((w|0)==(c[f+584>>2]|0)?(g|0)>=(c[f+544>>2]|0):0){_c(17);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}if(!h)if((g|0)>0){h=0;while(1){f=Bi(c[f+144>>2]|0)|0;if((f|0)==-1){g=h;break}a[w+h>>0]=f;h=h+1|0;f=c[610]|0;g=c[f+560>>2]|0;if((h|0)>=(g|0)){v=33;break a}}f=c[610]|0;c[f+560>>2]=g;v=33}else{u=0;e=1}else v=33}while(0);if((v|0)==33){h=f+560|0;if((g|0)>0?(c[f+4>>2]|0)>>>0<61:0){f=g+-1|0;if((a[w+f>>0]|0)==47){c[h>>2]=f;g=f}f=0;c:while(1){h=a[w+f>>0]|0;switch(h<<24>>24){case 45:{v=40;break c}case 32:break;default:{e=1;break c}}f=f+1|0}if((v|0)==40){f=f+1|0;h=a[w+f>>0]|0;e=-1}u=(h<<24>>24==43&1)+f|0}else{u=0;e=1}}f=1;h=0;k=0;i=0;j=0;d:while(1){i=i+1|0;t=j;e:while(1){q=(t|0)>2;j=(t|0)!=0;s=t<<1;r=f;f:while(1){f=c[610]|0;n=f+4|0;g:do if(!h){h:while(1){o=g+-1|0;if((g|0)<=(u|0)){h=0;g=k;break d}g=a[w+o>>0]|0;l=g&255;m=c[n>>2]|0;h=(m|0)==64;if(!(m>>>0<61|h)){h=0;g=o;break g}if(m>>>0<=60)switch(g<<24>>24){case 47:{h=r;g=o;i=k;j=t;v=55;break e}case 46:{g=o;break h}default:{}}g=l+80|0;if(!h){f=g;h=0;g=o;v=61;break g}if(g>>>0<113)g=o;else{f=g;h=0;g=o;v=59;break g}}ed(c[f+464>>2]|0);sd(1,c[(c[610]|0)+464>>2]|0,i);o=c[610]|0;f=o;o=o+4|0;h=1;v=46}else{o=n;v=46}while(0);i:do if((v|0)==46){v=0;while(1){p=g+-1|0;if((g|0)<=(u|0)){g=k;break d}l=d[w+p>>0]|0;m=c[o>>2]|0;g=(m|0)==64;if(!(m>>>0<61|g)){g=p;break i}n=l+80|0;if(!g){f=n;g=p;v=61;break i}if(n>>>0<113)g=p;else{f=n;g=p;v=59;break}}}while(0);do if((v|0)==59){v=0;p=l+-65|0;f=p>>>0<26?p:f;f=(f+-177|0)>>>0<26?f+-151|0:f;f=(f+-128|0)>>>0<10?f+-76|0:f;f=(f|0)==123?62:f;f=(f|0)==127?63:f;if((f|0)==141){f=r;j=k;break f}else{m=64;l=f}}else if((v|0)==61){v=0;l=l+-48|0;l=l>>>0<10?l:f;l=(l+-145|0)>>>0<26?l+-135|0:l;f=(l+-177|0)>>>0<26;if(m>>>0<17){l=f?l+-167|0:l;break}else{l=f?l+-141|0:l;break}}while(0);if(q|l>>>0>=m>>>0){v=65;break d}if(!(j&(r|0)!=0))break e;r=0;k=l>>s}k=j;t=t+1|0}if((v|0)==55){v=0;td(b,c[f+464>>2]|0);ed(b);f=h;h=1;k=i;i=0;continue}if(j){sd((l<<6-s|k)&63,b,i);f=r;k=l>>s;j=t;continue}else{sd(l,b,i);f=r;j=0;continue}}if((v|0)==65){_c(5);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}if(j&(g|0)>0){sd(g,b,i);f=c[610]|0}w=f+560|0;f=c[w>>2]|0;c[w>>2]=0;pd(e,b);id(b);id(c[(c[610]|0)+464>>2]|0);if(h)zd(b,c[(c[610]|0)+464>>2]|0,b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=f;return b|0}function ef(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c[610]|0;if(c[e+552>>2]|0){o=0;return o|0}m=e+28|0;f=(c[m>>2]|0)+1|0;c[m>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=75,(c[e+576>>2]|0)!=0):0){$c();e=c[610]|0}if(((c[e+4>>2]|0)+-1|0)>>>0>255){_c(1);o=(c[610]|0)+28|0;c[o>>2]=(c[o>>2]|0)+-1;o=0;return o|0}if(!(c[e+140>>2]|0)){_c(18);o=(c[610]|0)+28|0;c[o>>2]=(c[o>>2]|0)+-1;o=0;return o|0}m=od(b)|0;pd(1,b);g=c[b>>2]|0;if((g|0)==0?(h=c[610]|0,(c[h+4>>2]|0)>>>0<61):0){if(!(c[h+132>>2]|0)){a[d>>0]=48;a[d+1>>0]=0}else{Ci(48,c[h+148>>2]|0)|0;Ci(10,c[(c[610]|0)+148>>2]|0)|0}o=(c[610]|0)+28|0;c[o>>2]=(c[o>>2]|0)+-1;o=1;return o|0}do if((m|0)==-1?(i=c[610]|0,(c[i+4>>2]|0)>>>0<61):0)if(!(c[i+132>>2]|0)){a[d>>0]=45;e=1;break}else{Ci(45,c[i+148>>2]|0)|0;e=1;break}else e=0;while(0);Ad(b,c[(c[610]|0)+488>>2]|0);f=c[610]|0;if((c[f+572>>2]|0)!=0?(Bd(b,c[f+484>>2]|0),(xd(c[(c[610]|0)+484>>2]|0)|0)>1):0){f=g&65535;g=g>>>16;f=((f|0)==0&1)+f|0;h=c[610]|0;l=h+128|0;i=c[l>>2]|0;c[l>>2]=0;if((g|0)<(f|0)){l=c[h+484>>2]|0;wd(l,f-g|0,l)}if((g|0)>(f|0)){l=c[(c[610]|0)+488>>2]|0;f=g-f|0;wd(l,f,l)}else f=g-f|0;l=c[610]|0;h=c[l+24>>2]|0;l=h+~((yd(c[l+488>>2]|0,c[l+484>>2]|0)|0)>>31)|0;h=c[610]|0;td(c[h+488>>2]|0,c[h+464>>2]|0);h=c[610]|0;k=c[h+464>>2]|0;j=c[k>>2]|0;h=c[h+24>>2]<<1;l=(j+l|0)>(h|0)?h-j|0:l;wd(k,l,k);k=c[610]|0;_d(c[k+464>>2]|0,c[k+484>>2]|0,c[k+488>>2]|0);k=c[610]|0;c[k+128>>2]=i;l=$(c[k+8>>2]|0,f+l|0)|0}else l=0;k=0;a:while(1){j=rd(c[(c[610]|0)+488>>2]|0)|0;g=c[610]|0;if((c[g+4>>2]|0)==64){f=j;while(1)if(!(f&3))break;else f=f+1|0}else f=j;f=(l|0)>(f|0)?l:f;b:do if((f|0)>0){i=f;while(1){f=(c[g+132>>2]|0)==0;if((f?(c[g+584>>2]|0)==(d|0):0)?(e|0)>=((c[g+544>>2]|0)+-5|0):0){o=35;break a}if((i|0)==(l|0)?(c[g+4>>2]|0)>>>0<61:0){if(f)a[d+e>>0]=46;else Ci(46,c[g+148>>2]|0)|0;e=e+1|0}f=c[610]|0;if((i|0)>(j|0)?(n=c[f+4>>2]|0,(n|0)!=64):0){g=n;h=48}else o=44;do if((o|0)==44){o=0;h=qd(c[f+488>>2]|0,i)|0;f=c[610]|0;c[f+128>>2]=0;sd(0,c[f+488>>2]|0,i);f=c[610]|0;g=c[f+4>>2]|0;if(g>>>0<61){p=h+48|0;h=(p|0)>57?h+55|0:p;h=(h|0)>90?h+6|0:h;break}if((g|0)==64){h=(h|0)<26?h+65|0:h;h=(h+-26|0)>>>0<26?h+71|0:h;h=(h+-52|0)>>>0<10?h+-4|0:h;h=(h|0)==62?43:h;g=64;h=(h|0)==63?47:h}}while(0);if((i|0)<(l|0)?(h|0)==48&g>>>0<61:0){if(!(xd(c[f+488>>2]|0)|0))break b;f=c[610]|0}if(!(c[f+132>>2]|0))a[d+e>>0]=h;else Ci(h&255,c[f+148>>2]|0)|0;e=e+1|0;if((i|0)<=1)break b;g=c[610]|0;i=i+-1|0}}while(0);if(k)break;f=c[610]|0;if(c[f+572>>2]|0)break;Bd(b,c[f+488>>2]|0);if((xd(c[(c[610]|0)+488>>2]|0)|0)==1)break;f=c[610]|0;if((c[f+4>>2]|0)>>>0>=61){k=1;continue}if(!(c[f+132>>2]|0))a[d+e>>0]=47;else Ci(47,c[f+148>>2]|0)|0;k=1;e=e+1|0}if((o|0)==35){_c(17);p=(c[610]|0)+28|0;c[p>>2]=(c[p>>2]|0)+-1;p=e;return p|0}f=c[610]|0;if(c[f+132>>2]|0){p=c[f+4>>2]|0;if(p>>>0<61|(p|0)==64)Ci(10,c[f+148>>2]|0)|0}else a[d+e>>0]=0;pd(m,b);p=(c[610]|0)+28|0;c[p>>2]=(c[p>>2]|0)+-1;p=e;return p|0}function ff(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;a=Fc(b)|0;return Ke(d,a,Fc(b)|0)|0}function gf(a){a=a|0;return (c[c[a>>2]>>2]|0)==2|0}function hf(a){a=a|0;return c[a>>2]|0}function jf(a,b){a=a|0;b=b|0;var d=0;d=Jd(1)|0;c[a+4>>2]=d;d=Id(d,0)|0;c[a>>2]=d;Oe(c[b>>2]|0,d);Re(d);return}function kf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=Jd(1)|0;c[a+4>>2]=g;g=Id(g,0)|0;c[a>>2]=g;a=Fc(b)|0;b=c[d>>2]|0;d=Fc(e)|0;Ue(a,b,d,c[f>>2]|0,g);return}function lf(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[1021]|0;Li(b,a,d)|0;Ci(10,b)|0;Aa()}function mf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+4208|0;j=v+4184|0;h=v;u=v+4120|0;t=v+4112|0;if((b|0)!=0?(g=(d|0)!=0,s=(e|0)==0,!(g&s)):0){if(g)q=c[e>>2]|0;else q=0;c[h+4096>>2]=h;w=h;c[u>>2]=0;r=u+4|0;c[r>>2]=0;c[u+8>>2]=0;c[u+12>>2]=w;m=u+16|0;c[m>>2]=0;o=u+20|0;c[o>>2]=0;c[u+24>>2]=0;c[u+28>>2]=w;c[u+32>>2]=0;h=u+36|0;c[h>>2]=0;c[u+40>>2]=0;n=u+44|0;c[n>>2]=w;l=u+48|0;k=u+61|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;a[l+12>>0]=0;a[k>>0]=1;l=u+32|0;ag(j,1,0,n);n=j+8|0;g=c[n>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=w;c[n>>2]=g+16;bg(l,j);cg(j);j=u+62|0;a[j>>0]=0;a[u+63>>0]=1;c[t>>2]=0;n=b+(Xi(b)|0)|0;dg(b,n,u,t);g=c[t>>2]|0;do if(!((g|0)!=0|(a[j>>0]|0)==0)){w=c[l>>2]|0;if((w|0)!=(c[h>>2]|0)?(c[w>>2]|0)!=(c[w+4>>2]|0):0){a[j>>0]=0;a[k>>0]=0;h=c[u>>2]|0;g=c[r>>2]|0;if((g|0)!=(h|0))do{w=g+-24|0;c[r>>2]=w;eg(w);g=c[r>>2]|0}while((g|0)!=(h|0));h=c[m>>2]|0;g=c[o>>2]|0;if((g|0)!=(h|0))do{w=g+-16|0;c[o>>2]=w;fg(w);g=c[o>>2]|0}while((g|0)!=(h|0));dg(b,n,u,t);if(!(a[j>>0]|0)){g=c[t>>2]|0;p=17;break}else{c[t>>2]=-2;d=0;g=-2;break}}else p=18}else p=17;while(0);if((p|0)==17)if(!g)p=18;else d=0;do if((p|0)==18){h=c[r>>2]|0;g=a[h+-24>>0]|0;if(!(g&1))j=(g&255)>>>1;else j=c[h+-20>>2]|0;g=a[h+-12>>0]|0;if(!(g&1))g=(g&255)>>>1;else g=c[h+-8>>2]|0;j=g+j|0;g=j+1|0;if(g>>>0>q>>>0){d=pj(d,g)|0;if(!d){c[t>>2]=-1;d=0;g=-1;break}if(!s)c[e>>2]=g}else if(!d){d=0;g=0;break}g=c[r>>2]|0;e=g+-12|0;h=a[e>>0]|0;w=(h&1)==0;gg(g+-24|0,w?e+1|0:c[g+-4>>2]|0,w?(h&255)>>>1:c[g+-8>>2]|0)|0;g=c[r>>2]|0;h=g+-24|0;if(!(a[h>>0]&1))g=h+1|0;else g=c[g+-16>>2]|0;tt(d|0,g|0,j|0)|0;a[d+j>>0]=0;g=0}while(0);if(f)c[f>>2]=g;hg(u)}else if(!f)d=0;else{c[f>>2]=-3;d=0}i=v;return d|0}function nf(a){a=a|0;Da(19264,19293,1164,19378)}function of(){var a=0,b=0;a=i;i=i+16|0;if(!(Va(3828,2)|0)){b=Ra(c[956]|0)|0;i=a;return b|0}else lf(19399,a);return 0}function pf(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=mj(b)|0;a:do if(!a){while(1){a=zf()|0;if(!a)break;zb[a&3]();a=mj(b)|0;if(a)break a}b=Ea(4)|0;c[b>>2]=3688;bb(b|0,56,19)}while(0);return a|0}function qf(a){a=a|0;return pf(a)|0}function rf(a){a=a|0;nj(a);return}function sf(a){a=a|0;rf(a);return}function tf(a){a=a|0;c[a>>2]=3688;return}function uf(a){a=a|0;return}function vf(a){a=a|0;rf(a);return}function wf(a){a=a|0;return 19448}function xf(a){a=a|0;var b=0;b=i;i=i+16|0;zb[a&3]();lf(19463,b)}function yf(){var a=0,b=0;a=of()|0;if(((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)xf(c[b+12>>2]|0);b=c[919]|0;c[919]=b+0;xf(b)}function zf(){var a=0;a=c[925]|0;c[925]=a+0;return a|0}function Af(a){a=a|0;return}function Bf(a){a=a|0;return}function Cf(a){a=a|0;return}function Df(a){a=a|0;return}function Ef(a){a=a|0;return}function Ff(a){a=a|0;rf(a);return}function Gf(a){a=a|0;rf(a);return}function Hf(a){a=a|0;rf(a);return}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=Of(b,88,104,0)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Cb[c[(c[f>>2]|0)+28>>2]&15](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function Jf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Jf(0,b,d,e);return}function Lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Jf(0,b,d,e);else{a=c[a+8>>2]|0;Cb[c[(c[a>>2]|0)+28>>2]&15](a,b,d,e)}return}function Mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;Cb[c[(c[a>>2]|0)+28>>2]&15](a,b,d+f|0,(g&2|0)!=0?e:2);return}function Nf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((b|0)!=(c[d+8>>2]|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Mf(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Mf(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else Jf(0,d,e,f);while(0);return}function Of(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do if(l){c[q+48>>2]=1;qb[c[(c[f>>2]|0)+20>>2]&15](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{rb[c[(c[p>>2]|0)+24>>2]&3](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}while(0);i=r;return g|0}function Pf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Qf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;Sf(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;i=c[b+8>>2]|0;if((i&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(i&1)){i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1)break a;Sf(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+24|0;b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1?(c[i>>2]|0)==1:0)break a;Sf(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+54|0;while(1){if(a[i>>0]|0)break a;Sf(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4)break;i=c[b+12>>2]|0;j=b+16+(i<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;b:do if((i|0)>0){i=0;h=0;b=b+16|0;while(1){a[k>>0]=0;a[f>>0]=0;Rf(b,d,e,e,1,g);if(a[n>>0]|0){q=20;break b}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;q=20;break b}else{h=1;break}if((c[o>>2]|0)==1)break b;if(!(c[l>>2]&2))break b;else{i=1;h=1}}while(0);b=b+8|0;if(b>>>0>=j>>>0){q=20;break}}}else{i=0;h=0;q=20}while(0);do if((q|0)==20){if((!i?(c[p>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h)break}else q=24;if((q|0)==24?h:0)break;c[m>>2]=4;break a}while(0);c[m>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Rf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;qb[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)!=0?f:2,g);return}function Sf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;rb[c[(c[a>>2]|0)+24>>2]&3](a,b,d+g|0,(h&2|0)!=0?e:2,f);return}function Tf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;rb[c[(c[j>>2]|0)+24>>2]&3](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;qb[c[(c[b>>2]|0)+20>>2]&15](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Uf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Vf(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((b|0)==(c[d+8>>2]|0))Pf(0,d,e,f,g);else{m=d+52|0;n=a[m>>0]|0;o=d+53|0;p=a[o>>0]|0;l=c[b+12>>2]|0;i=b+16+(l<<3)|0;a[m>>0]=0;a[o>>0]=0;Rf(b+16|0,d,e,f,g,h);a:do if((l|0)>1){j=d+24|0;k=b+8|0;l=d+54|0;b=b+24|0;do{if(a[l>>0]|0)break a;if(!(a[m>>0]|0)){if((a[o>>0]|0)!=0?(c[k>>2]&1|0)==0:0)break a}else{if((c[j>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[m>>0]=0;a[o>>0]=0;Rf(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}while(0);a[m>>0]=n;a[o>>0]=p}return}function Wf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Pf(0,b,d,e,f);else{a=c[a+8>>2]|0;qb[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function Xf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Pf(0,b,d,e,f);return}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=c[d>>2];a=pb[c[(c[a>>2]|0)+16>>2]&31](a,b,e)|0;if(a)c[d>>2]=c[e>>2];i=f;return a&1|0}function Zf(a){a=a|0;if(!a)a=0;else a=(Of(a,88,136,0)|0)!=0;return a&1|0}function _f(){var a=0;a=Ea(4)|0;tf(a);bb(a|0,56,19)}function $f(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+48|0;h=f+32|0;d=f+24|0;j=f+16|0;g=f;f=f+36|0;a=of()|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=c[958];lf(21759,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(pb[c[(c[72>>2]|0)+16>>2]&31](72,e,f)|0){j=c[f>>2]|0;f=c[958]|0;j=xb[c[(c[j>>2]|0)+8>>2]&63](j)|0;c[g>>2]=f;c[g+4>>2]=a;c[g+8>>2]=j;lf(21673,g)}else{c[j>>2]=c[958];c[j+4>>2]=a;lf(21718,j)}}lf(21797,h)}function ag(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+12>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=ph(c[e>>2]|0,b<<4)|0;c[a>>2]=e;d=e+(d<<4)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[a+12>>2]=e+(b<<4);return}function bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[a>>2]|0;f=a+4|0;d=c[f>>2]|0;g=b+4|0;if((d|0)!=(e|0))do{j=c[g>>2]|0;h=j+-16|0;i=d;d=d+-16|0;c[h>>2]=0;k=j+-12|0;c[k>>2]=0;l=c[i+-4>>2]|0;c[j+-8>>2]=0;c[j+-4>>2]=l;c[h>>2]=c[d>>2];h=i+-12|0;c[k>>2]=c[h>>2];i=i+-8|0;c[j+-8>>2]=c[i>>2];c[i>>2]=0;c[h>>2]=0;c[d>>2]=0;c[g>>2]=(c[g>>2]|0)+-16}while((d|0)!=(e|0));j=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=j;j=b+8|0;l=c[f>>2]|0;c[f>>2]=c[j>>2];c[j>>2]=l;j=a+8|0;l=b+12|0;k=c[j>>2]|0;c[j>>2]=c[l>>2];c[l>>2]=k;c[b>>2]=c[g>>2];return}function cg(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+4>>2]|0;e=a+8|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{f=b+-16|0;c[e>>2]=f;lg(f);b=c[e>>2]|0}while((b|0)!=(d|0));b=c[a>>2]|0;if(b)mg(c[c[a+16>>2]>>2]|0,b,(c[a+12>>2]|0)-b|0);return}function dg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;l=o+24|0;m=o+12|0;n=o;a:do if(b>>>0>>0){b:do if((a[b>>0]|0)!=95){if((sg(b,d,e)|0)!=(d|0)){c[f>>2]=-2;break a}}else{h=d;if((h-b|0)<=3){c[f>>2]=-2;break a}switch(a[b+1>>0]|0){case 90:{k=b+2|0;b=pg(k,d,e)|0;if(!((b|0)==(k|0)|(b|0)==(d|0))?(a[b>>0]|0)==46:0){g=c[e+4>>2]|0;if((c[e>>2]|0)!=(g|0)){k=g+-24|0;h=h-b|0;if(h>>>0>4294967279)nf(n);if(h>>>0<11){a[n>>0]=h<<1;j=n+1|0}else{g=h+16&-16;j=mj(g)|0;c[n+8>>2]=j;c[n>>2]=g|1;c[n+4>>2]=h}if((b|0)!=(d|0)){g=j;while(1){a[g>>0]=a[b>>0]|0;b=b+1|0;if((b|0)==(d|0))break;else g=g+1|0}}a[j+h>>0]=0;b=qg(n,0,19606)|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(m,19609)|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[l>>0]|0;j=(b&1)==0;gg(k,j?l+1|0:c[l+8>>2]|0,j?(b&255)>>>1:c[l+4>>2]|0)|0;og(l);og(m);og(n);b=d}}if((b|0)==(d|0))break b;c[f>>2]=-2;break a}case 95:{g=20;break}default:{}}if(((g|0)==20?(a[b+2>>0]|0)==95:0)?(a[b+3>>0]|0)==90:0){n=b+4|0;b=pg(n,d,e)|0;if((b|0)==(n|0)|(b|0)==(d|0)){c[f>>2]=-2;break a}c:do if((h-b|0)>12){h=0;j=b;while(1){if((a[j>>0]|0)!=(a[19611+h>>0]|0))break c;h=h+1|0;g=j+1|0;if((h|0)>=13){h=j;break}else j=g}d:do if((g|0)!=(d|0)){if((a[g>>0]|0)==95){g=h+2|0;if((g|0)==(d|0))break c;if(((a[g>>0]|0)+-48|0)>>>0>=10)break c;g=h+3|0}if((g|0)!=(d|0))while(1){if(((a[g>>0]|0)+-48|0)>>>0>=10)break d;g=g+1|0;if((g|0)==(d|0)){g=d;break}}else g=d}else g=d;while(0);h=c[e+4>>2]|0;if((c[e>>2]|0)!=(h|0)){qg(h+-24|0,0,19625)|0;b=g}}while(0);if((b|0)==(d|0))break;c[f>>2]=-2;break a}c[f>>2]=-2;break a}while(0);if((c[f>>2]|0)==0?(c[e>>2]|0)==(c[e+4>>2]|0):0)c[f>>2]=-2}else c[f>>2]=-2;while(0);i=o;return}function eg(a){a=a|0;og(a+12|0);og(a);return}function fg(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d){e=a+4|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{f=b+-24|0;c[e>>2]=f;eg(f);b=c[e>>2]|0}while((b|0)!=(d|0));f=c[a>>2]|0;mg(c[a+12>>2]|0,f,(c[a+8>>2]|0)-f|0)}return}function gg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>=e>>>0){if(e){if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;tt(g+h|0,d|0,e|0)|0;f=h+e|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}}else ng(b,g,e-g+h|0,h,h,0,e,d);return b|0}function hg(a){a=a|0;kg(a+32|0);lg(a+16|0);fg(a);return}function ig(){var a=0;a=i;i=i+16|0;if(!(za(3824,104)|0)){i=a;return}else lf(19503,a)}function jg(a){a=a|0;var b=0;b=i;i=i+16|0;nj(a);if(!($a(c[956]|0,0)|0)){i=b;return}else lf(19553,b)}function kg(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d){e=a+4|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{f=b+-16|0;c[e>>2]=f;lg(f);b=c[e>>2]|0}while((b|0)!=(d|0));f=c[a>>2]|0;mg(c[a+12>>2]|0,f,(c[a+8>>2]|0)-f|0)}return}function lg(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d){e=a+4|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{f=b+-16|0;c[e>>2]=f;fg(f);b=c[e>>2]|0}while((b|0)!=(d|0));f=c[a>>2]|0;mg(c[a+12>>2]|0,f,(c[a+8>>2]|0)-f|0)}return}function mg(a,b,d){a=a|0;b=b|0;d=d|0;if(a>>>0<=b>>>0&(a+4096|0)>>>0>=b>>>0){a=a+4096|0;if((b+(d+15&-16)|0)==(c[a>>2]|0))c[a>>2]=b}else nj(b);return}function ng(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((-18-d|0)>>>0>>0)nf(b);if(!(a[b>>0]&1))m=b+1|0;else m=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=mj(k)|0;if(g)tt(l|0,m|0,g|0)|0;if(i)tt(l+g|0,j|0,i|0)|0;e=f-h|0;if((e|0)!=(g|0))tt(l+(i+g)|0,m+(h+g)|0,e-g|0)|0;if((d|0)!=10)nj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;a[l+d>>0]=0;return}function og(b){b=b|0;if(a[b>>0]&1)nj(c[b+8>>2]|0);return}function pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;v=H+96|0;r=H+84|0;s=H+72|0;t=H+60|0;u=H+48|0;C=H+36|0;q=H+24|0;B=H+12|0;A=H;a:do if((b|0)==(d|0))f=b;else{E=e+56|0;F=c[E>>2]|0;z=F+1|0;c[E>>2]=z;G=e+61|0;D=a[G>>0]|0;if(z>>>0>1)a[G>>0]=1;f=a[b>>0]|0;b:do switch(f|0){case 84:case 71:{c:do if((d-b|0)>2){switch(f|0){case 84:break;case 71:switch(a[b+1>>0]|0){case 86:{C=b+2|0;f=Rg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}qg(g+-24|0,0,21628)|0;break c}case 82:{C=b+2|0;f=Rg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}qg(g+-24|0,0,21648)|0;break c}default:{f=b;break c}}default:{f=b;break c}}f=b+1|0;switch(a[f>>0]|0){case 86:{C=b+2|0;f=sg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}qg(g+-24|0,0,21477)|0;break c}case 84:{C=b+2|0;f=sg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}qg(g+-24|0,0,21489)|0;break c}case 73:{C=b+2|0;f=sg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}qg(g+-24|0,0,21498)|0;break c}case 83:{C=b+2|0;f=sg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}qg(g+-24|0,0,21512)|0;break c}case 99:{C=b+2|0;f=Ah(C,d)|0;if((f|0)==(C|0)){f=b;break c}g=Ah(f,d)|0;if((g|0)==(f|0)){f=b;break c}f=pg(g,d,e)|0;if((f|0)==(g|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}qg(g+-24|0,0,21531)|0;break c}case 67:{C=b+2|0;f=sg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=Fg(f,d)|0;if((g|0)==(f|0)|(g|0)==(d|0)){f=b;break c}if((a[g>>0]|0)!=95){f=b;break c}C=g+1|0;f=sg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}k=e+4|0;g=c[k>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break c}Jg(v,g+-24|0);j=c[k>>2]|0;g=j+-24|0;h=j;do{b=h+-24|0;c[k>>2]=b;eg(b);h=c[k>>2]|0}while((h|0)!=(g|0));q=j+-48|0;b=qg(v,0,21558)|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(t,21583)|0;c[s>>2]=c[b>>2];c[s+4>>2]=c[b+4>>2];c[s+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Jg(u,(c[k>>2]|0)+-24|0);b=a[u>>0]|0;e=(b&1)==0;b=gg(s,e?u+1|0:c[u+8>>2]|0,e?(b&255)>>>1:c[u+4>>2]|0)|0;c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;do if(a[q>>0]&1){p=j+-40|0;a[c[p>>2]>>0]=0;m=j+-44|0;c[m>>2]=0;g=a[q>>0]|0;if(!(g&1))l=10;else{l=c[q>>2]|0;g=l&255;l=(l&-2)+-1|0}if(!(g&1)){h=(g&255)>>>1;if((g&255)<22){k=10;n=h;o=1}else{k=(h+16&240)+-1|0;n=h;o=1}}else{k=10;n=0;o=0}if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){tt(j|0,h|0,((g&255)>>>1)+1|0)|0;nj(h)}else{a[j>>0]=a[h>>0]|0;nj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=mj(h)|0;if(!(k>>>0<=l>>>0&(j|0)==0)){if(o)tt(j|0,q+1|0,((g&255)>>>1)+1|0)|0;else{b=c[p>>2]|0;a[j>>0]=a[b>>0]|0;nj(b)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;og(r);og(u);og(s);og(t);og(v);break c}default:{g=Ah(f,d)|0;if((g|0)==(f|0)){f=b;break c}f=pg(g,d,e)|0;if((f|0)==(g|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}g=g+-24|0;if((a[b+2>>0]|0)==118){qg(g,0,21588)|0;break c}else{qg(g,0,21606)|0;break c}}}}else f=b;while(0);break}default:{f=Rg(b,d,e)|0;v=c[e+48>>2]|0;x=c[e+52>>2]|0;if((f|0)!=(b|0))if((f|0)==(d|0))f=d;else{switch(a[f>>0]|0){case 46:case 69:break b;default:{}}y=a[G>>0]|0;a[G>>0]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;z=e+4|0;g=c[z>>2]|0;d:do if((c[e>>2]|0)!=(g|0)){m=g+-24|0;k=a[m>>0]|0;l=(k&1)==0;if(l)h=(k&255)>>>1;else h=c[g+-20>>2]|0;if(h){if(!(a[e+60>>0]|0)){if(l){h=(k&255)>>>1;j=m+1|0}else{h=c[g+-20>>2]|0;j=c[g+-16>>2]|0}if((a[j+(h+-1)>>0]|0)==62){if(l){h=(k&255)>>>1;j=m+1|0}else{h=c[g+-20>>2]|0;j=c[g+-16>>2]|0}if((a[j+(h+-2)>>0]|0)!=45){if(l){j=(k&255)>>>1;h=m+1|0}else{j=c[g+-20>>2]|0;h=c[g+-16>>2]|0}if((a[h+(j+-2)>>0]|0)!=62){p=sg(f,d,e)|0;if((p|0)==(f|0))break;f=c[z>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2)break;o=f+-24|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;o=f+-12|0;e:do if(!(a[C>>0]&1)){a[C+1>>0]=0;a[C>>0]=0}else{k=C+8|0;g=c[k>>2]|0;a[g>>0]=0;l=C+4|0;c[l>>2]=0;m=c[C>>2]|0;n=(m&-2)+-1|0;h=m&255;do if(!(h&1)){f=m>>>1&127;if((h&255)<22){tt(C+1|0,g|0,(m>>>1&127)+1|0)|0;nj(g);break}g=f+16&240;j=g+-1|0;if((j|0)==(n|0))break e;h=mj(g)|0;if(j>>>0<=n>>>0&(h|0)==0)break e;tt(h|0,C+1|0,(m>>>1&127)+1|0)|0;c[C>>2]=g|1;c[l>>2]=f;c[k>>2]=h;break e}else{a[C+1>>0]=0;nj(g);f=0}while(0);a[C>>0]=f<<1}while(0);c[C>>2]=c[o>>2];c[C+4>>2]=c[o+4>>2];c[C+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;u=a[C>>0]|0;if(!(((u&1)==0?(u&255)>>>1:c[C+4>>2]|0)|0))fh(q,32);f=c[z>>2]|0;g=f+-24|0;h=f;do{u=h+-24|0;c[z>>2]=u;eg(u);h=c[z>>2]|0}while((h|0)!=(g|0));g=a[q>>0]|0;u=(g&1)==0;Gg(f+-48|0,0,u?q+1|0:c[q+8>>2]|0,u?(g&255)>>>1:c[q+4>>2]|0)|0;og(q);g=c[z>>2]|0;f=p}}}}fh(g+-24|0,40);if((f|0)!=(d|0)?(a[f>>0]|0)==118:0){h=c[e>>2]|0;g=c[z>>2]|0;f=f+1|0}else w=105;f:do if((w|0)==105){n=B+4|0;o=A+8|0;p=A+1|0;q=A+4|0;r=B+8|0;s=B+1|0;t=B+4|0;u=B+8|0;m=1;while(1){g=c[z>>2]|0;h=c[e>>2]|0;l=f;while(1){j=(g-h|0)/24|0;f=sg(l,d,e)|0;g=c[z>>2]|0;h=c[e>>2]|0;k=(g-h|0)/24|0;if((f|0)==(l|0)){f=l;break f}if(k>>>0>j>>>0)break;else l=f}c[B>>2]=0;c[t>>2]=0;c[u>>2]=0;if(j>>>0>>0){g=j;do{w=a[B>>0]|0;if(((w&1)==0?(w&255)>>>1:c[n>>2]|0)|0)rg(B,19706)|0;Jg(A,(c[e>>2]|0)+(g*24|0)|0);w=a[A>>0]|0;l=(w&1)==0;gg(B,l?p:c[o>>2]|0,l?(w&255)>>>1:c[q>>2]|0)|0;og(A);g=g+1|0}while(g>>>0>>0)}if(j>>>0>>0)do{h=c[z>>2]|0;g=h+-24|0;do{w=h+-24|0;c[z>>2]=w;eg(w);h=c[z>>2]|0}while((h|0)!=(g|0));j=j+1|0}while(j>>>0>>0);j=a[B>>0]|0;g=c[n>>2]|0;if(!(((j&1)==0?(j&255)>>>1:g)|0))g=m;else{h=c[z>>2]|0;if((c[e>>2]|0)==(h|0))break;if(!m){rg(h+-24|0,19706)|0;h=c[z>>2]|0;j=a[B>>0]|0;g=c[n>>2]|0}w=(j&1)==0;gg(h+-24|0,w?s:c[r>>2]|0,w?(j&255)>>>1:g)|0;g=0}og(B);m=g}og(B);break d}while(0);if((h|0)!=(g|0)){fh(g+-24|0,41);if(v&1)rg((c[z>>2]|0)+-24|0,19659)|0;if(v&2)rg((c[z>>2]|0)+-24|0,19666)|0;if(v&4)rg((c[z>>2]|0)+-24|0,19676)|0;switch(x|0){case 1:{rg((c[z>>2]|0)+-24|0,19709)|0;break}case 2:{rg((c[z>>2]|0)+-24|0,19712)|0;break}default:{}}b=a[C>>0]|0;e=(b&1)==0;gg((c[z>>2]|0)+-24|0,e?C+1|0:c[C+8>>2]|0,e?(b&255)>>>1:c[C+4>>2]|0)|0;og(C);a[G>>0]=y;break b}}}while(0);og(C);a[G>>0]=D;c[E>>2]=F;f=b;break a}else f=b}}while(0);a[G>>0]=D;c[E>>2]=F}while(0);i=H;return f|0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;return Gg(a,b,c,Xi(c)|0)|0}function rg(a,b){a=a|0;b=b|0;return gg(a,b,Xi(b)|0)|0}function sg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0;Na=i;i=i+784|0;Ma=Na+752|0;Ia=Na+728|0;ma=Na+716|0;na=Na+704|0;ra=Na+680|0;Ca=Na+656|0;Ha=Na+632|0;wa=Na+620|0;Fa=Na+608|0;Da=Na+596|0;Ea=Na+584|0;xa=Na+572|0;o=Na+568|0;ya=Na+552|0;ta=Na+544|0;N=Na+528|0;C=Na+520|0;la=Na+504|0;ea=Na+496|0;O=Na+480|0;D=Na+472|0;Ba=Na+456|0;Aa=Na+452|0;fa=Na+440|0;ua=Na+428|0;va=Na+416|0;ga=Na+404|0;qa=Na+392|0;oa=Na+376|0;ja=Na+368|0;ia=Na+356|0;G=Na+344|0;I=Na+320|0;J=Na+308|0;K=Na+296|0;L=Na+284|0;ca=Na+272|0;Q=Na+248|0;R=Na+236|0;S=Na+224|0;T=Na+212|0;U=Na+200|0;_=Na+176|0;$=Na+164|0;aa=Na+152|0;ha=Na+136|0;ba=Na+128|0;M=Na+112|0;B=Na+108|0;W=Na+96|0;V=Na+80|0;F=Na+72|0;P=Na+56|0;E=Na+48|0;sa=Na+32|0;pa=Na+24|0;La=Na+8|0;Ka=Na;a:do if((b|0)!=(d|0)){switch(a[b>>0]|0){case 75:case 86:case 114:{c[o>>2]=0;g=tg(b,d,o)|0;if((g|0)==(b|0)){f=b;break a}h=a[g>>0]|0;w=e+4|0;p=((c[w>>2]|0)-(c[e>>2]|0)|0)/24|0;v=sg(g,d,e)|0;w=((c[w>>2]|0)-(c[e>>2]|0)|0)/24|0;if((v|0)==(g|0)){f=b;break a}t=h<<24>>24==70;u=e+20|0;g=c[u>>2]|0;if(t){h=g+-16|0;do{s=g+-16|0;c[u>>2]=s;fg(s);g=c[u>>2]|0}while((g|0)!=(h|0));g=h}m=e+16|0;n=c[e+12>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=n;c[u>>2]=(c[u>>2]|0)+16}else{j=c[m>>2]|0;s=g-j|0;l=s>>4;k=l+1|0;if((s|0)<-16)ug(m);g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;vg(Ma,g,l,e+28|0);s=Ma+8|0;r=c[s>>2]|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=n;c[s>>2]=r+16;wg(m,Ma);xg(Ma)}r=c[o>>2]|0;o=(r&1|0)==0;q=(r&2|0)==0;r=(r&4|0)==0;s=Ma+8|0;if(p>>>0>=w>>>0){f=v;break a}while(1){if(t){k=c[e>>2]|0;n=k+(p*24|0)+12|0;g=a[n>>0]|0;h=(g&1)==0;if(h){l=(g&255)>>>1;j=n+1|0}else{l=c[k+(p*24|0)+16>>2]|0;j=c[k+(p*24|0)+20>>2]|0}m=l+-2|0;if((a[j+m>>0]|0)==38)g=l+-3|0;else{if(h){h=(g&255)>>>1;g=n+1|0}else{h=c[k+(p*24|0)+16>>2]|0;g=c[k+(p*24|0)+20>>2]|0}g=(a[g+(h+-1)>>0]|0)==38?m:l}if(!o){qg(n,g,19659)|0;g=g+6|0}if(!q){qg((c[e>>2]|0)+(p*24|0)+12|0,g,19666)|0;g=g+9|0}if(!r)qg((c[e>>2]|0)+(p*24|0)+12|0,g,19676)|0}else{if(!o)rg((c[e>>2]|0)+(p*24|0)|0,19659)|0;if(!q)rg((c[e>>2]|0)+(p*24|0)|0,19666)|0;if(!r)rg((c[e>>2]|0)+(p*24|0)|0,19676)|0}k=c[u>>2]|0;g=k+-16|0;l=c[e>>2]|0;m=l+(p*24|0)|0;h=k+-12|0;j=c[h>>2]|0;if((j|0)==(c[k+-8>>2]|0)){n=j-(c[g>>2]|0)|0;j=(n|0)/24|0;h=j+1|0;if((n|0)<-24)break;if(j>>>0<1073741823){n=j<<1;h=n>>>0>>0?h:n}else h=2147483647;zg(Ma,h,j,k+-4|0);n=c[s>>2]|0;yg(n,m);yg(n+12|0,l+(p*24|0)+12|0);c[s>>2]=n+24;Bg(g,Ma);Ag(Ma)}else{yg(j,m);yg(j+12|0,l+(p*24|0)+12|0);c[h>>2]=(c[h>>2]|0)+24}p=p+1|0;if(p>>>0>=w>>>0){f=v;break a}}ug(g);break}default:{}}g=Cg(b,d,e)|0;if((g|0)==(b|0)){g=a[b>>0]|0;b:do switch(g<<24>>24|0){case 65:{do if(g<<24>>24==65?(H=b+1|0,(H|0)!=(d|0)):0){g=a[H>>0]|0;if(g<<24>>24==95){La=b+2|0;f=sg(La,d,e)|0;if((f|0)==(La|0)){f=b;break}g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==(h|0)){f=b;break}d=h+-12|0;Ka=a[d>>0]|0;La=(Ka&1)==0;Ka=La?(Ka&255)>>>1:c[h+-8>>2]|0;Dg(Ma,La?d+1|0:c[h+-4>>2]|0,Ka>>>0<2?Ka:2);Ka=a[Ma>>0]|0;d=(Ka&1)==0;Ka=d?(Ka&255)>>>1:c[Ma+4>>2]|0;La=Ka>>>0>2;d=Ti(d?Ma+1|0:c[Ma+8>>2]|0,19686,La?2:Ka)|0;og(Ma);if(!(((d|0)==0?(Ka>>>0<2?-1:La&1):d)|0))Eg((c[g>>2]|0)+-12|0);qg((c[g>>2]|0)+-12|0,0,19689)|0;break}if((g+-49&255)<9){m=Fg(H,d)|0;if((m|0)==(d|0)){f=b;break}if((a[m>>0]|0)!=95){f=b;break}La=m+1|0;f=sg(La,d,e)|0;if((f|0)==(La|0)){f=b;break}g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==(h|0)){f=b;break}d=h+-12|0;Ka=a[d>>0]|0;La=(Ka&1)==0;Ka=La?(Ka&255)>>>1:c[h+-8>>2]|0;Dg(Ia,La?d+1|0:c[h+-4>>2]|0,Ka>>>0<2?Ka:2);Ka=a[Ia>>0]|0;d=(Ka&1)==0;Ka=d?(Ka&255)>>>1:c[Ia+4>>2]|0;La=Ka>>>0>2;d=Ti(d?Ia+1|0:c[Ia+8>>2]|0,19686,La?2:Ka)|0;og(Ia);if(!(((d|0)==0?(Ka>>>0<2?-1:La&1):d)|0))Eg((c[g>>2]|0)+-12|0);j=(c[g>>2]|0)+-12|0;k=m-H|0;if(k>>>0>4294967279)nf(ra);if(k>>>0<11){a[ra>>0]=k<<1;l=ra+1|0}else{d=k+16&-16;l=mj(d)|0;c[ra+8>>2]=l;c[ra>>2]=d|1;c[ra+4>>2]=k}if((H|0)!=(m|0)){g=H;h=l;while(1){a[h>>0]=a[g>>0]|0;g=g+1|0;if((g|0)==(m|0))break;else h=h+1|0}}a[l+k>>0]=0;d=qg(ra,0,19686)|0;c[na>>2]=c[d>>2];c[na+4>>2]=c[d+4>>2];c[na+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=rg(na,19693)|0;c[ma>>2]=c[d>>2];c[ma+4>>2]=c[d+4>>2];c[ma+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=a[ma>>0]|0;La=(d&1)==0;Gg(j,0,La?ma+1|0:c[ma+8>>2]|0,La?(d&255)>>>1:c[ma+4>>2]|0)|0;og(ma);og(na);og(ra);break}g=Hg(H,d,e)|0;if(((!((g|0)==(H|0)|(g|0)==(d|0))?(a[g>>0]|0)==95:0)?(La=g+1|0,f=sg(La,d,e)|0,(f|0)!=(La|0)):0)?(da=e+4|0,A=c[da>>2]|0,((A-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Ig(Ca,A+-24|0);g=c[da>>2]|0;h=g+-24|0;j=g;do{d=j+-24|0;c[da>>2]=d;eg(d);j=c[da>>2]|0}while((j|0)!=(h|0));Ig(Ha,g+-48|0);g=c[da>>2]|0;q=g+-24|0;do if(a[q>>0]&1){p=g+-16|0;a[c[p>>2]>>0]=0;m=g+-20|0;c[m>>2]=0;g=a[q>>0]|0;if(!(g&1))l=10;else{l=c[q>>2]|0;g=l&255;l=(l&-2)+-1|0}if(!(g&1)){h=(g&255)>>>1;if((g&255)<22){o=1;k=10;n=h}else{o=1;k=(h+16&240)+-1|0;n=h}}else{o=0;k=10;n=0}if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){tt(j|0,h|0,((g&255)>>>1)+1|0)|0;nj(h)}else{a[j>>0]=a[h>>0]|0;nj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=mj(h)|0;if(!(k>>>0<=l>>>0&(j|0)==0)){if(o)tt(j|0,q+1|0,((g&255)>>>1)+1|0)|0;else{d=c[p>>2]|0;a[j>>0]=a[d>>0]|0;nj(d)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[Ca>>2];c[q+4>>2]=c[Ca+4>>2];c[q+8>>2]=c[Ca+8>>2];c[Ca>>2]=0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;h=Ca+12|0;Ka=a[h>>0]|0;d=(Ka&1)==0;j=Ca+16|0;Ka=d?(Ka&255)>>>1:c[j>>2]|0;k=Ca+20|0;l=h+1|0;Dg(wa,d?l:c[k>>2]|0,Ka>>>0<2?Ka:2);Ka=a[wa>>0]|0;d=(Ka&1)==0;Ka=d?(Ka&255)>>>1:c[wa+4>>2]|0;La=Ka>>>0>2;d=Ti(d?wa+1|0:c[wa+8>>2]|0,19686,La?2:Ka)|0;og(wa);if(!(((d|0)==0?(Ka>>>0<2?-1:La&1):d)|0))Eg(h);g=c[da>>2]|0;q=g+-12|0;Jg(xa,Ha);d=qg(xa,0,19686)|0;c[Ea>>2]=c[d>>2];c[Ea+4>>2]=c[d+4>>2];c[Ea+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=rg(Ea,19693)|0;c[Da>>2]=c[d>>2];c[Da+4>>2]=c[d+4>>2];c[Da+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=a[h>>0]|0;La=(d&1)==0;d=gg(Da,La?l:c[k>>2]|0,La?(d&255)>>>1:c[j>>2]|0)|0;c[Fa>>2]=c[d>>2];c[Fa+4>>2]=c[d+4>>2];c[Fa+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;do if(a[q>>0]&1){p=g+-4|0;a[c[p>>2]>>0]=0;m=g+-8|0;c[m>>2]=0;g=a[q>>0]|0;if(!(g&1))l=10;else{l=c[q>>2]|0;g=l&255;l=(l&-2)+-1|0}do if(!(g&1)){h=(g&255)>>>1;if((g&255)<22){o=1;k=10;n=h;break}o=1;k=(h+16&240)+-1|0;n=h}else{o=0;k=10;n=0}while(0);if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){tt(j|0,h|0,((g&255)>>>1)+1|0)|0;nj(h)}else{a[j>>0]=a[h>>0]|0;nj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=mj(h)|0;if(k>>>0<=l>>>0&(j|0)==0)break;if(o)tt(j|0,q+1|0,((g&255)>>>1)+1|0)|0;else{d=c[p>>2]|0;a[j>>0]=a[d>>0]|0;nj(d)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[Fa>>2];c[q+4>>2]=c[Fa+4>>2];c[q+8>>2]=c[Fa+8>>2];c[Fa>>2]=0;c[Fa+4>>2]=0;c[Fa+8>>2]=0;og(Fa);og(Da);og(Ea);og(xa);eg(Ha);eg(Ca)}else f=b}else f=b;while(0);if((f|0)==(b|0)){f=b;break a}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[ta>>2]=c[e+12>>2];Kg(ya,g+-24|0,ta);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[ya+12>>2];c[h>>2]=c[ya>>2];Ma=ya+4|0;c[h+4>>2]=c[Ma>>2];e=ya+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[ya>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)ug(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;vg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[ya+12>>2];c[b>>2]=c[ya>>2];d=ya+4|0;c[b+4>>2]=c[d>>2];La=ya+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[ya>>2]=0;c[e>>2]=b+16;wg(l,Ma);xg(Ma)}fg(ya);break a}case 67:{La=b+1|0;f=sg(La,d,e)|0;if((f|0)==(La|0)){f=b;break a}h=e+4|0;g=c[h>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}rg(g+-24|0,19695)|0;l=e+16|0;g=(c[h>>2]|0)+-24|0;c[C>>2]=c[e+12>>2];Kg(N,g,C);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[N+12>>2];c[h>>2]=c[N>>2];Ma=N+4|0;c[h+4>>2]=c[Ma>>2];e=N+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[N>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)ug(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;vg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[N+12>>2];c[b>>2]=c[N>>2];d=N+4|0;c[b+4>>2]=c[d>>2];La=N+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[N>>2]=0;c[e>>2]=b+16;wg(l,Ma);xg(Ma)}fg(N);break a}case 70:{do if(g<<24>>24==70?(x=b+1|0,(x|0)!=(d|0)):0){if((a[x>>0]|0)==89){f=b+2|0;if((f|0)==(d|0))break}else f=x;h=sg(f,d,e)|0;if((h|0)!=(f|0)){Dg(Ma,19704,1);q=e+4|0;p=Ma+4|0;m=Ia+8|0;n=Ia+1|0;o=Ia+4|0;c:do if((h|0)!=(d|0)){g=0;f=h;d:while(1){e:while(1){switch(a[f>>0]|0){case 69:break d;case 118:{f=f+1|0;break}case 82:{h=f+1|0;if((h|0)!=(d|0)?(a[h>>0]|0)==69:0){g=1;f=h;break e}else Ga=154;break}case 79:{h=f+1|0;if((h|0)!=(d|0)?(a[h>>0]|0)==69:0){g=2;f=h;break e}else Ga=154;break}default:Ga=154}if((Ga|0)==154){Ga=0;h=((c[q>>2]|0)-(c[e>>2]|0)|0)/24|0;k=sg(f,d,e)|0;l=((c[q>>2]|0)-(c[e>>2]|0)|0)/24|0;if((k|0)==(f|0)|(k|0)==(d|0))break c;if(h>>>0>>0){f=h;do{La=a[Ma>>0]|0;if(((La&1)==0?(La&255)>>>1:c[p>>2]|0)>>>0>1)rg(Ma,19706)|0;Jg(Ia,(c[e>>2]|0)+(f*24|0)|0);La=a[Ia>>0]|0;Ka=(La&1)==0;gg(Ma,Ka?n:c[m>>2]|0,Ka?(La&255)>>>1:c[o>>2]|0)|0;og(Ia);f=f+1|0}while(f>>>0>>0)}if(h>>>0>>0){do{j=c[q>>2]|0;f=j+-24|0;do{La=j+-24|0;c[q>>2]=La;eg(La);j=c[q>>2]|0}while((j|0)!=(f|0));h=h+1|0}while(h>>>0>>0);f=k}else f=k}if((f|0)==(d|0)){Ga=144;break c}}if((f|0)==(d|0)){Ga=144;break c}}f=f+1|0;rg(Ma,19609)|0;switch(g|0){case 1:{rg(Ma,19709)|0;break}case 2:{rg(Ma,19712)|0;break}default:{}}g=c[q>>2]|0;if((c[e>>2]|0)!=(g|0)){rg(g+-24|0,19716)|0;d=a[Ma>>0]|0;La=(d&1)==0;Gg((c[q>>2]|0)+-12|0,0,La?Ma+1|0:c[Ma+8>>2]|0,La?(d&255)>>>1:c[p>>2]|0)|0;og(Ma);if((f|0)==(b|0)){f=b;break a}g=c[q>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[ea>>2]=c[e+12>>2];Kg(la,g+-24|0,ea);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[la+12>>2];c[h>>2]=c[la>>2];Ma=la+4|0;c[h+4>>2]=c[Ma>>2];e=la+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[la>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)ug(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;vg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[la+12>>2];c[b>>2]=c[la>>2];d=la+4|0;c[b+4>>2]=c[d>>2];La=la+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[la>>2]=0;c[e>>2]=b+16;wg(l,Ma);xg(Ma)}fg(la);break a}}else Ga=144;while(0);if((Ga|0)==144){g=c[q>>2]|0;f=g+-24|0;do{e=g+-24|0;c[q>>2]=e;eg(e);g=c[q>>2]|0}while((g|0)!=(f|0))}og(Ma)}}while(0);f=b;break a}case 71:{La=b+1|0;f=sg(La,d,e)|0;if((f|0)==(La|0)){f=b;break a}h=e+4|0;g=c[h>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}rg(g+-24|0,19718)|0;l=e+16|0;g=(c[h>>2]|0)+-24|0;c[D>>2]=c[e+12>>2];Kg(O,g,D);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[O+12>>2];c[h>>2]=c[O>>2];Ma=O+4|0;c[h+4>>2]=c[Ma>>2];e=O+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[O>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)ug(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;vg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[O+12>>2];c[b>>2]=c[O>>2];d=O+4|0;c[b+4>>2]=c[d>>2];La=O+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[O>>2]=0;c[e>>2]=b+16;wg(l,Ma);xg(Ma)}fg(O);break a}case 77:{if(((g<<24>>24==77?(La=b+1|0,y=sg(La,d,e)|0,(y|0)!=(La|0)):0)?(za=sg(y,d,e)|0,(za|0)!=(y|0)):0)?(ka=e+4|0,z=c[ka>>2]|0,((z-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Ig(Ma,z+-24|0);f=c[ka>>2]|0;g=f+-24|0;h=f;do{d=h+-24|0;c[ka>>2]=d;eg(d);h=c[ka>>2]|0}while((h|0)!=(g|0));Ig(Ia,f+-48|0);q=Ma+12|0;f=c[ka>>2]|0;p=f+-24|0;if((a[((a[q>>0]&1)==0?q+1|0:c[Ma+20>>2]|0)>>0]|0)==40){d=rg(Ma,19704)|0;c[ra>>2]=c[d>>2];c[ra+4>>2]=c[d+4>>2];c[ra+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Jg(Ca,Ia);d=a[Ca>>0]|0;La=(d&1)==0;d=gg(ra,La?Ca+1|0:c[Ca+8>>2]|0,La?(d&255)>>>1:c[Ca+4>>2]|0)|0;c[na>>2]=c[d>>2];c[na+4>>2]=c[d+4>>2];c[na+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=rg(na,19729)|0;c[ma>>2]=c[d>>2];c[ma+4>>2]=c[d+4>>2];c[ma+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;do if(a[p>>0]&1){o=f+-16|0;a[c[o>>2]>>0]=0;l=f+-20|0;c[l>>2]=0;f=a[p>>0]|0;if(!(f&1))k=10;else{k=c[p>>2]|0;f=k&255;k=(k&-2)+-1|0}if(!(f&1)){g=(f&255)>>>1;if((f&255)<22){n=1;j=10;m=g}else{n=1;j=(g+16&240)+-1|0;m=g}}else{n=0;j=10;m=0}if((j|0)!=(k|0)){if((j|0)==10){h=p+1|0;g=c[o>>2]|0;if(n){tt(h|0,g|0,((f&255)>>>1)+1|0)|0;nj(g)}else{a[h>>0]=a[g>>0]|0;nj(g)}a[p>>0]=m<<1;break}g=j+1|0;h=mj(g)|0;if(!(j>>>0<=k>>>0&(h|0)==0)){if(n)tt(h|0,p+1|0,((f&255)>>>1)+1|0)|0;else{d=c[o>>2]|0;a[h>>0]=a[d>>0]|0;nj(d)}c[p>>2]=g|1;c[l>>2]=m;c[o>>2]=h}}}else{a[p+1>>0]=0;a[p>>0]=0}while(0);c[p>>2]=c[ma>>2];c[p+4>>2]=c[ma+4>>2];c[p+8>>2]=c[ma+8>>2];c[ma>>2]=0;c[ma+4>>2]=0;c[ma+8>>2]=0;og(ma);og(na);og(Ca);og(ra);f=c[ka>>2]|0;p=qg(q,0,19609)|0;c[Ha>>2]=c[p>>2];c[Ha+4>>2]=c[p+4>>2];c[Ha+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;p=f+-12|0;do if(a[p>>0]&1){o=f+-4|0;a[c[o>>2]>>0]=0;l=f+-8|0;c[l>>2]=0;f=a[p>>0]|0;if(!(f&1))k=10;else{k=c[p>>2]|0;f=k&255;k=(k&-2)+-1|0}if(!(f&1)){g=(f&255)>>>1;if((f&255)<22){n=1;j=10;m=g}else{n=1;j=(g+16&240)+-1|0;m=g}}else{n=0;j=10;m=0}if((j|0)!=(k|0)){if((j|0)==10){h=p+1|0;g=c[o>>2]|0;if(n){tt(h|0,g|0,((f&255)>>>1)+1|0)|0;nj(g)}else{a[h>>0]=a[g>>0]|0;nj(g)}a[p>>0]=m<<1;break}g=j+1|0;h=mj(g)|0;if(!(j>>>0<=k>>>0&(h|0)==0)){if(n)tt(h|0,p+1|0,((f&255)>>>1)+1|0)|0;else{d=c[o>>2]|0;a[h>>0]=a[d>>0]|0;nj(d)}c[p>>2]=g|1;c[l>>2]=m;c[o>>2]=h}}}else{a[p+1>>0]=0;a[p>>0]=0}while(0);c[p>>2]=c[Ha>>2];c[p+4>>2]=c[Ha+4>>2];c[p+8>>2]=c[Ha+8>>2];c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;og(Ha)}else{d=rg(Ma,19716)|0;c[Da>>2]=c[d>>2];c[Da+4>>2]=c[d+4>>2];c[Da+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Jg(Ea,Ia);d=a[Ea>>0]|0;La=(d&1)==0;d=gg(Da,La?Ea+1|0:c[Ea+8>>2]|0,La?(d&255)>>>1:c[Ea+4>>2]|0)|0;c[Fa>>2]=c[d>>2];c[Fa+4>>2]=c[d+4>>2];c[Fa+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=rg(Fa,19729)|0;c[wa>>2]=c[d>>2];c[wa+4>>2]=c[d+4>>2];c[wa+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;do if(a[p>>0]&1){o=f+-16|0;a[c[o>>2]>>0]=0;l=f+-20|0;c[l>>2]=0;f=a[p>>0]|0;if(!(f&1))k=10;else{k=c[p>>2]|0;f=k&255;k=(k&-2)+-1|0}if(!(f&1)){g=(f&255)>>>1;if((f&255)<22){j=10;m=g;n=1}else{j=(g+16&240)+-1|0;m=g;n=1}}else{j=10;m=0;n=0}if((j|0)!=(k|0)){if((j|0)==10){h=p+1|0;g=c[o>>2]|0;if(n){tt(h|0,g|0,((f&255)>>>1)+1|0)|0;nj(g)}else{a[h>>0]=a[g>>0]|0;nj(g)}a[p>>0]=m<<1;break}g=j+1|0;h=mj(g)|0;if(!(j>>>0<=k>>>0&(h|0)==0)){if(n)tt(h|0,p+1|0,((f&255)>>>1)+1|0)|0;else{d=c[o>>2]|0;a[h>>0]=a[d>>0]|0;nj(d)}c[p>>2]=g|1;c[l>>2]=m;c[o>>2]=h}}}else{a[p+1>>0]=0;a[p>>0]=0}while(0);c[p>>2]=c[wa>>2];c[p+4>>2]=c[wa+4>>2];c[p+8>>2]=c[wa+8>>2];c[wa>>2]=0;c[wa+4>>2]=0;c[wa+8>>2]=0;og(wa);og(Fa);og(Ea);og(Da);f=c[ka>>2]|0;p=f+-12|0;do if(a[p>>0]&1){o=f+-4|0;a[c[o>>2]>>0]=0;l=f+-8|0;c[l>>2]=0;f=a[p>>0]|0;if(!(f&1))k=10;else{k=c[p>>2]|0;f=k&255;k=(k&-2)+-1|0}if(!(f&1)){g=(f&255)>>>1;if((f&255)<22){j=10;m=g;n=1}else{j=(g+16&240)+-1|0;m=g;n=1}}else{j=10;m=0;n=0}if((j|0)!=(k|0)){if((j|0)==10){h=p+1|0;g=c[o>>2]|0;if(n){tt(h|0,g|0,((f&255)>>>1)+1|0)|0;nj(g)}else{a[h>>0]=a[g>>0]|0;nj(g)}a[p>>0]=m<<1;break}g=j+1|0;h=mj(g)|0;if(!(j>>>0<=k>>>0&(h|0)==0)){if(n)tt(h|0,p+1|0,((f&255)>>>1)+1|0)|0;else{d=c[o>>2]|0;a[h>>0]=a[d>>0]|0;nj(d)}c[p>>2]=g|1;c[l>>2]=m;c[o>>2]=h}}}else{a[p+1>>0]=0;a[p>>0]=0}while(0);c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0}eg(Ia);eg(Ma);f=za}else f=b;if((f|0)==(b|0)){f=b;break a}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[Aa>>2]=c[e+12>>2];Kg(Ba,g+-24|0,Aa);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[Ba+12>>2];c[h>>2]=c[Ba>>2];Ma=Ba+4|0;c[h+4>>2]=c[Ma>>2];e=Ba+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[Ba>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)ug(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;vg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[Ba+12>>2];c[b>>2]=c[Ba>>2];d=Ba+4|0;c[b+4>>2]=c[d>>2];La=Ba+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[Ba>>2]=0;c[e>>2]=b+16;wg(l,Ma);xg(Ma)}fg(Ba);break a}case 79:{s=e+4|0;o=((c[s>>2]|0)-(c[e>>2]|0)|0)/24|0;Ia=b+1|0;f=sg(Ia,d,e)|0;s=((c[s>>2]|0)-(c[e>>2]|0)|0)/24|0;if((f|0)==(Ia|0)){f=b;break a}m=e+16|0;n=c[e+12>>2]|0;t=e+20|0;g=c[t>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=n;c[t>>2]=(c[t>>2]|0)+16}else{j=c[m>>2]|0;Ia=g-j|0;l=Ia>>4;k=l+1|0;if((Ia|0)<-16)ug(m);g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;vg(Ma,g,l,e+28|0);Ia=Ma+8|0;Ha=c[Ia>>2]|0;c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;c[Ha+12>>2]=n;c[Ia>>2]=Ha+16;wg(m,Ma);xg(Ma)}n=fa+4|0;p=fa+8|0;q=fa+1|0;r=Ma+8|0;if(o>>>0>=s>>>0)break a;while(1){Ia=c[e>>2]|0;Ha=Ia+(o*24|0)+12|0;Ga=a[Ha>>0]|0;h=(Ga&1)==0;Ga=h?(Ga&255)>>>1:c[Ia+(o*24|0)+16>>2]|0;Dg(fa,h?Ha+1|0:c[Ia+(o*24|0)+20>>2]|0,Ga>>>0<2?Ga:2);Ga=a[fa>>0]|0;Ia=(Ga&1)==0;Ga=Ia?(Ga&255)>>>1:c[n>>2]|0;Ha=Ga>>>0>2;Ia=Ti(Ia?q:c[p>>2]|0,19686,Ha?2:Ga)|0;og(fa);h=c[e>>2]|0;if(((Ia|0)==0?(Ga>>>0<2?-1:Ha&1):Ia)|0){g=h+(o*24|0)+12|0;if(!(a[g>>0]&1))g=g+1|0;else g=c[h+(o*24|0)+20>>2]|0;if((a[g>>0]|0)==40){rg(h+(o*24|0)|0,19704)|0;qg((c[e>>2]|0)+(o*24|0)+12|0,0,19609)|0}}else{rg(h+(o*24|0)|0,19606)|0;qg((c[e>>2]|0)+(o*24|0)+12|0,0,19609)|0}rg((c[e>>2]|0)+(o*24|0)|0,19733)|0;j=c[t>>2]|0;k=j+-16|0;l=c[e>>2]|0;m=l+(o*24|0)|0;g=j+-12|0;h=c[g>>2]|0;if((h|0)==(c[j+-8>>2]|0)){Ia=h-(c[k>>2]|0)|0;h=(Ia|0)/24|0;g=h+1|0;if((Ia|0)<-24){f=k;break}if(h>>>0<1073741823){Ia=h<<1;g=Ia>>>0>>0?g:Ia}else g=2147483647;zg(Ma,g,h,j+-4|0);Ia=c[r>>2]|0;yg(Ia,m);yg(Ia+12|0,l+(o*24|0)+12|0);c[r>>2]=Ia+24;Bg(k,Ma);Ag(Ma)}else{yg(h,m);yg(h+12|0,l+(o*24|0)+12|0);c[g>>2]=(c[g>>2]|0)+24}o=o+1|0;if(o>>>0>=s>>>0)break a}ug(f);break}case 80:{A=e+4|0;o=((c[A>>2]|0)-(c[e>>2]|0)|0)/24|0;z=b+1|0;f=sg(z,d,e)|0;A=((c[A>>2]|0)-(c[e>>2]|0)|0)/24|0;if((f|0)==(z|0)){f=b;break a}m=e+16|0;n=c[e+12>>2]|0;B=e+20|0;g=c[B>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=n;c[B>>2]=(c[B>>2]|0)+16}else{j=c[m>>2]|0;Ia=g-j|0;l=Ia>>4;k=l+1|0;if((Ia|0)<-16)ug(m);g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;vg(Ma,g,l,e+28|0);Ia=Ma+8|0;Ha=c[Ia>>2]|0;c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;c[Ha+12>>2]=n;c[Ia>>2]=Ha+16;wg(m,Ma);xg(Ma)}s=ua+4|0;t=ua+8|0;u=ua+1|0;v=va+4|0;w=va+8|0;x=va+1|0;y=Ma+8|0;if(o>>>0>=A>>>0)break a;while(1){Ia=c[e>>2]|0;Ha=Ia+(o*24|0)+12|0;Fa=a[Ha>>0]|0;h=(Fa&1)==0;Fa=h?(Fa&255)>>>1:c[Ia+(o*24|0)+16>>2]|0;Dg(ua,h?Ha+1|0:c[Ia+(o*24|0)+20>>2]|0,Fa>>>0<2?Fa:2);Fa=a[ua>>0]|0;Ia=(Fa&1)==0;Fa=Ia?(Fa&255)>>>1:c[s>>2]|0;Ha=Fa>>>0>2;Ia=Ti(Ia?u:c[t>>2]|0,19686,Ha?2:Fa)|0;og(ua);h=c[e>>2]|0;if(((Ia|0)==0?(Fa>>>0<2?-1:Ha&1):Ia)|0){g=h+(o*24|0)+12|0;if(!(a[g>>0]&1))g=g+1|0;else g=c[h+(o*24|0)+20>>2]|0;if((a[g>>0]|0)==40){rg(h+(o*24|0)|0,19704)|0;qg((c[e>>2]|0)+(o*24|0)+12|0,0,19609)|0}}else{rg(h+(o*24|0)|0,19606)|0;qg((c[e>>2]|0)+(o*24|0)+12|0,0,19609)|0}h=c[e>>2]|0;g=h+(o*24|0)|0;do if((a[z>>0]|0)==85){Fa=a[g>>0]|0;Ia=(Fa&1)==0;Fa=Ia?(Fa&255)>>>1:c[h+(o*24|0)+4>>2]|0;Dg(va,Ia?g+1|0:c[h+(o*24|0)+8>>2]|0,Fa>>>0<12?Fa:12);Fa=a[va>>0]|0;Ia=(Fa&1)==0;Fa=Ia?(Fa&255)>>>1:c[v>>2]|0;Ha=Fa>>>0>12;Ia=Ti(Ia?x:c[w>>2]|0,19736,Ha?12:Fa)|0;og(va);r=c[e>>2]|0;g=r+(o*24|0)|0;if(!(((Ia|0)==0?(Fa>>>0<12?-1:Ha&1):Ia)|0)){h=a[g>>0]|0;if(!(h&1)){q=(h&255)>>>1;n=q>>>0<11?q:11;j=10}else{q=c[r+(o*24|0)+4>>2]|0;h=c[g>>2]|0;n=q>>>0<11?q:11;j=(h&-2)+-1|0;h=h&255}if((n-q+j|0)>>>0<2){ng(g,j,2-n+q-j|0,q,0,n,2,19751);break}if(!(h&1))p=g+1|0;else p=c[r+(o*24|0)+8>>2]|0;do if((n|0)!=2){m=q-n|0;if((q|0)==(n|0)){k=0;l=19751;j=2;h=n;Ga=339}else{if(n>>>0>2){a[p>>0]=105;a[p+1>>0]=100;vt(p+2|0,p+n|0,m|0)|0;j=2;h=n;break}do if(p>>>0<19751>>>0&(p+q|0)>>>0>19751>>>0)if((p+n|0)>>>0>19751>>>0){tt(p|0,19751,n|0)|0;k=n;l=19753;j=2-n|0;h=0;break}else{k=0;l=19751+(2-n)|0;j=2;h=n;break}else{k=0;l=19751;j=2;h=n}while(0);vt(p+(k+j)|0,p+(k+h)|0,m|0)|0;Ga=339}}else{k=0;l=19751;j=2;h=2;Ga=339}while(0);if((Ga|0)==339){Ga=0;vt(p+k|0,l|0,j|0)|0}h=j-h+q|0;if(!(a[g>>0]&1))a[g>>0]=h<<1;else c[r+(o*24|0)+4>>2]=h;a[p+h>>0]=0}else Ga=322}else Ga=322;while(0);if((Ga|0)==322){Ga=0;rg(g,19749)|0}j=c[B>>2]|0;k=j+-16|0;l=c[e>>2]|0;m=l+(o*24|0)|0;g=j+-12|0;h=c[g>>2]|0;if((h|0)==(c[j+-8>>2]|0)){Ia=h-(c[k>>2]|0)|0;h=(Ia|0)/24|0;g=h+1|0;if((Ia|0)<-24){f=k;break}if(h>>>0<1073741823){Ia=h<<1;g=Ia>>>0>>0?g:Ia}else g=2147483647;zg(Ma,g,h,j+-4|0);Ia=c[y>>2]|0;yg(Ia,m);yg(Ia+12|0,l+(o*24|0)+12|0);c[y>>2]=Ia+24;Bg(k,Ma);Ag(Ma)}else{yg(h,m);yg(h+12|0,l+(o*24|0)+12|0);c[g>>2]=(c[g>>2]|0)+24}o=o+1|0;if(o>>>0>=A>>>0)break a}ug(f);break}case 82:{s=e+4|0;o=((c[s>>2]|0)-(c[e>>2]|0)|0)/24|0;Ia=b+1|0;f=sg(Ia,d,e)|0;s=((c[s>>2]|0)-(c[e>>2]|0)|0)/24|0;if((f|0)==(Ia|0)){f=b;break a}m=e+16|0;n=c[e+12>>2]|0;t=e+20|0;g=c[t>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=n;c[t>>2]=(c[t>>2]|0)+16}else{j=c[m>>2]|0;Ia=g-j|0;l=Ia>>4;k=l+1|0;if((Ia|0)<-16)ug(m);g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;vg(Ma,g,l,e+28|0);Ia=Ma+8|0;Ha=c[Ia>>2]|0;c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;c[Ha+12>>2]=n;c[Ia>>2]=Ha+16;wg(m,Ma);xg(Ma)}n=ga+4|0;p=ga+8|0;q=ga+1|0;r=Ma+8|0;if(o>>>0>=s>>>0)break a;while(1){Ia=c[e>>2]|0;Ha=Ia+(o*24|0)+12|0;Ga=a[Ha>>0]|0;h=(Ga&1)==0;Ga=h?(Ga&255)>>>1:c[Ia+(o*24|0)+16>>2]|0;Dg(ga,h?Ha+1|0:c[Ia+(o*24|0)+20>>2]|0,Ga>>>0<2?Ga:2);Ga=a[ga>>0]|0;Ia=(Ga&1)==0;Ga=Ia?(Ga&255)>>>1:c[n>>2]|0;Ha=Ga>>>0>2;Ia=Ti(Ia?q:c[p>>2]|0,19686,Ha?2:Ga)|0;og(ga);h=c[e>>2]|0;if(((Ia|0)==0?(Ga>>>0<2?-1:Ha&1):Ia)|0){g=h+(o*24|0)+12|0;if(!(a[g>>0]&1))g=g+1|0;else g=c[h+(o*24|0)+20>>2]|0;if((a[g>>0]|0)==40){rg(h+(o*24|0)|0,19704)|0;qg((c[e>>2]|0)+(o*24|0)+12|0,0,19609)|0}}else{rg(h+(o*24|0)|0,19606)|0;qg((c[e>>2]|0)+(o*24|0)+12|0,0,19609)|0}rg((c[e>>2]|0)+(o*24|0)|0,19754)|0;j=c[t>>2]|0;k=j+-16|0;l=c[e>>2]|0;m=l+(o*24|0)|0;g=j+-12|0;h=c[g>>2]|0;if((h|0)==(c[j+-8>>2]|0)){Ia=h-(c[k>>2]|0)|0;h=(Ia|0)/24|0;g=h+1|0;if((Ia|0)<-24){f=k;break}if(h>>>0<1073741823){Ia=h<<1;g=Ia>>>0>>0?g:Ia}else g=2147483647;zg(Ma,g,h,j+-4|0);Ia=c[r>>2]|0;yg(Ia,m);yg(Ia+12|0,l+(o*24|0)+12|0);c[r>>2]=Ia+24;Bg(k,Ma);Ag(Ma)}else{yg(h,m);yg(h+12|0,l+(o*24|0)+12|0);c[g>>2]=(c[g>>2]|0)+24}o=o+1|0;if(o>>>0>=s>>>0)break a}ug(f);break}case 84:{s=e+4|0;p=((c[s>>2]|0)-(c[e>>2]|0)|0)/24|0;f=Lg(b,d,e)|0;q=((c[s>>2]|0)-(c[e>>2]|0)|0)/24|0;if((f|0)==(b|0)){f=b;break a}v=e+16|0;r=e+12|0;m=c[r>>2]|0;u=e+20|0;g=c[u>>2]|0;t=e+24|0;h=c[t>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=m;c[u>>2]=(c[u>>2]|0)+16}else{j=c[v>>2]|0;b=g-j|0;l=b>>4;k=l+1|0;if((b|0)<-16)ug(v);g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;vg(Ma,g,l,e+28|0);b=Ma+8|0;La=c[b>>2]|0;c[La>>2]=0;c[La+4>>2]=0;c[La+8>>2]=0;c[La+12>>2]=m;c[b>>2]=La+16;wg(v,Ma);xg(Ma)}k=Ma+8|0;f:do if(p>>>0>>0){o=p;while(1){l=c[u>>2]|0;g=l+-16|0;m=c[e>>2]|0;n=m+(o*24|0)|0;h=l+-12|0;j=c[h>>2]|0;if((j|0)==(c[l+-8>>2]|0)){b=j-(c[g>>2]|0)|0;j=(b|0)/24|0;h=j+1|0;if((b|0)<-24)break;if(j>>>0<1073741823){b=j<<1;h=b>>>0>>0?h:b}else h=2147483647;zg(Ma,h,j,l+-4|0);b=c[k>>2]|0;yg(b,n);yg(b+12|0,m+(o*24|0)+12|0);c[k>>2]=b+24;Bg(g,Ma);Ag(Ma)}else{yg(j,n);yg(j+12|0,m+(o*24|0)+12|0);c[h>>2]=(c[h>>2]|0)+24}o=o+1|0;if(o>>>0>=q>>>0)break f}ug(g)}while(0);if(!((q|0)==(p+1|0)&(a[e+63>>0]|0)!=0))break a;l=Mg(f,d,e)|0;if((l|0)==(f|0))break a;Jg(qa,(c[s>>2]|0)+-24|0);f=c[s>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[s>>2]=b;eg(b);h=c[s>>2]|0}while((h|0)!=(g|0));j=a[qa>>0]|0;b=(j&1)==0;gg(f+-48|0,b?qa+1|0:c[qa+8>>2]|0,b?(j&255)>>>1:c[qa+4>>2]|0)|0;f=(c[s>>2]|0)+-24|0;c[ja>>2]=c[r>>2];Kg(oa,f,ja);f=c[u>>2]|0;j=c[t>>2]|0;if(f>>>0>>0){c[f+12>>2]=c[oa+12>>2];c[f>>2]=c[oa>>2];Ma=oa+4|0;c[f+4>>2]=c[Ma>>2];e=oa+8|0;c[f+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[oa>>2]=0;c[u>>2]=(c[u>>2]|0)+16}else{g=c[v>>2]|0;b=f-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)ug(v);f=j-g|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?h:f}else f=2147483647;vg(Ma,f,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[oa+12>>2];c[b>>2]=c[oa>>2];d=oa+4|0;c[b+4>>2]=c[d>>2];La=oa+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[oa>>2]=0;c[e>>2]=b+16;wg(v,Ma);xg(Ma)}fg(oa);og(qa);f=l;break a}case 85:{f=b+1|0;if((f|0)==(d|0)){f=b;break a}g=Ng(f,d,e)|0;if((g|0)==(f|0)){f=b;break a}f=sg(g,d,e)|0;if((f|0)==(g|0)){f=b;break a}m=e+4|0;g=c[m>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Jg(ia,g+-24|0);g=c[m>>2]|0;h=g+-24|0;j=g;do{b=j+-24|0;c[m>>2]=b;eg(b);j=c[m>>2]|0}while((j|0)!=(h|0));b=g+-48|0;La=a[b>>0]|0;d=(La&1)==0;La=d?(La&255)>>>1:c[g+-44>>2]|0;Dg(G,d?b+1|0:c[g+-40>>2]|0,La>>>0<9?La:9);La=a[G>>0]|0;b=(La&1)==0;La=b?(La&255)>>>1:c[G+4>>2]|0;d=La>>>0>9;b=Ti(b?G+1|0:c[G+8>>2]|0,19756,d?9:La)|0;og(G);g=(c[m>>2]|0)+-24|0;if(!(((b|0)==0?(La>>>0<9?-1:d&1):b)|0)){Jg(ca,g);h=c[m>>2]|0;g=h+-24|0;do{b=h+-24|0;c[m>>2]=b;eg(b);h=c[m>>2]|0}while((h|0)!=(g|0));b=a[ca>>0]|0;d=(b&1)==0;g=ca+8|0;h=ca+1|0;La=d?h:c[g>>2]|0;j=ca+4|0;b=Ng(La+9|0,La+(d?(b&255)>>>1:c[j>>2]|0)|0,e)|0;if((b|0)==(((a[ca>>0]&1)==0?h:c[g>>2]|0)+9|0)){Og(aa,ia,19716);b=a[ca>>0]|0;d=(b&1)==0;g=gg(aa,d?h:c[g>>2]|0,d?(b&255)>>>1:c[j>>2]|0)|0;c[$>>2]=c[g>>2];c[$+4>>2]=c[g+4>>2];c[$+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;Pg(_,$);g=c[m>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Ig(g,_);c[m>>2]=(c[m>>2]|0)+24}else{j=c[e>>2]|0;b=g-j|0;l=(b|0)/24|0;k=l+1|0;if((b|0)<-24)ug(e);g=(h-j|0)/24|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?k:g}else g=2147483647;zg(Ma,g,l,e+12|0);b=Ma+8|0;d=c[b>>2]|0;Ig(d,_);c[b>>2]=d+24;Bg(e,Ma);Ag(Ma)}eg(_);og($);og(aa)}else{b=(c[m>>2]|0)+-24|0;Og(T,ia,19766);Jg(U,(c[m>>2]|0)+-24|0);d=a[U>>0]|0;La=(d&1)==0;d=gg(T,La?U+1|0:c[U+8>>2]|0,La?(d&255)>>>1:c[U+4>>2]|0)|0;c[S>>2]=c[d>>2];c[S+4>>2]=c[d+4>>2];c[S+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=rg(S,19768)|0;c[R>>2]=c[d>>2];c[R+4>>2]=c[d+4>>2];c[R+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Pg(Q,R);Qg(b,Q);eg(Q);og(R);og(S);og(U);og(T)}og(ca)}else{Og(K,ia,19716);Jg(L,(c[m>>2]|0)+-24|0);b=a[L>>0]|0;d=(b&1)==0;b=gg(K,d?L+1|0:c[L+8>>2]|0,d?(b&255)>>>1:c[L+4>>2]|0)|0;c[J>>2]=c[b>>2];c[J+4>>2]=c[b+4>>2];c[J+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Pg(I,J);Qg(g,I);eg(I);og(J);og(L);og(K)}l=(c[m>>2]|0)+-24|0;c[ba>>2]=c[e+12>>2];Kg(ha,l,ba);l=e+16|0;g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[ha+12>>2];c[h>>2]=c[ha>>2];Ma=ha+4|0;c[h+4>>2]=c[Ma>>2];e=ha+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[ha>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)ug(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;vg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[ha+12>>2];c[b>>2]=c[ha>>2];d=ha+4|0;c[b+4>>2]=c[d>>2];La=ha+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[ha>>2]=0;c[e>>2]=b+16;wg(l,Ma);xg(Ma)}fg(ha);og(ia);break a}case 83:{La=b+1|0;if((La|0)!=(d|0)?(a[La>>0]|0)==116:0){f=Rg(b,d,e)|0;if((f|0)==(b|0)){f=b;break a}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[B>>2]=c[e+12>>2];Kg(M,g+-24|0,B);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[M+12>>2];c[h>>2]=c[M>>2];Ma=M+4|0;c[h+4>>2]=c[Ma>>2];e=M+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[M>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)ug(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;vg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[M+12>>2];c[b>>2]=c[M>>2];d=M+4|0;c[b+4>>2]=c[d>>2];La=M+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[M>>2]=0;c[e>>2]=b+16;wg(l,Ma);xg(Ma)}fg(M);break a}f=Sg(b,d,e)|0;if((f|0)==(b|0)){f=b;break a}l=Mg(f,d,e)|0;if((l|0)==(f|0))break a;j=e+4|0;g=c[j>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0<2)break a;Jg(W,g+-24|0);f=c[j>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[j>>2]=b;eg(b);h=c[j>>2]|0}while((h|0)!=(g|0));k=a[W>>0]|0;g=(k&1)==0;gg(f+-48|0,g?W+1|0:c[W+8>>2]|0,g?(k&255)>>>1:c[W+4>>2]|0)|0;k=(c[j>>2]|0)+-24|0;c[F>>2]=c[e+12>>2];Kg(V,k,F);k=e+16|0;f=e+20|0;g=c[f>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g+12>>2]=c[V+12>>2];c[g>>2]=c[V>>2];Ma=V+4|0;c[g+4>>2]=c[Ma>>2];e=V+8|0;c[g+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[V>>2]=0;c[f>>2]=(c[f>>2]|0)+16}else{f=c[k>>2]|0;b=g-f|0;j=b>>4;g=j+1|0;if((b|0)<-16)ug(k);f=h-f|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?g:f}else f=2147483647;vg(Ma,f,j,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[V+12>>2];c[b>>2]=c[V>>2];d=V+4|0;c[b+4>>2]=c[d>>2];La=V+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[V>>2]=0;c[e>>2]=b+16;wg(k,Ma);xg(Ma)}fg(V);og(W);f=l;break a}case 68:{f=b+1|0;if((f|0)!=(d|0)){f=a[f>>0]|0;switch(f<<24>>24|0){case 112:{p=e+4|0;o=((c[p>>2]|0)-(c[e>>2]|0)|0)/24|0;Ia=b+2|0;f=sg(Ia,d,e)|0;p=((c[p>>2]|0)-(c[e>>2]|0)|0)/24|0;if((f|0)==(Ia|0))break b;m=e+16|0;n=c[e+12>>2]|0;q=e+20|0;g=c[q>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=n;c[q>>2]=(c[q>>2]|0)+16}else{j=c[m>>2]|0;Ia=g-j|0;l=Ia>>4;k=l+1|0;if((Ia|0)<-16)ug(m);g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;vg(Ma,g,l,e+28|0);Ia=Ma+8|0;Ha=c[Ia>>2]|0;c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;c[Ha+12>>2]=n;c[Ia>>2]=Ha+16;wg(m,Ma);xg(Ma)}n=Ma+8|0;if(o>>>0>=p>>>0)break a;while(1){j=c[q>>2]|0;k=j+-16|0;l=c[e>>2]|0;m=l+(o*24|0)|0;g=j+-12|0;h=c[g>>2]|0;if((h|0)==(c[j+-8>>2]|0)){Ia=h-(c[k>>2]|0)|0;h=(Ia|0)/24|0;g=h+1|0;if((Ia|0)<-24){f=k;break}if(h>>>0<1073741823){Ia=h<<1;g=Ia>>>0>>0?g:Ia}else g=2147483647;zg(Ma,g,h,j+-4|0);Ia=c[n>>2]|0;yg(Ia,m);yg(Ia+12|0,l+(o*24|0)+12|0);c[n>>2]=Ia+24;Bg(k,Ma);Ag(Ma)}else{yg(h,m);yg(h+12|0,l+(o*24|0)+12|0);c[g>>2]=(c[g>>2]|0)+24}o=o+1|0;if(o>>>0>=p>>>0)break a}ug(f);break}case 84:case 116:{f=Tg(b,d,e)|0;if((f|0)==(b|0))break b;g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[E>>2]=c[e+12>>2];Kg(P,g+-24|0,E);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[P+12>>2];c[h>>2]=c[P>>2];Ma=P+4|0;c[h+4>>2]=c[Ma>>2];e=P+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[P>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)ug(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;vg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[P+12>>2];c[b>>2]=c[P>>2];d=P+4|0;c[b+4>>2]=c[d>>2];La=P+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[P>>2]=0;c[e>>2]=b+16;wg(l,Ma);xg(Ma)}fg(P);break a}case 118:{g:do if((d-b|0)>3&g<<24>>24==68&f<<24>>24==118){j=b+2|0;f=a[j>>0]|0;if((f+-49&255)<9){f=Fg(j,d)|0;if((f|0)==(d|0)){f=b;break}if((a[f>>0]|0)!=95){f=b;break}h=f-j|0;g=f+1|0;if((g|0)==(d|0)){f=b;break}if((a[g>>0]|0)!=112){f=sg(g,d,e)|0;if((f|0)==(g|0)){f=b;break}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break}Dg(na,j,h);Ha=qg(na,0,19770)|0;c[ma>>2]=c[Ha>>2];c[ma+4>>2]=c[Ha+4>>2];c[ma+8>>2]=c[Ha+8>>2];c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;Ha=rg(ma,19693)|0;c[Ia>>2]=c[Ha>>2];c[Ia+4>>2]=c[Ha+4>>2];c[Ia+8>>2]=c[Ha+8>>2];c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;Ha=a[Ia>>0]|0;Ga=(Ha&1)==0;gg(g+-24|0,Ga?Ia+1|0:c[Ia+8>>2]|0,Ga?(Ha&255)>>>1:c[Ia+4>>2]|0)|0;og(Ia);og(ma);og(na);break}f=f+2|0;Dg(wa,j,h);g=qg(wa,0,19779)|0;c[Ha>>2]=c[g>>2];c[Ha+4>>2]=c[g+4>>2];c[Ha+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;g=rg(Ha,19693)|0;c[Ca>>2]=c[g>>2];c[Ca+4>>2]=c[g+4>>2];c[Ca+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;Pg(ra,Ca);g=e+4|0;h=c[g>>2]|0;j=c[e+8>>2]|0;if(h>>>0>>0){Ig(h,ra);c[g>>2]=(c[g>>2]|0)+24}else{g=c[e>>2]|0;Ia=h-g|0;k=(Ia|0)/24|0;h=k+1|0;if((Ia|0)<-24)ug(e);g=(j-g|0)/24|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?h:g}else g=2147483647;zg(Ma,g,k,e+12|0);Ia=Ma+8|0;Ga=c[Ia>>2]|0;Ig(Ga,ra);c[Ia>>2]=Ga+24;Bg(e,Ma);Ag(Ma)}eg(ra);og(Ca);og(Ha);og(wa);break}c[Fa>>2]=0;c[Fa+4>>2]=0;c[Fa+8>>2]=0;if(f<<24>>24!=95?(X=Hg(j,d,e)|0,(X|0)!=(j|0)):0){o=e+4|0;f=c[o>>2]|0;if((c[e>>2]|0)!=(f|0)){Jg(Da,f+-24|0);h:do if(!(a[Fa>>0]&1)){a[Fa+1>>0]=0;a[Fa>>0]=0}else{k=Fa+8|0;g=c[k>>2]|0;a[g>>0]=0;l=Fa+4|0;c[l>>2]=0;m=c[Fa>>2]|0;n=(m&-2)+-1|0;h=m&255;do if(!(h&1)){f=m>>>1&127;if((h&255)<22){tt(Fa+1|0,g|0,(m>>>1&127)+1|0)|0;nj(g);break}g=f+16&240;j=g+-1|0;if((j|0)==(n|0))break h;h=mj(g)|0;if(j>>>0<=n>>>0&(h|0)==0)break h;tt(h|0,Fa+1|0,(m>>>1&127)+1|0)|0;c[Fa>>2]=g|1;c[l>>2]=f;c[k>>2]=h;break h}else{a[Fa+1>>0]=0;nj(g);f=0}while(0);a[Fa>>0]=f<<1}while(0);c[Fa>>2]=c[Da>>2];c[Fa+4>>2]=c[Da+4>>2];c[Fa+8>>2]=c[Da+8>>2];c[Da>>2]=0;c[Da+4>>2]=0;c[Da+8>>2]=0;og(Da);g=c[o>>2]|0;f=g+-24|0;do{Ia=g+-24|0;c[o>>2]=Ia;eg(Ia);g=c[o>>2]|0}while((g|0)!=(f|0));f=X;Ga=521}}else{f=j;Ga=521}do if((Ga|0)==521){if((((f|0)!=(d|0)?(a[f>>0]|0)==95:0)?(Y=f+1|0,(Y|0)!=(d|0)):0)?(Z=sg(Y,d,e)|0,(Z|0)!=(Y|0)):0){f=c[e+4>>2]|0;if((c[e>>2]|0)==(f|0))break;Ug(xa,19770,Fa);Ia=rg(xa,19693)|0;c[Ea>>2]=c[Ia>>2];c[Ea+4>>2]=c[Ia+4>>2];c[Ea+8>>2]=c[Ia+8>>2];c[Ia>>2]=0;c[Ia+4>>2]=0;c[Ia+8>>2]=0;Ia=a[Ea>>0]|0;Ha=(Ia&1)==0;gg(f+-24|0,Ha?Ea+1|0:c[Ea+8>>2]|0,Ha?(Ia&255)>>>1:c[Ea+4>>2]|0)|0;og(Ea);og(xa);f=Z}else f=b;og(Fa);break g}while(0);og(Fa);f=b}else f=b;while(0);if((f|0)==(b|0))break b;g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[pa>>2]=c[e+12>>2];Kg(sa,g+-24|0,pa);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[sa+12>>2];c[h>>2]=c[sa>>2];Ma=sa+4|0;c[h+4>>2]=c[Ma>>2];e=sa+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[sa>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)ug(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;vg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[sa+12>>2];c[b>>2]=c[sa>>2];d=sa+4|0;c[b+4>>2]=c[d>>2];La=sa+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[sa>>2]=0;c[e>>2]=b+16;wg(l,Ma);xg(Ma)}fg(sa);break a}default:break b}}break}default:{}}while(0);f=Cg(b,d,e)|0;if((f|0)==(b|0)){f=Rg(b,d,e)|0;if((f|0)!=(b|0)?(Ja=c[e+4>>2]|0,(c[e>>2]|0)!=(Ja|0)):0){l=e+16|0;c[Ka>>2]=c[e+12>>2];Kg(La,Ja+-24|0,Ka);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[La+12>>2];c[h>>2]=c[La>>2];Ma=La+4|0;c[h+4>>2]=c[Ma>>2];e=La+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[La>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)ug(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;vg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[La+12>>2];c[b>>2]=c[La>>2];d=La+4|0;c[b+4>>2]=c[d>>2];Ka=La+8|0;c[b+8>>2]=c[Ka>>2];c[Ka>>2]=0;c[d>>2]=0;c[La>>2]=0;c[e>>2]=b+16;wg(l,Ma);xg(Ma)}fg(La)}else f=b}}else f=g}else f=b;while(0);i=Na;return f|0}function tg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[e>>2]=0;if((b|0)!=(d|0)){d=a[b>>0]|0;if(d<<24>>24==114){c[e>>2]=4;d=b+1|0;b=d;d=a[d>>0]|0;f=4}else f=0;if(d<<24>>24==86){f=f|2;c[e>>2]=f;d=b+1|0;b=d;d=a[d>>0]|0}if(d<<24>>24==75){c[e>>2]=f|1;b=b+1|0}}return b|0}function ug(a){a=a|0;Da(21369,21392,303,19378)}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+12>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=ph(c[e>>2]|0,b<<4)|0;c[a>>2]=e;d=e+(d<<4)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[a+12>>2]=e+(b<<4);return}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[a>>2]|0;f=a+4|0;d=c[f>>2]|0;g=b+4|0;if((d|0)!=(e|0))do{j=c[g>>2]|0;h=j+-16|0;i=d;d=d+-16|0;c[h>>2]=0;k=j+-12|0;c[k>>2]=0;l=c[i+-4>>2]|0;c[j+-8>>2]=0;c[j+-4>>2]=l;c[h>>2]=c[d>>2];h=i+-12|0;c[k>>2]=c[h>>2];i=i+-8|0;c[j+-8>>2]=c[i>>2];c[i>>2]=0;c[h>>2]=0;c[d>>2]=0;c[g>>2]=(c[g>>2]|0)+-16}while((d|0)!=(e|0));j=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=j;j=b+8|0;l=c[f>>2]|0;c[f>>2]=c[j>>2];c[j>>2]=l;j=a+8|0;l=b+12|0;k=c[j>>2]|0;c[j>>2]=c[l>>2];c[l>>2]=k;c[b>>2]=c[g>>2];return}function xg(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+4>>2]|0;e=a+8|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{f=b+-16|0;c[e>>2]=f;fg(f);b=c[e>>2]|0}while((b|0)!=(d|0));b=c[a>>2]|0;if(b)mg(c[c[a+16>>2]>>2]|0,b,(c[a+12>>2]|0)-b|0);return}function yg(b,d){b=b|0;d=d|0;if(!(a[d>>0]&1)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}else Dg(b,c[d+8>>2]|0,c[d+4>>2]|0);return}function zg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+12>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=ph(c[e>>2]|0,b*24|0)|0;c[a>>2]=e;d=e+(d*24|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[a+12>>2]=e+(b*24|0);return}function Ag(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+4>>2]|0;e=a+8|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{f=b+-24|0;c[e>>2]=f;eg(f);b=c[e>>2]|0}while((b|0)!=(d|0));b=c[a>>2]|0;if(b)mg(c[c[a+16>>2]>>2]|0,b,(c[a+12>>2]|0)-b|0);return}function Bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[a>>2]|0;f=a+4|0;d=c[f>>2]|0;g=b+4|0;if((d|0)!=(e|0))do{d=d+-24|0;Ig((c[g>>2]|0)+-24|0,d);c[g>>2]=(c[g>>2]|0)+-24}while((d|0)!=(e|0));e=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=e;e=b+8|0;d=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=d;e=a+8|0;a=b+12|0;f=c[e>>2]|0;c[e>>2]=c[a>>2];c[a>>2]=f;c[b>>2]=c[g>>2];return} +function hh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+1136|0;ba=ca+1104|0;j=ca+1080|0;k=ca+1056|0;v=ca+1032|0;G=ca+1008|0;R=ca+984|0;Y=ca+960|0;Z=ca+936|0;_=ca+912|0;$=ca+888|0;aa=ca+864|0;l=ca+840|0;m=ca+816|0;n=ca+792|0;o=ca+768|0;p=ca+744|0;q=ca+720|0;r=ca+696|0;s=ca+672|0;t=ca+648|0;u=ca+624|0;w=ca+600|0;x=ca+576|0;y=ca+552|0;z=ca+528|0;A=ca+504|0;B=ca+480|0;C=ca+456|0;D=ca+432|0;E=ca+408|0;F=ca+384|0;H=ca+360|0;I=ca+336|0;J=ca+312|0;K=ca+288|0;L=ca+264|0;M=ca+240|0;N=ca+216|0;O=ca+192|0;P=ca+168|0;Q=ca+144|0;S=ca+120|0;T=ca+96|0;U=ca+72|0;V=ca+48|0;W=ca+24|0;X=ca;a:do if((d-b|0)>1)do switch(a[b>>0]|0){case 97:switch(a[b+1>>0]|0){case 97:{ih(j,19939);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,j);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,j);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(j);d=b+2|0;break a}case 110:case 100:{jh(k,19950);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,k);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,k);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(k);d=b+2|0;break a}case 78:{ih(v,19960);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,v);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,v);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(v);d=b+2|0;break a}case 83:{jh(G,19971);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,G);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,G);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(G);d=b+2|0;break a}default:{d=b;break a}}case 99:switch(a[b+1>>0]|0){case 108:{ih(R,19981);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,R);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,R);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(R);d=b+2|0;break a}case 109:{jh(Y,19992);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,Y);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,Y);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(Y);d=b+2|0;break a}case 111:{jh(Z,20002);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,Z);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,Z);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(Z);d=b+2|0;break a}case 118:{aa=e+63|0;$=a[aa>>0]|0;a[aa>>0]=0;ba=b+2|0;d=sg(ba,d,e)|0;a[aa>>0]=$;if((d|0)==(ba|0)){d=b;break a}f=c[e+4>>2]|0;if((c[e>>2]|0)==(f|0)){d=b;break a}qg(f+-24|0,0,20012)|0;a[e+60>>0]=1;break a}default:{d=b;break a}}case 100:switch(a[b+1>>0]|0){case 97:{Xg(_,20022);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,_);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,_);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(_);d=b+2|0;break a}case 101:{jh($,20040);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,$);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;_=c[aa>>2]|0;Ig(_,$);c[aa>>2]=_+24;Bg(e,ba);Ag(ba)}eg($);d=b+2|0;break a}case 108:{d=mj(16)|0;c[aa+8>>2]=d;c[aa>>2]=17;c[aa+4>>2]=15;f=d;g=20050;h=f+15|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[d+15>>0]=0;d=aa+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,aa);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;$=f-d|0;h=($|0)/24|0;f=h+1|0;if(($|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);$=ba+8|0;_=c[$>>2]|0;Ig(_,aa);c[$>>2]=_+24;Bg(e,ba);Ag(ba)}eg(aa);d=b+2|0;break a}case 118:{jh(l,20066);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,l);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,l);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(l);d=b+2|0;break a}case 86:{ih(m,20076);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,m);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,m);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(m);d=b+2|0;break a}default:{d=b;break a}}case 101:switch(a[b+1>>0]|0){case 111:{jh(n,20087);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,n);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,n);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(n);d=b+2|0;break a}case 79:{ih(o,20097);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,o);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,o);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(o);d=b+2|0;break a}case 113:{ih(p,20108);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,p);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,p);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(p);d=b+2|0;break a}default:{d=b;break a}}case 103:switch(a[b+1>>0]|0){case 101:{ih(q,20119);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,q);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,q);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(q);d=b+2|0;break a}case 116:{jh(r,20130);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,r);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,r);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(r);d=b+2|0;break a}default:{d=b;break a}}case 105:{if((a[b+1>>0]|0)!=120){d=b;break a}ih(s,20140);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,s);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,s);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(s);d=b+2|0;break a}case 108:switch(a[b+1>>0]|0){case 101:{ih(t,20151);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,t);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,t);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(t);d=b+2|0;break a}case 105:{ba=b+2|0;d=Ng(ba,d,e)|0;if((d|0)==(ba|0)){d=b;break a}f=c[e+4>>2]|0;if((c[e>>2]|0)==(f|0)){d=b;break a}qg(f+-24|0,0,20162)|0;break a}case 115:{ih(u,20174);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,u);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,u);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(u);d=b+2|0;break a}case 83:{Yg(w,20185);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,w);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,w);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(w);d=b+2|0;break a}case 116:{jh(x,20197);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,x);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,x);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(x);d=b+2|0;break a}default:{d=b;break a}}case 109:switch(a[b+1>>0]|0){case 105:{jh(y,20207);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,y);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,y);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(y);d=b+2|0;break a}case 73:{ih(z,20217);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,z);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,z);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(z);d=b+2|0;break a}case 108:{jh(A,20040);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,A);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,A);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(A);d=b+2|0;break a}case 76:{ih(B,20228);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,B);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,B);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(B);d=b+2|0;break a}case 109:{ih(C,20239);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,C);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,C);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(C);d=b+2|0;break a}default:{d=b;break a}}case 110:switch(a[b+1>>0]|0){case 97:{Wg(D,20250);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,D);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,D);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(D);d=b+2|0;break a}case 101:{ih(E,20265);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,E);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,E);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(E);d=b+2|0;break a}case 103:{jh(F,20207);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,F);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,F);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(F);d=b+2|0;break a}case 116:{jh(H,20276);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,H);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,H);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(H);d=b+2|0;break a}case 119:{Zg(I,20286);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,I);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,I);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(I);d=b+2|0;break a}default:{d=b;break a}}case 111:switch(a[b+1>>0]|0){case 111:{ih(J,20299);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,J);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,J);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(J);d=b+2|0;break a}case 114:{jh(K,20310);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,K);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,K);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(K);d=b+2|0;break a}case 82:{ih(L,20320);d=e+4|0;f=c[d>>2]|0;h=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,L);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;g=(aa|0)/24|0;f=g+1|0;if((aa|0)<-24)ug(e);d=(h-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,g,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,L);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(L);d=b+2|0;break a}default:{d=b;break a}}case 112:switch(a[b+1>>0]|0){case 109:{Yg(M,20331);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,M);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,M);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(M);d=b+2|0;break a}case 108:{jh(N,20343);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,N);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,N);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(N);d=b+2|0;break a}case 76:{ih(O,20353);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,O);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,O);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(O);d=b+2|0;break a}case 112:{ih(P,20364);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,P);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,P);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(P);d=b+2|0;break a}case 115:{jh(Q,20343);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,Q);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,Q);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(Q);d=b+2|0;break a}case 116:{ih(S,20375);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,S);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,S);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(S);d=b+2|0;break a}default:{d=b;break a}}case 113:{if((a[b+1>>0]|0)!=117){d=b;break a}jh(T,20386);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,T);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,T);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(T);d=b+2|0;break a}case 114:switch(a[b+1>>0]|0){case 109:{jh(U,20396);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,U);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,U);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(U);d=b+2|0;break a}case 77:{ih(V,20406);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,V);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,V);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(V);d=b+2|0;break a}case 115:{ih(W,20417);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,W);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,W);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(W);d=b+2|0;break a}case 83:{Yg(X,20428);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,X);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)ug(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;zg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Ig($,X);c[aa>>2]=$+24;Bg(e,ba);Ag(ba)}eg(X);d=b+2|0;break a}default:{d=b;break a}}case 118:{if(((a[b+1>>0]|0)+-48|0)>>>0>=10){d=b;break a}ba=b+2|0;d=Ng(ba,d,e)|0;if((d|0)==(ba|0)){d=b;break a}f=c[e+4>>2]|0;if((c[e>>2]|0)==(f|0)){d=b;break a}qg(f+-24|0,0,20012)|0;break a}default:{d=b;break a}}while(0);else d=b;while(0);i=ca;return d|0}function ih(b,d){b=b|0;d=d|0;var e=0,f=0;a[b>>0]=20;f=b+1|0;e=f+10|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));a[b+11>>0]=0;f=b+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;return}function jh(b,d){b=b|0;d=d|0;var e=0,f=0;a[b>>0]=18;f=b+1|0;e=f+9|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));a[b+10>>0]=0;f=b+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;return}function kh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((b|0)!=(c|0))switch(a[b>>0]|0){case 88:{f=b+1|0;e=Hg(f,c,d)|0;if((e|0)==(f|0)|(e|0)==(c|0))break a;b=(a[e>>0]|0)==69?e+1|0:b;break a}case 74:{e=b+1|0;if((e|0)==(c|0))break a;while(1){if((a[e>>0]|0)==69){b=e;break}f=e;e=kh(e,c,d)|0;if((e|0)==(f|0))break a}b=b+1|0;break a}case 76:{f=b+1|0;if((f|0)!=(c|0)?(a[f>>0]|0)==90:0){f=b+2|0;e=pg(f,c,d)|0;if((e|0)==(f|0)|(e|0)==(c|0))break a;return ((a[e>>0]|0)==69?e+1|0:b)|0}b=lh(b,c,d)|0;break a}default:{b=sg(b,c,d)|0;break a}}while(0);return b|0}function lh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+480|0;I=N+72|0;H=N+48|0;G=N+24|0;K=N;J=N+432|0;L=N+408|0;M=N+396|0;r=N+384|0;y=N+360|0;z=N+336|0;s=N+320|0;t=N+308|0;u=N+296|0;v=N+284|0;f=N+272|0;j=N+260|0;k=N+248|0;l=N+236|0;m=N+224|0;n=N+212|0;o=N+200|0;p=N+188|0;q=N+176|0;A=N+152|0;B=N+140|0;C=N+128|0;D=N+116|0;E=N+104|0;F=N+92|0;x=d;a:do if((x-b|0)>3?(a[b>>0]|0)==76:0){w=b+1|0;do switch(a[w>>0]|0){case 84:break a;case 119:{M=b+2|0;Dg(r,20754,7);e=mh(M,d,r,e)|0;og(r);b=(e|0)==(M|0)?b:e;break a}case 98:{if((a[b+3>>0]|0)!=69)break a;switch(a[b+2>>0]|0){case 48:{nh(y,28616);f=e+4|0;j=c[f>>2]|0;k=c[e+8>>2]|0;if(j>>>0>>0){Ig(j,y);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;M=j-f|0;l=(M|0)/24|0;j=l+1|0;if((M|0)<-24)ug(e);f=(k-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f}else f=2147483647;zg(K,f,l,e+12|0);M=K+8|0;L=c[M>>2]|0;Ig(L,y);c[M>>2]=L+24;Bg(e,K);Ag(K)}eg(y);b=b+4|0;break a}case 49:{oh(z,28611);f=e+4|0;j=c[f>>2]|0;k=c[e+8>>2]|0;if(j>>>0>>0){Ig(j,z);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;M=j-f|0;l=(M|0)/24|0;j=l+1|0;if((M|0)<-24)ug(e);f=(k-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f}else f=2147483647;zg(K,f,l,e+12|0);M=K+8|0;L=c[M>>2]|0;Ig(L,z);c[M>>2]=L+24;Bg(e,K);Ag(K)}eg(z);b=b+4|0;break a}default:break a}}case 99:{M=b+2|0;Dg(s,20762,4);e=mh(M,d,s,e)|0;og(s);b=(e|0)==(M|0)?b:e;break a}case 97:{M=b+2|0;Dg(t,20767,11);e=mh(M,d,t,e)|0;og(t);b=(e|0)==(M|0)?b:e;break a}case 104:{M=b+2|0;Dg(u,20779,13);e=mh(M,d,u,e)|0;og(u);b=(e|0)==(M|0)?b:e;break a}case 115:{M=b+2|0;Dg(v,20793,5);e=mh(M,d,v,e)|0;og(v);b=(e|0)==(M|0)?b:e;break a}case 116:{M=b+2|0;Dg(f,20799,14);e=mh(M,d,f,e)|0;og(f);b=(e|0)==(M|0)?b:e;break a}case 105:{M=b+2|0;Dg(j,28522,0);e=mh(M,d,j,e)|0;og(j);b=(e|0)==(M|0)?b:e;break a}case 106:{M=b+2|0;Dg(k,20814,1);e=mh(M,d,k,e)|0;og(k);b=(e|0)==(M|0)?b:e;break a}case 108:{M=b+2|0;Dg(l,28517,1);e=mh(M,d,l,e)|0;og(l);b=(e|0)==(M|0)?b:e;break a}case 109:{M=b+2|0;Dg(m,20816,2);e=mh(M,d,m,e)|0;og(m);b=(e|0)==(M|0)?b:e;break a}case 120:{M=b+2|0;Dg(n,28519,2);e=mh(M,d,n,e)|0;og(n);b=(e|0)==(M|0)?b:e;break a}case 121:{M=b+2|0;Dg(o,20819,3);e=mh(M,d,o,e)|0;og(o);b=(e|0)==(M|0)?b:e;break a}case 110:{M=b+2|0;Dg(p,20823,8);e=mh(M,d,p,e)|0;og(p);b=(e|0)==(M|0)?b:e;break a}case 111:{M=b+2|0;Dg(q,20832,17);e=mh(M,d,q,e)|0;og(q);b=(e|0)==(M|0)?b:e;break a}case 102:{o=b+2|0;b:do if((x-o|0)>>>0>8){m=b+10|0;j=a[o>>0]|0;k=b;f=K;n=o;while(1){if(!(Ih(j<<24>>24)|0)){f=o;break b}l=a[n>>0]|0;k=a[k+3>>0]|0;a[f>>0]=(((k<<24>>24)+-48|0)>>>0<10?208:169)+(k&255)+(((l+-48|0)>>>0<10?0:9)+l<<4);l=n+2|0;k=f+1|0;j=a[l>>0]|0;if((l|0)==(m|0))break;else{I=n;f=k;n=l;k=I}}if(j<<24>>24==69){if((K|0)!=(k|0)&K>>>0>>0){j=K;do{I=a[j>>0]|0;a[j>>0]=a[f>>0]|0;a[f>>0]=I;j=j+1|0;f=f+-1|0}while(j>>>0>>0)}f=J;j=f+24|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(j|0));h[G>>3]=+g[K>>2];f=Hi(J,24,20850,G)|0;if(f>>>0<=23){Dg(M,J,f);Pg(L,M);f=e+4|0;j=c[f>>2]|0;k=c[e+8>>2]|0;if(j>>>0>>0){Ig(j,L);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;K=j-f|0;l=(K|0)/24|0;j=l+1|0;if((K|0)<-24)ug(e);f=(k-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f}else f=2147483647;zg(G,f,l,e+12|0);K=G+8|0;J=c[K>>2]|0;Ig(J,L);c[K>>2]=J+24;Bg(e,G);Ag(G)}eg(L);og(M);f=b+11|0}else f=o}else f=o}else f=o;while(0);b=(f|0)==(o|0)?b:f;break a}case 100:{o=b+2|0;c:do if((x-o|0)>>>0>16){m=b+18|0;j=a[o>>0]|0;k=b;f=K;n=o;while(1){if(!(Ih(j<<24>>24)|0)){f=o;break c}l=a[n>>0]|0;k=a[k+3>>0]|0;a[f>>0]=(((k<<24>>24)+-48|0)>>>0<10?208:169)+(k&255)+(((l+-48|0)>>>0<10?0:9)+l<<4);l=n+2|0;k=f+1|0;j=a[l>>0]|0;if((l|0)==(m|0))break;else{I=n;f=k;n=l;k=I}}if(j<<24>>24==69){if((K|0)!=(k|0)&K>>>0>>0){j=K;do{I=a[j>>0]|0;a[j>>0]=a[f>>0]|0;a[f>>0]=I;j=j+1|0;f=f+-1|0}while(j>>>0>>0)}f=J;j=f+32|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(j|0));h[H>>3]=+h[K>>3];f=Hi(J,32,20854,H)|0;if(f>>>0<=31){Dg(M,J,f);Pg(L,M);f=e+4|0;j=c[f>>2]|0;k=c[e+8>>2]|0;if(j>>>0>>0){Ig(j,L);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;K=j-f|0;l=(K|0)/24|0;j=l+1|0;if((K|0)<-24)ug(e);f=(k-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f}else f=2147483647;zg(H,f,l,e+12|0);K=H+8|0;J=c[K>>2]|0;Ig(J,L);c[K>>2]=J+24;Bg(e,H);Ag(H)}eg(L);og(M);f=b+19|0}else f=o}else f=o}else f=o;while(0);b=(f|0)==(o|0)?b:f;break a}case 101:{o=b+2|0;d:do if((x-o|0)>>>0>20){m=b+22|0;j=a[o>>0]|0;k=b;f=K;n=o;while(1){if(!(Ih(j<<24>>24)|0)){f=o;break d}l=a[n>>0]|0;k=a[k+3>>0]|0;a[f>>0]=(((k<<24>>24)+-48|0)>>>0<10?208:169)+(k&255)+(((l+-48|0)>>>0<10?0:9)+l<<4);l=n+2|0;k=f+1|0;j=a[l>>0]|0;if((l|0)==(m|0))break;else{H=n;f=k;n=l;k=H}}if(j<<24>>24==69){if((K|0)!=(k|0)&K>>>0>>0){j=K;do{H=a[j>>0]|0;a[j>>0]=a[f>>0]|0;a[f>>0]=H;j=j+1|0;f=f+-1|0}while(j>>>0>>0)}f=J;j=f+40|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(j|0));h[I>>3]=+h[K>>3];f=Hi(J,40,20857,I)|0;if(f>>>0>39){f=o;break}Dg(M,J,f);Pg(L,M);f=e+4|0;j=c[f>>2]|0;k=c[e+8>>2]|0;if(j>>>0>>0){Ig(j,L);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;K=j-f|0;l=(K|0)/24|0;j=l+1|0;if((K|0)<-24)ug(e);f=(k-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f}else f=2147483647;zg(I,f,l,e+12|0);K=I+8|0;J=c[K>>2]|0;Ig(J,L);c[K>>2]=J+24;Bg(e,I);Ag(I)}eg(L);og(M);f=b+23|0}else f=o}else f=o;while(0);b=(f|0)==(o|0)?b:f;break a}case 95:{if((a[b+2>>0]|0)!=90)break a;M=b+3|0;f=pg(M,d,e)|0;if((f|0)==(M|0)|(f|0)==(d|0))break a;i=N;return ((a[f>>0]|0)==69?f+1|0:b)|0}default:{n=sg(w,d,e)|0;if((n|0)==(w|0)|(n|0)==(d|0))break a;if((a[n>>0]|0)==69){b=n+1|0;break a}if((n|0)==(d|0))break a;else j=n;while(1){f=a[j>>0]|0;if(((f<<24>>24)+-48|0)>>>0>=10){m=j;break}j=j+1|0;if((j|0)==(d|0))break a}if(!((m|0)!=(n|0)&f<<24>>24==69))break a;f=c[e+4>>2]|0;if((c[e>>2]|0)==(f|0))break a;j=f+-24|0;Jg(E,j);k=qg(E,0,19704)|0;c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;k=rg(D,19609)|0;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;k=m-n|0;if(k>>>0>4294967279)nf(F);if(k>>>0<11){a[F>>0]=k<<1;l=F+1|0}else{e=k+16&-16;l=mj(e)|0;c[F+8>>2]=l;c[F>>2]=e|1;c[F+4>>2]=k}if((n|0)!=(m|0)){b=n;f=l;while(1){a[f>>0]=a[b>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else f=f+1|0}}a[l+k>>0]=0;b=a[F>>0]|0;e=(b&1)==0;b=gg(C,e?F+1|0:c[F+8>>2]|0,e?(b&255)>>>1:c[F+4>>2]|0)|0;c[B>>2]=c[b>>2];c[B+4>>2]=c[b+4>>2];c[B+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Pg(A,B);Qg(j,A);eg(A);og(B);og(F);og(C);og(D);og(E);b=m+1|0;break a}}while(0)}while(0);i=N;return b|0}function mh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;n=q+48|0;k=q+24|0;l=q+12|0;m=q;p=Fg(b,d)|0;if(!((p|0)==(b|0)|(p|0)==(d|0))?(a[p>>0]|0)==69:0){j=a[e>>0]|0;o=e+4|0;do if(((j&1)==0?(j&255)>>>1:c[o>>2]|0)>>>0>3){Ug(m,19704,e);d=rg(m,19609)|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Pg(k,l);d=f+4|0;g=c[d>>2]|0;h=c[f+8>>2]|0;if(g>>>0>>0){Ig(g,k);c[d>>2]=(c[d>>2]|0)+24}else{d=c[f>>2]|0;r=g-d|0;j=(r|0)/24|0;g=j+1|0;if((r|0)<-24)ug(f);d=(h-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?g:d}else d=2147483647;zg(n,d,j,f+12|0);r=n+8|0;j=c[r>>2]|0;Ig(j,k);c[r>>2]=j+24;Bg(f,n);Ag(n)}eg(k);og(l);og(m)}else{d=f+4|0;g=c[d>>2]|0;h=c[f+8>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;r=g+12|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[d>>2]=(c[d>>2]|0)+24;break}d=c[f>>2]|0;r=g-d|0;j=(r|0)/24|0;g=j+1|0;if((r|0)<-24)ug(f);d=(h-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?g:d}else d=2147483647;zg(n,d,j,f+12|0);r=n+8|0;m=c[r>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;l=m+12|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[r>>2]=m+24;Bg(f,n);Ag(n)}while(0);g=f+4|0;if((a[b>>0]|0)==110){fh((c[g>>2]|0)+-24|0,45);b=b+1|0}eh((c[g>>2]|0)+-24|0,b,p);b=a[e>>0]|0;d=(b&1)==0;b=d?(b&255)>>>1:c[o>>2]|0;if(b>>>0<4)gg((c[g>>2]|0)+-24|0,d?e+1|0:c[e+8>>2]|0,b)|0;b=p+1|0}i=q;return b|0}function nh(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=10;e=b+1|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;a[e+3>>0]=a[d+3>>0]|0;a[e+4>>0]=a[d+4>>0]|0;a[b+6>>0]=0;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function oh(b,e){b=b|0;e=e|0;var f=0;a[b>>0]=8;f=b+1|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;a[b+5>>0]=0;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function ph(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+15&-16;e=a+4096|0;b=c[e>>2]|0;if((a+4096-b|0)>>>0>>0)b=mj(d)|0;else c[e>>2]=b+d;return b|0}function qh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+128|0;q=r+108|0;f=r+104|0;n=r+80|0;o=r+64|0;p=r+52|0;g=r+48|0;j=r+24|0;k=r+12|0;l=r;a:do if((d-b|0)>2?(a[b>>0]|0)==102:0){switch(a[b+1>>0]|0){case 112:{f=tg(b+2|0,d,f)|0;h=Fg(f,d)|0;if((h|0)==(d|0))break a;if((a[h>>0]|0)!=95)break a;g=h-f|0;if(g>>>0>4294967279)nf(p);if(g>>>0<11){a[p>>0]=g<<1;d=p+1|0}else{m=g+16&-16;d=mj(m)|0;c[p+8>>2]=d;c[p>>2]=m|1;c[p+4>>2]=g}if((f|0)!=(h|0)){b=f;f=d;while(1){a[f>>0]=a[b>>0]|0;b=b+1|0;if((b|0)==(h|0))break;else f=f+1|0}}a[d+g>>0]=0;b=qg(p,0,21122)|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Pg(n,o);b=e+4|0;f=c[b>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,n);c[b>>2]=(c[b>>2]|0)+24}else{b=c[e>>2]|0;m=f-b|0;d=(m|0)/24|0;f=d+1|0;if((m|0)<-24)ug(e);b=(g-b|0)/24|0;if(b>>>0<1073741823){b=b<<1;b=b>>>0>>0?f:b}else b=2147483647;zg(q,b,d,e+12|0);m=q+8|0;l=c[m>>2]|0;Ig(l,n);c[m>>2]=l+24;Bg(e,q);Ag(q)}eg(n);og(o);og(p);b=h+1|0;break a}case 76:break;default:break a}f=Fg(b+2|0,d)|0;if((((f|0)!=(d|0)?(a[f>>0]|0)==112:0)?(h=tg(f+1|0,d,g)|0,m=Fg(h,d)|0,(m|0)!=(d|0)):0)?(a[m>>0]|0)==95:0){g=m-h|0;if(g>>>0>4294967279)nf(l);if(g>>>0<11){a[l>>0]=g<<1;d=l+1|0}else{p=g+16&-16;d=mj(p)|0;c[l+8>>2]=d;c[l>>2]=p|1;c[l+4>>2]=g}if((h|0)!=(m|0)){b=h;f=d;while(1){a[f>>0]=a[b>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else f=f+1|0}}a[d+g>>0]=0;b=qg(l,0,21122)|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Pg(j,k);b=e+4|0;f=c[b>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,j);c[b>>2]=(c[b>>2]|0)+24}else{b=c[e>>2]|0;p=f-b|0;d=(p|0)/24|0;f=d+1|0;if((p|0)<-24)ug(e);b=(g-b|0)/24|0;if(b>>>0<1073741823){b=b<<1;b=b>>>0>>0?f:b}else b=2147483647;zg(q,b,d,e+12|0);p=q+8|0;o=c[p>>2]|0;Ig(o,j);c[p>>2]=o+24;Bg(e,q);Ag(q)}eg(j);og(k);og(l);b=m+1|0}}while(0);i=r;return b|0}function rh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+96|0;r=s+84|0;q=s+72|0;k=s+60|0;l=s+48|0;m=s+36|0;n=s+24|0;o=s+12|0;p=s;g=Hg(b,d,f)|0;a:do if((g|0)!=(b|0)){d=Hg(g,d,f)|0;j=f+4|0;h=c[j>>2]|0;if((d|0)==(g|0)){g=h+-24|0;d=h;while(1){r=d+-24|0;c[j>>2]=r;eg(r);d=c[j>>2]|0;if((d|0)==(g|0)){d=b;break a}}}if(((h-(c[f>>2]|0)|0)/24|0)>>>0>=2){Jg(r,h+-24|0);g=c[j>>2]|0;h=g+-24|0;f=g;do{b=f+-24|0;c[j>>2]=b;eg(b);f=c[j>>2]|0}while((f|0)!=(h|0));Jg(q,g+-48|0);g=c[j>>2]|0;b=g+-24|0;if(!(a[b>>0]&1)){a[b+1>>0]=0;a[b>>0]=0}else{a[c[g+-16>>2]>>0]=0;c[g+-20>>2]=0}u=a[e>>0]|0;j=(u&1)==0;g=e+4|0;u=j?(u&255)>>>1:c[g>>2]|0;h=e+8|0;f=e+1|0;t=u>>>0>1;j=Ti(j?f:c[h>>2]|0,19768,t?1:u)|0;if(!(((j|0)==0?((u|0)==0?-1:t&1):j)|0))fh(b,40);Ug(p,19704,q);u=rg(p,20980)|0;c[o>>2]=c[u>>2];c[o+4>>2]=c[u+4>>2];c[o+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=a[e>>0]|0;t=(u&1)==0;u=gg(o,t?f:c[h>>2]|0,t?(u&255)>>>1:c[g>>2]|0)|0;c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=rg(n,19606)|0;c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=a[r>>0]|0;t=(u&1)==0;u=gg(m,t?r+1|0:c[r+8>>2]|0,t?(u&255)>>>1:c[r+4>>2]|0)|0;c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=rg(l,19609)|0;c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=a[k>>0]|0;t=(u&1)==0;gg(b,t?k+1|0:c[k+8>>2]|0,t?(u&255)>>>1:c[k+4>>2]|0)|0;og(k);og(l);og(m);og(n);og(o);og(p);e=a[e>>0]|0;u=(e&1)==0;e=u?(e&255)>>>1:c[g>>2]|0;t=e>>>0>1;u=Ti(u?f:c[h>>2]|0,19768,t?1:e)|0;if(!(((u|0)==0?((e|0)==0?-1:t&1):u)|0))fh(b,41);og(q);og(r)}else d=b}else d=b;while(0);i=s;return d|0}function sh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;p=s+24|0;q=s+12|0;r=s;d=Hg(b,d,f)|0;if((d|0)!=(b|0)?(g=f+4|0,h=c[g>>2]|0,(c[f>>2]|0)!=(h|0)):0){n=h+-24|0;Og(q,e,19704);Jg(r,(c[g>>2]|0)+-24|0);m=a[r>>0]|0;l=(m&1)==0;m=gg(q,l?r+1|0:c[r+8>>2]|0,l?(m&255)>>>1:c[r+4>>2]|0)|0;c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;m=rg(p,19609)|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;do if(a[n>>0]&1){m=h+-16|0;a[c[m>>2]>>0]=0;j=h+-20|0;c[j>>2]=0;f=a[n>>0]|0;if(!(f&1))h=10;else{h=c[n>>2]|0;f=h&255;h=(h&-2)+-1|0}if(!(f&1)){b=(f&255)>>>1;if((f&255)<22){e=10;k=b;l=1}else{e=(b+16&240)+-1|0;k=b;l=1}}else{e=10;k=0;l=0}if((e|0)!=(h|0)){if((e|0)==10){g=n+1|0;b=c[m>>2]|0;if(l){tt(g|0,b|0,((f&255)>>>1)+1|0)|0;nj(b)}else{a[g>>0]=a[b>>0]|0;nj(b)}a[n>>0]=k<<1;break}b=e+1|0;g=mj(b)|0;if(!(e>>>0<=h>>>0&(g|0)==0)){if(l)tt(g|0,n+1|0,((f&255)>>>1)+1|0)|0;else{l=c[m>>2]|0;a[g>>0]=a[l>>0]|0;nj(l)}c[n>>2]=b|1;c[j>>2]=k;c[m>>2]=g}}}else{a[n+1>>0]=0;a[n>>0]=0}while(0);c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;og(o);og(p);og(r);og(q)}else d=b;i=s;return d|0}function th(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+144|0;m=x+132|0;s=x+120|0;r=x+108|0;w=x+96|0;v=x+84|0;l=x+72|0;o=x+60|0;n=x+48|0;q=x+36|0;p=x+24|0;u=x+12|0;t=x;g=d;a:do if((g-b|0)>2){if((a[b>>0]|0)==103){j=(a[b+1>>0]|0)==115;k=j;j=j?b+2|0:b}else{k=0;j=b}f=uh(j,d,e)|0;if((f|0)!=(j|0)){if(!k)break;g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break}qg(g+-24|0,0,19892)|0;break}if(((g-j|0)>2?(a[j>>0]|0)==115:0)?(a[j+1>>0]|0)==114:0){h=j+2|0;if((a[h>>0]|0)==78){u=j+3|0;f=vh(u,d,e)|0;if((f|0)==(u|0)|(f|0)==(d|0)){f=b;break}j=Mg(f,d,e)|0;o=e+4|0;do if((j|0)==(f|0))n=e;else{f=c[o>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Jg(m,f+-24|0);f=c[o>>2]|0;g=f+-24|0;h=f;do{u=h+-24|0;c[o>>2]=u;eg(u);h=c[o>>2]|0}while((h|0)!=(g|0));u=a[m>>0]|0;t=(u&1)==0;gg(f+-48|0,t?m+1|0:c[m+8>>2]|0,t?(u&255)>>>1:c[m+4>>2]|0)|0;if((j|0)!=(d|0)){og(m);n=e;f=j;break}g=c[o>>2]|0;f=g+-24|0;do{e=g+-24|0;c[o>>2]=e;eg(e);g=c[o>>2]|0}while((g|0)!=(f|0));og(m);f=b;break a}while(0);k=r+8|0;l=r+1|0;m=r+4|0;if((a[f>>0]|0)!=69){g=f;while(1){f=wh(g,d,e)|0;if((f|0)==(g|0)|(f|0)==(d|0)){f=b;break a}g=c[o>>2]|0;if(((g-(c[n>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Jg(s,g+-24|0);g=c[o>>2]|0;h=g+-24|0;j=g;do{u=j+-24|0;c[o>>2]=u;eg(u);j=c[o>>2]|0}while((j|0)!=(h|0));u=qg(s,0,19892)|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=a[r>>0]|0;t=(u&1)==0;gg(g+-48|0,t?l:c[k>>2]|0,t?(u&255)>>>1:c[m>>2]|0)|0;og(r);og(s);if((a[f>>0]|0)==69)break;else g=f}}u=f+1|0;f=uh(u,d,e)|0;if((f|0)==(u|0)){f=c[o>>2]|0;if((c[n>>2]|0)==(f|0)){f=b;break}g=f+-24|0;while(1){e=f+-24|0;c[o>>2]=e;eg(e);f=c[o>>2]|0;if((f|0)==(g|0)){f=b;break a}}}g=c[o>>2]|0;if(((g-(c[n>>2]|0)|0)/24|0)>>>0<2){f=b;break}Jg(w,g+-24|0);g=c[o>>2]|0;h=g+-24|0;j=g;do{b=j+-24|0;c[o>>2]=b;eg(b);j=c[o>>2]|0}while((j|0)!=(h|0));b=qg(w,0,19892)|0;c[v>>2]=c[b>>2];c[v+4>>2]=c[b+4>>2];c[v+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[v>>0]|0;e=(b&1)==0;gg(g+-48|0,e?v+1|0:c[v+8>>2]|0,e?(b&255)>>>1:c[v+4>>2]|0)|0;og(v);og(w);break}g=vh(h,d,e)|0;if((g|0)!=(h|0)){k=Mg(g,d,e)|0;if((k|0)!=(g|0)){j=e+4|0;f=c[j>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break}Jg(l,f+-24|0);f=c[j>>2]|0;g=f+-24|0;h=f;do{w=h+-24|0;c[j>>2]=w;eg(w);h=c[j>>2]|0}while((h|0)!=(g|0));g=a[l>>0]|0;w=(g&1)==0;gg(f+-48|0,w?l+1|0:c[l+8>>2]|0,w?(g&255)>>>1:c[l+4>>2]|0)|0;og(l);g=k}f=uh(g,d,e)|0;if((f|0)==(g|0)){h=e+4|0;f=c[h>>2]|0;if((c[e>>2]|0)==(f|0)){f=b;break}g=f+-24|0;while(1){e=f+-24|0;c[h>>2]=e;eg(e);f=c[h>>2]|0;if((f|0)==(g|0)){f=b;break a}}}k=e+4|0;g=c[k>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break}Jg(o,g+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{b=j+-24|0;c[k>>2]=b;eg(b);j=c[k>>2]|0}while((j|0)!=(h|0));b=qg(o,0,19892)|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[n>>0]|0;e=(b&1)==0;gg(g+-48|0,e?n+1|0:c[n+8>>2]|0,e?(b&255)>>>1:c[n+4>>2]|0)|0;og(n);og(o);break}f=wh(h,d,e)|0;if(!((f|0)==(h|0)|(f|0)==(d|0))){if(k){g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==(h|0)){f=b;break}qg(h+-24|0,0,19892)|0;o=g;n=e}else{o=e+4|0;n=e}k=p+8|0;l=p+1|0;m=p+4|0;if((a[f>>0]|0)!=69)while(1){j=wh(f,d,e)|0;if((j|0)==(f|0)|(j|0)==(d|0)){f=b;break a}f=c[o>>2]|0;if(((f-(c[n>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Jg(q,f+-24|0);f=c[o>>2]|0;g=f+-24|0;h=f;do{w=h+-24|0;c[o>>2]=w;eg(w);h=c[o>>2]|0}while((h|0)!=(g|0));w=qg(q,0,19892)|0;c[p>>2]=c[w>>2];c[p+4>>2]=c[w+4>>2];c[p+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;w=a[p>>0]|0;v=(w&1)==0;gg(f+-48|0,v?l:c[k>>2]|0,v?(w&255)>>>1:c[m>>2]|0)|0;og(p);og(q);if((a[j>>0]|0)==69){f=j;break}else f=j}w=f+1|0;f=uh(w,d,e)|0;if((f|0)==(w|0)){f=c[o>>2]|0;if((c[n>>2]|0)==(f|0)){f=b;break}g=f+-24|0;while(1){e=f+-24|0;c[o>>2]=e;eg(e);f=c[o>>2]|0;if((f|0)==(g|0)){f=b;break a}}}g=c[o>>2]|0;if(((g-(c[n>>2]|0)|0)/24|0)>>>0>=2){Jg(u,g+-24|0);g=c[o>>2]|0;h=g+-24|0;j=g;do{b=j+-24|0;c[o>>2]=b;eg(b);j=c[o>>2]|0}while((j|0)!=(h|0));b=qg(u,0,19892)|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[t>>0]|0;e=(b&1)==0;gg(g+-48|0,e?t+1|0:c[t+8>>2]|0,e?(b&255)>>>1:c[t+4>>2]|0)|0;og(t);og(u)}else f=b}else f=b}else f=b}else f=b;while(0);i=x;return f|0}function uh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+12|0;k=l;a:do if((d-b|0)>1){f=a[b>>0]|0;switch(f<<24>>24){case 100:case 111:{if((a[b+1>>0]|0)==110){h=b+2|0;if(f<<24>>24==111){f=hh(h,d,e)|0;if((f|0)==(h|0)){f=b;break a}b=Mg(f,d,e)|0;if((b|0)==(f|0))break a;d=e+4|0;f=c[d>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Jg(j,f+-24|0);f=c[d>>2]|0;g=f+-24|0;h=f;do{e=h+-24|0;c[d>>2]=e;eg(e);h=c[d>>2]|0}while((h|0)!=(g|0));e=a[j>>0]|0;k=(e&1)==0;gg(f+-48|0,k?j+1|0:c[j+8>>2]|0,k?(e&255)>>>1:c[j+4>>2]|0)|0;og(j);f=b;break a}if((h|0)!=(d|0)){f=vh(h,d,e)|0;if((f|0)==(h|0))f=wh(h,d,e)|0;if((f|0)!=(h|0)?(g=c[e+4>>2]|0,(c[e>>2]|0)!=(g|0)):0)qg(g+-24|0,0,19918)|0;else f=h}else f=d;i=l;return ((f|0)==(h|0)?b:f)|0}break}default:{}}f=wh(b,d,e)|0;if((f|0)==(b|0)){f=hh(b,d,e)|0;if((f|0)!=(b|0)){b=Mg(f,d,e)|0;if((b|0)!=(f|0)){d=e+4|0;f=c[d>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2)f=b;else{Jg(k,f+-24|0);f=c[d>>2]|0;g=f+-24|0;h=f;do{e=h+-24|0;c[d>>2]=e;eg(e);h=c[d>>2]|0}while((h|0)!=(g|0));e=a[k>>0]|0;j=(e&1)==0;gg(f+-48|0,j?k+1|0:c[k+8>>2]|0,j?(e&255)>>>1:c[k+4>>2]|0)|0;og(k);f=b}}}else f=b}}else f=b;while(0);i=l;return f|0}function vh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+96|0;o=p+72|0;n=p+56|0;k=p+48|0;l=p+32|0;g=p+24|0;m=p+8|0;h=p;a:do if((b|0)==(d|0))f=b;else switch(a[b>>0]|0){case 84:{j=e+4|0;h=((c[j>>2]|0)-(c[e>>2]|0)|0)/24|0;f=Lg(b,d,e)|0;g=c[j>>2]|0;d=(g-(c[e>>2]|0)|0)/24|0;if(!((f|0)!=(b|0)&(d|0)==(h+1|0))){if((d|0)==(h|0)){f=b;break a}while(1){f=g;g=g+-24|0;do{e=f+-24|0;c[j>>2]=e;eg(e);f=c[j>>2]|0}while((f|0)!=(g|0));d=d+-1|0;if((d|0)==(h|0)){f=b;break a}}}b=e+16|0;c[k>>2]=c[e+12>>2];Kg(n,g+-24|0,k);d=e+20|0;g=c[d>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g+12>>2]=c[n+12>>2];c[g>>2]=c[n>>2];e=n+4|0;c[g+4>>2]=c[e>>2];o=n+8|0;c[g+8>>2]=c[o>>2];c[o>>2]=0;c[e>>2]=0;c[n>>2]=0;c[d>>2]=(c[d>>2]|0)+16}else{d=c[b>>2]|0;m=g-d|0;j=m>>4;g=j+1|0;if((m|0)<-16)ug(b);d=h-d|0;if(d>>4>>>0<1073741823){d=d>>3;d=d>>>0>>0?g:d}else d=2147483647;vg(o,d,j,e+28|0);e=o+8|0;m=c[e>>2]|0;c[m+12>>2]=c[n+12>>2];c[m>>2]=c[n>>2];l=n+4|0;c[m+4>>2]=c[l>>2];k=n+8|0;c[m+8>>2]=c[k>>2];c[k>>2]=0;c[l>>2]=0;c[n>>2]=0;c[e>>2]=m+16;wg(b,o);xg(o)}fg(n);break a}case 68:{f=Tg(b,d,e)|0;if((f|0)==(b|0)){f=b;break a}d=c[e+4>>2]|0;if((c[e>>2]|0)==(d|0)){f=b;break a}b=e+16|0;c[g>>2]=c[e+12>>2];Kg(l,d+-24|0,g);d=e+20|0;g=c[d>>2]|0;j=c[e+24>>2]|0;if(g>>>0>>0){c[g+12>>2]=c[l+12>>2];c[g>>2]=c[l>>2];e=l+4|0;c[g+4>>2]=c[e>>2];o=l+8|0;c[g+8>>2]=c[o>>2];c[o>>2]=0;c[e>>2]=0;c[l>>2]=0;c[d>>2]=(c[d>>2]|0)+16}else{d=c[b>>2]|0;n=g-d|0;h=n>>4;g=h+1|0;if((n|0)<-16)ug(b);d=j-d|0;if(d>>4>>>0<1073741823){d=d>>3;d=d>>>0>>0?g:d}else d=2147483647;vg(o,d,h,e+28|0);e=o+8|0;n=c[e>>2]|0;c[n+12>>2]=c[l+12>>2];c[n>>2]=c[l>>2];m=l+4|0;c[n+4>>2]=c[m>>2];k=l+8|0;c[n+8>>2]=c[k>>2];c[k>>2]=0;c[m>>2]=0;c[l>>2]=0;c[e>>2]=n+16;wg(b,o);xg(o)}fg(l);break a}case 83:{f=Sg(b,d,e)|0;if((f|0)!=(b|0))break a;if((d-b|0)<=2){f=b;break a}if((a[b+1>>0]|0)!=116){f=b;break a}n=b+2|0;f=bh(n,d,e)|0;if((f|0)==(n|0)){f=b;break a}g=e+4|0;d=c[g>>2]|0;if((c[e>>2]|0)==(d|0)){f=b;break a}qg(d+-24|0,0,19912)|0;b=e+16|0;d=(c[g>>2]|0)+-24|0;c[h>>2]=c[e+12>>2];Kg(m,d,h);d=e+20|0;g=c[d>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g+12>>2]=c[m+12>>2];c[g>>2]=c[m>>2];e=m+4|0;c[g+4>>2]=c[e>>2];o=m+8|0;c[g+8>>2]=c[o>>2];c[o>>2]=0;c[e>>2]=0;c[m>>2]=0;c[d>>2]=(c[d>>2]|0)+16}else{d=c[b>>2]|0;n=g-d|0;j=n>>4;g=j+1|0;if((n|0)<-16)ug(b);d=h-d|0;if(d>>4>>>0<1073741823){d=d>>3;d=d>>>0>>0?g:d}else d=2147483647;vg(o,d,j,e+28|0);e=o+8|0;n=c[e>>2]|0;c[n+12>>2]=c[m+12>>2];c[n>>2]=c[m>>2];l=m+4|0;c[n+4>>2]=c[l>>2];k=m+8|0;c[n+8>>2]=c[k>>2];c[k>>2]=0;c[l>>2]=0;c[m>>2]=0;c[e>>2]=n+16;wg(b,o);xg(o)}fg(m);break a}default:{f=b;break a}}while(0);i=p;return f|0}function wh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;if((b|0)!=(d|0)?(f=Ng(b,d,e)|0,(f|0)!=(b|0)):0){h=Mg(f,d,e)|0;if((h|0)!=(f|0)){g=e+4|0;f=c[g>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2)f=b;else{Jg(j,f+-24|0);f=c[g>>2]|0;d=f+-24|0;e=f;do{b=e+-24|0;c[g>>2]=b;eg(b);e=c[g>>2]|0}while((e|0)!=(d|0));g=a[j>>0]|0;b=(g&1)==0;gg(f+-48|0,b?j+1|0:c[j+8>>2]|0,b?(g&255)>>>1:c[j+4>>2]|0)|0;og(j);f=h}}}else f=b;i=k;return f|0}function xh(a){a=a|0;Da(21125,19293,1175,21154)}function yh(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=6;e=b+1|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;a[b+4>>0]=0;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function zh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;a[b>>0]=16;f=e;h=f;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;f=f+4|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;e=b+1|0;g=e;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;e=e+4|0;a[e>>0]=f;a[e+1>>0]=f>>8;a[e+2>>0]=f>>16;a[e+3>>0]=f>>24;a[b+9>>0]=0;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Ah(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;a:do if((b|0)!=(c|0)){switch(a[b>>0]|0){case 104:{e=b+1|0;d=Fg(e,c)|0;if((d|0)==(e|0)|(d|0)==(c|0))break a;b=(a[d>>0]|0)==95?d+1|0:b;break a}case 118:break;default:break a}f=b+1|0;d=Fg(f,c)|0;if((!((d|0)==(f|0)|(d|0)==(c|0))?(a[d>>0]|0)==95:0)?(f=d+1|0,e=Fg(f,c)|0,!((e|0)==(f|0)|(e|0)==(c|0))):0)return ((a[e>>0]|0)==95?e+1|0:b)|0}while(0);return b|0}function Bh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=Qi(a,b,c)|0;return a|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=Ri(a,b,c)|0;return a|0}function Dh(){return 4100}function Eh(){return 4104}function Fh(){return 4108}function Gh(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Hh(a){a=a|0;return (a+-65|0)>>>0<26|0}function Ih(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6;return a&1|0}function Jh(){var a=0;if(!(c[959]|0))a=4112;else a=c[(Ta()|0)+60>>2]|0;return a|0}function Kh(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21818+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21906;e=5;break}}if((e|0)==2)if(!c)b=21906;else{b=21906;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function Lh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;C=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Oh(b)|0}while((Gh(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Oh(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23710+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Oh(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[26587+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Oh(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Oh(b)|0;if((e|0)==40)e=1;else{if(!(c[C>>2]|0)){g=s;break a}c[E>>2]=(c[E>>2]|0)+-1;g=s;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Oh(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(Jh()|0)>>2]=22;Nh(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Oh(b)|0;if((e|32|0)!=120){if(!(c[C>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Oh(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Oh(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Oh(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Oh(b)|0;k=rt(k|0,h|0,-1,-1)|0;h=D}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){r=m*.0625;p=w;j=r;g=g+r*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=rt(l|0,y|0,1,0)|0;v=x;u=D;n=1}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Oh(b)|0;w=p;m=j;continue}}if(!n){e=(c[C>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else Nh(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=rt(l|0,h|0,1,0)|0;h=D}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=aj(b,f)|0;e=D;if((h|0)==0&(e|0)==-2147483648){if(!f){Nh(b,0);g=0.0;break a}if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=ut(o|0,n|0,2)|0;H=rt(H|0,D|0,-32,-1)|0;e=rt(H|0,D|0,h|0,e|0)|0;h=D;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(Jh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0>>0){c[(Jh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=rt(e|0,h|0,-1,-1)|0;h=D}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=pt(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=rt(l|0,h|0,e|0,D|0)|0;J=D;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Zh(+ci(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(Jh()|0)>>2]=34;g=+di(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Oh(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Oh(b)|0;if((e|0)==48){h=0;e=0;while(1){h=rt(h|0,e|0,-1,-1)|0;k=D;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Oh(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=rt(y|0,v|0,1,0)|0;v=D;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Oh(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=aj(b,f)|0;e=D;if((n|0)==0&(e|0)==-2147483648){if(!f){Nh(b,0);g=0.0;break}if(!(c[C>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=rt(n|0,e|0,h|0,p|0)|0;u=y;p=D;n=v;A=173}while(0);if((A|0)==169)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(Jh()|0)>>2]=22;Nh(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(Jh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0>>0){c[(Jh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[4116+(8-h<<2)>>2]|0);break}b=K+27+($(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[4116+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[4116+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{C=H+(p<<2)|0;E=c[C>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[C>>2]=b;e=$((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=ut(c[p>>2]|0,0,29)|0;o=rt(o|0,D|0,n|0,0)|0;n=D;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=Ct(o|0,n|0,1e9,0)|0;o=Dt(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=$(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}r=+(I|0);j=r*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Zh(+ci(1.0,105-o|0),j);m=+$h(j,+ci(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=r*.75+g;break}if((k+3&127|0)==(l|0)){g=r*.5+g;break}else{g=r*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=r*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+$h(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+O(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(Jh()|0)>>2]=34}while(0);g=+di(g,e)}while(0);break a}default:{if(c[C>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(Jh()|0)>>2]=22;Nh(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*t}while(0);i=L;return +g}function Mh(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(Jh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Oh(b)|0}while((Gh(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Oh(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e&-17|0)==0&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Oh(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Oh(b)|0;if((d[23719+(i+1)>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Nh(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23719+(i+1)>>0]|0)>>>0>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Nh(b,0);c[(Jh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Oh(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=Bt(e|0,j|0,10,0)|0;l=D;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=rt(k|0,l|0,f|0,m|0)|0;j=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Oh(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23976+((e*23|0)>>>5&7)>>0]|0;j=a[23719+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f|i<>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Oh(b)|0;j=a[23719+(i+1)>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0>>0))break;else i=k}f=0}else{f=0;k=0}l=st(-1,-1,n|0)|0;m=D;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=ut(k|0,i|0,n|0)|0;f=D;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Oh(b)|0;j=a[23719+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23719+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f+($(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Oh(b)|0;j=a[23719+(i+1)>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0>>0){n=Ct(-1,-1,e|0,0)|0;o=D;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=Bt(k|0,m|0,e|0,0)|0;l=D;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=rt(j|0,0,f|0,l|0)|0;f=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Oh(b)|0;j=a[23719+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23719+(i+1)>>0]|0)>>>0>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Oh(b)|0}while((d[23719+(i+1)>>0]|0)>>>0>>0);c[(Jh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0>>0|(j|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(Jh()|0)>>2]=34;g=rt(g|0,h|0,-1,-1)|0;h=D;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(Jh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=pt(i^e|0,j^g|0,e|0,g|0)|0;h=D}while(0);D=h;return g|0}function Nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function Oh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=zi(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Ph(a){a=a|0;if(a>>>0>4294963200){c[(Jh()|0)>>2]=0-a;a=-1}return a|0}function Qh(a){a=a|0;return 0}function Rh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function Sh(a,b){a=a|0;b=b|0;return -1|0}function Th(a){a=a|0;nj(a);return}function Uh(a,b){a=a|0;b=b|0;return (a+-48|0)>>>0<10|0}function Vh(a,b){a=a|0;b=b|0;return Ih(a)|0}function Wh(b,c,d){b=b|0;c=c|0;d=d|0;if(((a[c>>0]|0)!=0?(Vi(c,28509)|0)!=0:0)?(Vi(c,23985)|0)!=0:0)d=0;else if(!d)d=oj(1,4)|0;return d|0}function Xh(a){a=a|0;var b=0,d=0;b=(Ta()|0)+176|0;d=c[b>>2]|0;if(a)c[b>>2]=a;return d|0}function Yh(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return +(+h[k>>3])}function Zh(a,b){a=+a;b=+b;return +(+Yh(a,b))}function _h(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=st(d|0,m|0,52)|0;e=e&2047;j=st(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=ut(n|0,o|0,1)|0;l=D;a:do if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=ut(d|0,m|0,1)|0;g=D;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=ut(d|0,m|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=ut(g|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=ut(d|0,m|0,1-e|0)|0;f=D}else f=m&1048575|1048576;if(!j){g=ut(n|0,o|0,12)|0;i=D;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=ut(g|0,i|0,1)|0;i=D}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=ut(n|0,o|0,1-j|0)|0;m=D}else m=o&1048575|1048576;l=pt(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=ut(d|0,f|0,1)|0;f=D;e=e+-1|0;l=pt(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=ut(d|0,f|0,1)|0;f=D;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=rt(d|0,f|0,0,-1048576)|0;d=D;e=ut(e|0,0,52)|0;d=d|D;e=o|e}else{e=st(d|0,f|0,1-e|0)|0;d=D}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function $h(a,b){a=+a;b=+b;return +(+_h(a,b))}function ai(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=st(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+ai(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function bi(a,b){a=+a;b=b|0;return +(+ai(a,b))}function ci(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=ut(d+1023|0,0,52)|0;b=D;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function di(a,b){a=+a;b=b|0;return +(+ci(a,b))}function ei(a,b,c){a=a|0;b=b|0;c=c|0;return fi(0,a,b,(c|0)!=0?c:4148)|0}function fi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?4152:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[3880+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(Jh()|0)>>2]=84;f=-1}i=l;return f|0}function gi(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function hi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+1040|0;l=o+8|0;n=o;k=c[b>>2]|0;c[n>>2]=k;m=(a|0)!=0;e=m?e:256;a=m?a:l;g=k;a:do if((e|0)!=0&(k|0)!=0){j=e;k=g;e=0;while(1){g=d>>>2;h=g>>>0>=j>>>0;if(!(d>>>0>131|h)){g=k;break a}g=h?j:g;d=d-g|0;g=ii(a,n,g,f)|0;if((g|0)==-1){e=d;break}p=(a|0)==(l|0);k=p?0:g;h=j-k|0;a=p?a:a+(g<<2)|0;e=g+e|0;g=c[n>>2]|0;if((j|0)!=(k|0)&(g|0)!=0){j=h;k=g}else{j=h;break a}}d=e;j=0;g=c[n>>2]|0;e=-1}else{j=e;e=0}while(0);b:do if((g|0)!=0?(j|0)!=0&(d|0)!=0:0){h=g;g=a;while(1){a=fi(g,h,d,f)|0;if((a+2|0)>>>0<3)break;h=(c[n>>2]|0)+a|0;c[n>>2]=h;j=j+-1|0;e=e+1|0;if(!((j|0)!=0&(d|0)!=(a|0)))break b;else{d=d-a|0;g=g+4|0}}switch(a|0){case -1:{e=-1;break b}case 0:{c[n>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[n>>2];i=o;return e|0}function ii(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){g=f;j=h;m=16}else{c[g>>2]=0;l=b;g=f;k=i;m=37}else if(!b){g=f;m=7}else{i=b;g=f;m=6}a:while(1)if((m|0)==6){if(!g){m=26;break}else b=i;while(1){i=a[h>>0]|0;do if(((i&255)+-1|0)>>>0<127?g>>>0>4&(h&3|0)==0:0){j=h;while(1){h=c[j>>2]|0;if((h+-16843009|h)&-2139062144){i=h;h=j;m=32;break}c[b>>2]=h&255;c[b+4>>2]=d[j+1>>0];c[b+8>>2]=d[j+2>>0];h=j+4|0;i=b+16|0;c[b+12>>2]=d[j+3>>0];g=g+-4|0;if(g>>>0>4){b=i;j=h}else{m=31;break}}if((m|0)==31){b=i;i=a[h>>0]|0;break}else if((m|0)==32){i=i&255;break}}while(0);i=i&255;if((i+-1|0)>>>0>=127)break;h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g){m=26;break a}else b=b+4|0}i=i+-194|0;if(i>>>0>50){m=48;break}l=b;k=c[3880+(i<<2)>>2]|0;h=h+1|0;m=37;continue}else if((m|0)==7){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){i=c[h>>2]|0;if(!((i+-16843009|i)&-2139062144))do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(((i+-16843009|i)&-2139062144|0)==0);i=i&255}i=i&255;if((i+-1|0)>>>0<127){g=g+-1|0;h=h+1|0;m=7;continue}i=i+-194|0;if(i>>>0>50){m=48;break}i=c[3880+(i<<2)>>2]|0;j=h+1|0;m=16;continue}else if((m|0)==16){m=(d[j>>0]|0)>>>3;if((m+-16|m+(i>>26))>>>0>7){m=17;break}h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){m=20;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){m=23;break}h=j+3|0}}g=g+-1|0;m=7;continue}else if((m|0)==37){i=d[h>>0]|0;m=i>>>3;if((m+-16|m+(k>>26))>>>0>7){m=38;break}j=h+1|0;b=i+-128|k<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=41;break}j=h+2|0;b=i+-128|b<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=44;break}b=i+-128|b<<6;h=h+3|0}else h=j}else h=j;c[l>>2]=b;i=l+4|0;g=g+-1|0;m=6;continue}if((m|0)==17){h=j+-1|0;m=47}else if((m|0)==20){h=j+-1|0;m=47}else if((m|0)==23){h=j+-1|0;m=47}else if((m|0)==26)c[e>>2]=h;else if((m|0)==38){b=l;i=k;h=h+-1|0;m=47}else if((m|0)==41){g=l;f=h+-1|0;m=52}else if((m|0)==44){g=l;f=h+-1|0;m=52}if((m|0)==47)if(!i)m=48;else{g=b;f=h;m=52}if((m|0)==48)if(!(a[h>>0]|0)){if(b){c[b>>2]=0;c[e>>2]=0}f=f-g|0}else{g=b;f=h;m=52}if((m|0)==52){c[(Jh()|0)>>2]=84;if(!g)f=-1;else{c[e>>2]=f;f=-1}}return f|0}function ji(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k;a:do if(!e)g=0;else{do if(f){j=(b|0)==0?g:b;g=a[e>>0]|0;b=g&255;if(g<<24>>24>-1){c[j>>2]=b;g=g<<24>>24!=0&1;break a}g=b+-194|0;if(g>>>0<=50){b=e+1|0;h=c[3880+(g<<2)>>2]|0;if(f>>>0<4?(h&-2147483648>>>((f*6|0)+-6|0)|0)!=0:0)break;g=d[b>>0]|0;f=g>>>3;if((f+-16|f+(h>>26))>>>0<=7){g=g+-128|h<<6;if((g|0)>=0){c[j>>2]=g;g=2;break a}b=d[e+2>>0]|0;if((b&192|0)==128){b=b+-128|g<<6;if((b|0)>=0){c[j>>2]=b;g=3;break a}g=d[e+3>>0]|0;if((g&192|0)==128){c[j>>2]=g+-128|b<<6;g=4;break a}}}}}while(0);c[(Jh()|0)>>2]=84;g=-1}while(0);i=k;return g|0}function ki(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Jh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function li(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+272|0;j=m+8|0;l=m;h=c[b>>2]|0;c[l>>2]=h;k=(a|0)!=0;f=k?e:256;e=k?a:j;a=h;a:do if((f|0)!=0&(h|0)!=0){h=f;g=a;f=0;while(1){a=d>>>0>=h>>>0;if(!(a|d>>>0>32)){a=g;break a}a=a?h:d;d=d-a|0;a=mi(e,l,a,0)|0;if((a|0)==-1){f=d;break}o=(e|0)==(j|0);n=o?0:a;g=h-n|0;e=o?e:e+a|0;f=a+f|0;a=c[l>>2]|0;if((h|0)!=(n|0)&(a|0)!=0){h=g;g=a}else{h=g;break a}}d=f;h=0;a=c[l>>2]|0;f=-1}else{h=f;f=0}while(0);b:do if((a|0)!=0?(h|0)!=0&(d|0)!=0:0){g=a;a=e;while(1){e=ki(a,c[g>>2]|0,0)|0;if((e+1|0)>>>0<2)break;g=(c[l>>2]|0)+4|0;c[l>>2]=g;d=d+-1|0;f=f+1|0;if(!((h|0)!=(e|0)&(d|0)!=0))break b;else{h=h-e|0;a=a+e|0}}if(!e)c[l>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[l>>2];i=m;return f|0}function mi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do if(!b){b=c[d>>2]|0;f=c[b>>2]|0;if(!f)e=0;else{e=0;do{if(f>>>0>127){f=ki(j,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=ki(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=19;break}h=ki(j,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=22;break}ki(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==19){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==22){e=e-f|0;break}}}while(0);i=k;return e|0}function ni(a,b){a=a|0;b=b|0;if(!a)a=0;else a=ki(a,b,0)|0;return a|0}function oi(a){a=a|0;return 0}function pi(a){a=a|0;return}function qi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(yi(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((pb[c[b+36>>2]&31](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function ri(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=Ph(eb(6,d|0)|0)|0;i=b;return a|0}function si(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[959]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Ph(lb(145,h|0)|0)|0}else{fb(105,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Ph(lb(145,g|0)|0)|0;Ya(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Ph(jb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function ui(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[959]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Ph(mb(146,n|0)|0)|0}else{fb(106,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Ph(mb(146,m|0)|0)|0;Ya(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function vi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=6;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Wa(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=ui(b,d,e)|0;i=g;return f|0}function wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Si(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;tt(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function xi(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)pb[c[b+36>>2]&31](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function yi(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function zi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(xi(a)|0)!=0:0)b=-1;else if((pb[c[a+32>>2]&31](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Ai(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=dj(a)|0;break}d=(oi(a)|0)==0;b=dj(a)|0;if(!d)pi(a)}else{if(!(c[1024]|0))b=0;else b=Ai(c[1024]|0)|0;db(3864);a=c[965]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=oi(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=dj(a)|0|b;if(d)pi(a);a=c[a+56>>2]|0}while((a|0)!=0);Xa(3864)}while(0);return b|0}function Bi(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(oi(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=zi(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=zi(a)|0;break}}while(0);return b|0}function Ci(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(oi(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=qi(d,b)|0;pi(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=qi(d,b)|0}while(0);return e|0}function Di(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(yi(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=pb[c[e+36>>2]&31](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((pb[c[e+36>>2]&31](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);tt(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}while(0);return f|0}function Ei(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(oi(e)|0)==0;a=Di(a,f,e)|0;if(!g)pi(e)}else a=Di(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Fi(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(oi(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=zi(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=zi(a)|0;break}}while(0);return b|0}function Gi(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=Li(c[1023]|0,a,e)|0;i=d;return b|0}function Hi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Ni(a,b,d,g)|0;i=f;return e|0}function Ii(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Oi(a,b,f)|0;i=e;return d|0}function Ji(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=oi(d)|0;else g=0;if(!((c[d+8>>2]|0)==0?(xi(d)|0)!=0:0))h=6;if((h|0)==6?(e=d+4|0,f=c[e>>2]|0,f>>>0>((c[d+44>>2]|0)+-8|0)>>>0):0){h=f+-1|0;c[e>>2]=h;a[h>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;pi(d);break}if(g){pi(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function Ki(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j;f=mj(240)|0;do if(f){c[e>>2]=c[d>>2];e=Ni(f,240,b,e)|0;if(e>>>0<240){b=pj(f,e+1|0)|0;c[a>>2]=(b|0)!=0?b:f;break}nj(f);if((e|0)>=0?(h=e+1|0,g=mj(h)|0,c[a>>2]=g,(g|0)!=0):0)e=Ni(g,h,b,d)|0;else e=-1}else e=-1;while(0);i=j;return e|0}function Li(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((ej(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=oi(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=ej(b,d,o,q,r)|0;if(h){pb[c[b+36>>2]&31](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=ej(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)pi(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Mi(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=oi(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;C=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Gh(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=152;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Nh(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Oh(e)|0}while((Gh(o)|0)!=0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Nh(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0>>0)c[L>>2]=o+1;else{if((Oh(e)|0)<0){N=152;break b}q=c[M>>2]|0}if(q)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r&239|0)==99){qt(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{Q=n+1|0;s=(a[Q>>0]|0)==94;o=s&1;r=s?Q:n;n=s?n+2|0:Q;qt(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=r+2|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=r+2|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=mj(r<<2)|0;if(!f){l=0;N=152;break b}}else f=x;c[J>>2]=0;c[C>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Oh(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(fi(K,y,1,J)|0){case -1:{l=0;N=152;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=pj(f,l<<2)|0;if(!o){l=0;N=152;break b}Q=r;r=l;f=o;l=Q}if(!(gi(J)|0)){l=0;N=152;break b}else{q=l;l=0}}else{if(t){l=mj(r)|0;if(!l){l=0;f=0;N=152;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Oh(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=pj(l,f)|0;if(!o){f=0;N=152;break b}else{Q=r;r=f;l=o;o=Q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Oh(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Oh(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=134;break}case 111:{o=8;N=134;break}case 117:case 100:{o=10;N=134;break}case 105:{o=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Lh(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==134){N=0;o=Mh(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{Q=x;c[Q>>2]=o;c[Q+4>>2]=D;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Nh(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Oh(e)|0;if((m|0)!=(d[n>>0]|0)){N=21;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Gh(d[m>>0]|0)|0))break;else n=m}Nh(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Oh(e)|0}while((Gh(m)|0)!=0);m=c[L>>2]|0;if(c[M>>2]|0){m=m+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==21){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=153}}else if((N|0)==152)if(!k){k=m;N=153}if((N|0)==153){m=k;k=-1}if(m){nj(l);nj(f)}}else k=0;while(0);if(O)pi(e);i=P;return k|0}function Ni(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=4156;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Jh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Li(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Oi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=26;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Mi(e,b,d)|0;i=g;return h|0}function Pi(a,b,c){a=a|0;b=b|0;c=c|0;return +(+gj(a,b,2))}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;a=hj(a,b,c,-1,-1)|0;return a|0}function Ri(a,b,c){a=a|0;b=b|0;c=c|0;a=hj(a,b,c,0,-2147483648)|0;return a|0}function Si(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return ((e|0)!=0?b:0)|0}function Ti(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function Ui(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Vi(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function Wi(a,b){a=a|0;b=b|0;Ui(a,b)|0;return a|0}function Xi(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Yi(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function Zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function _i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(d|0)==0;if(a-b>>2>>>0>>0){if(!e)do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0)}else if(!e){e=b;b=a;while(1){d=d+-1|0;c[b>>2]=c[e>>2];if(!d)break;else{e=e+4|0;b=b+4|0}}}return a|0}function $i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function aj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Oh(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Oh(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Oh(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=Bt(f|0,b|0,10,0)|0;f=D;e=rt(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=rt(e|0,D|0,b|0,f|0)|0;b=D;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Oh(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Oh(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=pt(0,0,g|0,b|0)|0;f=a?D:b;e=a?e:g}D=f;return e|0}function bj(a){a=a|0;if(!(c[a+68>>2]|0))pi(a);return}function cj(a){a=a|0;if(!(c[a+68>>2]|0))pi(a);return}function dj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(pb[c[a+36>>2]&31](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)pb[c[a+40>>2]&31](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0} +function Cg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+720|0;M=N+696|0;j=N+672|0;k=N+648|0;u=N+624|0;w=N+600|0;x=N+576|0;y=N+552|0;z=N+528|0;A=N+504|0;B=N+480|0;C=N+456|0;l=N+432|0;m=N+408|0;n=N+384|0;L=N+360|0;o=N+336|0;p=N+312|0;q=N+288|0;r=N+264|0;s=N+240|0;t=N+216|0;v=N+192|0;D=N+168|0;E=N+144|0;F=N+120|0;G=N+96|0;H=N+72|0;I=N+48|0;J=N+24|0;K=N;a:do if((b|0)!=(d|0))do switch(a[b>>0]|0){case 118:{oh(j,21175);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,j);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,j);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(j);b=b+1|0;break a}case 119:{a[k>>0]=14;f=k+1|0;a[f>>0]=a[20754]|0;a[f+1>>0]=a[20755]|0;a[f+2>>0]=a[20756]|0;a[f+3>>0]=a[20757]|0;a[f+4>>0]=a[20758]|0;a[f+5>>0]=a[20759]|0;a[f+6>>0]=a[20760]|0;a[k+8>>0]=0;f=k+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,k);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,k);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(k);b=b+1|0;break a}case 98:{oh(u,21180);f=e+4|0;d=c[f>>2]|0;h=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,u);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;g=(L|0)/24|0;d=g+1|0;if((L|0)<-24)ug(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,g,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,u);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(u);b=b+1|0;break a}case 99:{oh(w,20762);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,w);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,w);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(w);b=b+1|0;break a}case 97:{Yg(x,20767);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,x);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,x);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(x);b=b+1|0;break a}case 104:{_g(y,20779);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,y);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,y);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(y);b=b+1|0;break a}case 115:{nh(z,20793);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,z);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,z);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(z);b=b+1|0;break a}case 116:{Wg(A,20799);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,A);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,A);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(A);b=b+1|0;break a}case 105:{yh(B,21185);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,B);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,B);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(B);b=b+1|0;break a}case 106:{Zg(C,21189);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,C);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,C);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(C);b=b+1|0;break a}case 108:{oh(l,21202);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,l);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,l);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(l);b=b+1|0;break a}case 109:{_g(m,21207);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,m);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,m);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(m);b=b+1|0;break a}case 120:{jh(n,21221);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,n);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,n);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(n);b=b+1|0;break a}case 121:{f=mj(32)|0;c[L+8>>2]=f;c[L>>2]=33;c[L+4>>2]=18;d=f;g=21231;h=d+18|0;do{a[d>>0]=a[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));a[f+18>>0]=0;f=L+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,L);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;K=d-f|0;h=(K|0)/24|0;d=h+1|0;if((K|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);K=M+8|0;J=c[K>>2]|0;Ig(J,L);c[K>>2]=J+24;Bg(e,M);Ag(M)}eg(L);b=b+1|0;break a}case 110:{zh(o,20823);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,o);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,o);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(o);b=b+1|0;break a}case 111:{Xg(p,20832);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,p);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,p);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(p);b=b+1|0;break a}case 102:{nh(q,21250);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,q);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,q);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(q);b=b+1|0;break a}case 100:{a[r>>0]=12;f=r+1|0;a[f>>0]=a[21256]|0;a[f+1>>0]=a[21257]|0;a[f+2>>0]=a[21258]|0;a[f+3>>0]=a[21259]|0;a[f+4>>0]=a[21260]|0;a[f+5>>0]=a[21261]|0;a[r+7>>0]=0;f=r+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,r);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,r);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(r);b=b+1|0;break a}case 101:{Yg(s,21263);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,s);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,s);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(s);b=b+1|0;break a}case 103:{ih(t,21275);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,t);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,t);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(t);b=b+1|0;break a}case 122:{yh(v,21286);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,v);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,v);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(v);b=b+1|0;break a}case 117:{M=b+1|0;e=Ng(M,d,e)|0;i=N;return ((e|0)==(M|0)?b:e)|0}case 68:{f=b+1|0;if((f|0)==(d|0))break a;switch(a[f>>0]|0){case 100:{jh(D,21290);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,D);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,D);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(D);b=b+2|0;break a}case 101:{ih(E,21300);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,E);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,E);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(E);b=b+2|0;break a}case 102:{jh(F,21311);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,F);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,F);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(F);b=b+2|0;break a}case 104:{jh(G,21321);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,G);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,G);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(G);b=b+2|0;break a}case 105:{zh(H,21331);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,H);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,H);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(H);b=b+2|0;break a}case 115:{zh(I,21340);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,I);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,I);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(I);b=b+2|0;break a}case 97:{oh(J,21349);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,J);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Ig(K,J);c[L>>2]=K+24;Bg(e,M);Ag(M)}eg(J);b=b+2|0;break a}case 110:{Wg(K,21354);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Ig(d,K);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)ug(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;zg(M,f,h,e+12|0);L=M+8|0;J=c[L>>2]|0;Ig(J,K);c[L>>2]=J+24;Bg(e,M);Ag(M)}eg(K);b=b+2|0;break a}default:break a}}default:break a}while(0);while(0);i=N;return b|0}function Dg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)nf(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=mj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}tt(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function Eg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a[b>>0]|0;if(!(d&1)){e=(d&255)>>>1;h=b+1|0}else{e=c[b+4>>2]|0;h=c[b+8>>2]|0}f=(e|0)!=0&1;g=e-f|0;if((e|0)!=(f|0)){vt(h|0,h+f|0,g|0)|0;d=a[b>>0]|0}if(!(d&1))a[b>>0]=g<<1;else c[b+4>>2]=g;a[h+g>>0]=0;return}function Fg(b,c){b=b|0;c=c|0;var d=0,e=0;a:do if((b|0)!=(c|0)?(d=(a[b>>0]|0)==110?b+1|0:b,(d|0)!=(c|0)):0){e=a[d>>0]|0;if(e<<24>>24==48){d=d+1|0;break}if((e+-49&255)<9)do{d=d+1|0;if((d|0)==(c|0)){d=c;break a}}while(((a[d>>0]|0)+-48|0)>>>0<10);else d=b}else d=b;while(0);return d|0}function Gg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a[b>>0]|0;h=(g&1)==0;if(h)i=(g&255)>>>1;else i=c[b+4>>2]|0;if(i>>>0>>0)xh(b);if(h)h=10;else{g=c[b>>2]|0;h=(g&-2)+-1|0;g=g&255}if((h-i|0)>>>0>=f>>>0){if(f){if(!(g&1))h=b+1|0;else h=c[b+8>>2]|0;if((i|0)==(d|0))g=h+d|0;else{g=h+d|0;vt(h+(f+d)|0,g|0,i-d|0)|0;e=g>>>0<=e>>>0&(h+i|0)>>>0>e>>>0?e+f|0:e}vt(g|0,e|0,f|0)|0;g=i+f|0;if(!(a[b>>0]&1))a[b>>0]=g<<1;else c[b+4>>2]=g;a[h+g>>0]=0}}else ng(b,h,i+f-h|0,i,d,0,f,e);return b|0}function Hg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0;Yb=i;i=i+1168|0;Wb=Yb+1144|0;Xb=Yb+1120|0;Vb=Yb+1096|0;Tb=Yb+1084|0;Sb=Yb+1072|0;Rb=Yb+1048|0;Ub=Yb+1032|0;Qb=Yb+900|0;Mb=Yb+632|0;Nb=Yb+620|0;Lb=Yb+584|0;Ob=Yb+560|0;Pb=Yb+524|0;l=Yb+1020|0;n=Yb+1008|0;r=Yb+996|0;x=Yb+984|0;B=Yb+972|0;E=Yb+960|0;F=Yb+948|0;yb=Yb+936|0;zb=Yb+924|0;Ab=Yb+912|0;Bb=Yb+888|0;G=Yb+876|0;Cb=Yb+864|0;Db=Yb+852|0;Eb=Yb+840|0;Fb=Yb+828|0;J=Yb+816|0;K=Yb+804|0;L=Yb+792|0;N=Yb+780|0;O=Yb+768|0;P=Yb+756|0;Q=Yb+744|0;gb=Yb+732|0;fb=Yb+720|0;ab=Yb+696|0;bb=Yb+680|0;cb=Yb+668|0;db=Yb+656|0;eb=Yb+644|0;R=Yb+608|0;S=Yb+596|0;T=Yb+548|0;U=Yb+536|0;V=Yb+512|0;W=Yb+500|0;X=Yb+488|0;Y=Yb+476|0;va=Yb+464|0;Ia=Yb+440|0;Ja=Yb+424|0;Ka=Yb+412|0;La=Yb+400|0;Z=Yb+388|0;_=Yb+376|0;$=Yb+364|0;aa=Yb+352|0;ba=Yb+340|0;ca=Yb+328|0;da=Yb+316|0;fa=Yb+304|0;ha=Yb+292|0;wa=Yb+280|0;Oa=Yb+256|0;Pa=Yb+240|0;Qa=Yb+228|0;Ra=Yb+216|0;ia=Yb+204|0;tb=Yb+192|0;sb=Yb+180|0;rb=Yb+168|0;kb=Yb+144|0;lb=Yb+132|0;mb=Yb+120|0;nb=Yb+108|0;ob=Yb+96|0;pb=Yb+84|0;qb=Yb+72|0;la=Yb+60|0;ma=Yb+48|0;oa=Yb+36|0;qa=Yb+24|0;hb=Yb;ub=d;ra=ub-b|0;a:do if((ra|0)>1){sa=(ra|0)>3;if(sa?(a[b>>0]|0)==103:0){ta=(a[b+1>>0]|0)==115;ib=ta;ta=ta?b+2|0:b}else{ib=0;ta=b}do switch(a[ta>>0]|0){case 76:{f=lh(b,d,e)|0;break a}case 84:{f=Lg(b,d,e)|0;break a}case 102:{f=qh(b,d,e)|0;break a}case 97:switch(a[ta+1>>0]|0){case 97:{Xb=b+2|0;Dg(l,19733,2);f=rh(Xb,d,l,e)|0;og(l);f=(f|0)==(Xb|0)?b:f;break a}case 100:{Xb=b+2|0;Dg(n,19754,1);f=sh(Xb,d,n,e)|0;og(n);f=(f|0)==(Xb|0)?b:f;break a}case 110:{Xb=b+2|0;Dg(r,19754,1);f=rh(Xb,d,r,e)|0;og(r);f=(f|0)==(Xb|0)?b:f;break a}case 78:{Xb=b+2|0;Dg(x,20862,2);f=rh(Xb,d,x,e)|0;og(x);f=(f|0)==(Xb|0)?b:f;break a}case 83:{Xb=b+2|0;Dg(B,20865,1);f=rh(Xb,d,B,e)|0;og(B);f=(f|0)==(Xb|0)?b:f;break a}case 116:{if(((((ra|0)>2?(a[b>>0]|0)==97:0)?(a[b+1>>0]|0)==116:0)?(Ub=b+2|0,vb=sg(Ub,d,e)|0,(vb|0)!=(Ub|0)):0)?(xa=c[e+4>>2]|0,(c[e>>2]|0)!=(xa|0)):0){p=xa+-24|0;Jg(Vb,p);b=qg(Vb,0,20867)|0;c[Xb>>2]=c[b>>2];c[Xb+4>>2]=c[b+4>>2];c[Xb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Xb,19609)|0;c[Wb>>2]=c[b>>2];c[Wb+4>>2]=c[b+4>>2];c[Wb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;do if(a[p>>0]&1){o=xa+-16|0;a[c[o>>2]>>0]=0;l=xa+-20|0;c[l>>2]=0;f=a[p>>0]|0;if(!(f&1))k=10;else{k=c[p>>2]|0;f=k&255;k=(k&-2)+-1|0}if(!(f&1)){g=(f&255)>>>1;if((f&255)<22){j=10;n=1;m=g}else{j=(g+16&240)+-1|0;n=1;m=g}}else{j=10;n=0;m=0}if((j|0)!=(k|0)){if((j|0)==10){h=p+1|0;g=c[o>>2]|0;if(n){tt(h|0,g|0,((f&255)>>>1)+1|0)|0;nj(g)}else{a[h>>0]=a[g>>0]|0;nj(g)}a[p>>0]=m<<1;break}g=j+1|0;h=mj(g)|0;if(!(j>>>0<=k>>>0&(h|0)==0)){if(n)tt(h|0,p+1|0,((f&255)>>>1)+1|0)|0;else{b=c[o>>2]|0;a[h>>0]=a[b>>0]|0;nj(b)}c[p>>2]=g|1;c[l>>2]=m;c[o>>2]=h}}}else{a[p+1>>0]=0;a[p>>0]=0}while(0);c[p>>2]=c[Wb>>2];c[p+4>>2]=c[Wb+4>>2];c[p+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;og(Wb);og(Xb);og(Vb);f=vb}else f=b;break a}case 122:{if(((((ra|0)>2?(a[b>>0]|0)==97:0)?(a[b+1>>0]|0)==122:0)?(Ub=b+2|0,xb=Hg(Ub,d,e)|0,(xb|0)!=(Ub|0)):0)?(ya=c[e+4>>2]|0,(c[e>>2]|0)!=(ya|0)):0){p=ya+-24|0;Jg(Vb,p);b=qg(Vb,0,20867)|0;c[Xb>>2]=c[b>>2];c[Xb+4>>2]=c[b+4>>2];c[Xb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Xb,19609)|0;c[Wb>>2]=c[b>>2];c[Wb+4>>2]=c[b+4>>2];c[Wb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;do if(a[p>>0]&1){o=ya+-16|0;a[c[o>>2]>>0]=0;l=ya+-20|0;c[l>>2]=0;f=a[p>>0]|0;if(!(f&1))k=10;else{k=c[p>>2]|0;f=k&255;k=(k&-2)+-1|0}if(!(f&1)){g=(f&255)>>>1;if((f&255)<22){n=1;j=10;m=g}else{n=1;j=(g+16&240)+-1|0;m=g}}else{n=0;j=10;m=0}if((j|0)!=(k|0)){if((j|0)==10){h=p+1|0;g=c[o>>2]|0;if(n){tt(h|0,g|0,((f&255)>>>1)+1|0)|0;nj(g)}else{a[h>>0]=a[g>>0]|0;nj(g)}a[p>>0]=m<<1;break}g=j+1|0;h=mj(g)|0;if(!(j>>>0<=k>>>0&(h|0)==0)){if(n)tt(h|0,p+1|0,((f&255)>>>1)+1|0)|0;else{b=c[o>>2]|0;a[h>>0]=a[b>>0]|0;nj(b)}c[p>>2]=g|1;c[l>>2]=m;c[o>>2]=h}}}else{a[p+1>>0]=0;a[p>>0]=0}while(0);c[p>>2]=c[Wb>>2];c[p+4>>2]=c[Wb+4>>2];c[p+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;og(Wb);og(Xb);og(Vb);f=xb}else f=b;break a}default:{f=b;break a}}case 99:switch(a[ta+1>>0]|0){case 99:{if((((((ra|0)>2?(a[b>>0]|0)==99:0)?(a[b+1>>0]|0)==99:0)?(Qb=b+2|0,H=sg(Qb,d,e)|0,(H|0)!=(Qb|0)):0)?(Ga=Hg(H,d,e)|0,(Ga|0)!=(H|0)):0)?(Ha=e+4|0,I=c[Ha>>2]|0,((I-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Jg(Wb,I+-24|0);f=c[Ha>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[Ha>>2]=b;eg(b);h=c[Ha>>2]|0}while((h|0)!=(g|0));f=f+-48|0;Jg(Ub,f);b=qg(Ub,0,20877)|0;c[Rb>>2]=c[b>>2];c[Rb+4>>2]=c[b+4>>2];c[Rb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Rb,20889)|0;c[Sb>>2]=c[b>>2];c[Sb+4>>2]=c[b+4>>2];c[Sb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[Wb>>0]|0;e=(b&1)==0;b=gg(Sb,e?Wb+1|0:c[Wb+8>>2]|0,e?(b&255)>>>1:c[Wb+4>>2]|0)|0;c[Tb>>2]=c[b>>2];c[Tb+4>>2]=c[b+4>>2];c[Tb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Tb,19609)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Pg(Xb,Vb);Qg(f,Xb);eg(Xb);og(Vb);og(Tb);og(Sb);og(Rb);og(Ub);og(Wb);f=Ga}else f=b;break a}case 108:{b:do if((((sa?(a[b>>0]|0)==99:0)?(a[b+1>>0]|0)==108:0)?(Vb=b+2|0,g=Hg(Vb,d,e)|0,!((g|0)==(Vb|0)|(g|0)==(d|0))):0)?(Hb=e+4|0,M=c[Hb>>2]|0,(c[e>>2]|0)!=(M|0)):0){Vb=M+-12|0;f=a[Vb>>0]|0;q=(f&1)==0;gg(M+-24|0,q?Vb+1|0:c[M+-4>>2]|0,q?(f&255)>>>1:c[M+-8>>2]|0)|0;f=c[Hb>>2]|0;c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;q=f+-12|0;do if(a[q>>0]&1){p=f+-4|0;a[c[p>>2]>>0]=0;m=f+-8|0;c[m>>2]=0;f=a[q>>0]|0;if(!(f&1))l=10;else{l=c[q>>2]|0;f=l&255;l=(l&-2)+-1|0}if(!(f&1)){h=(f&255)>>>1;if((f&255)<22){o=1;k=10;n=h}else{o=1;k=(h+16&240)+-1|0;n=h}}else{o=0;k=10;n=0}if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){tt(j|0,h|0,((f&255)>>>1)+1|0)|0;nj(h)}else{a[j>>0]=a[h>>0]|0;nj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=mj(h)|0;if(!(k>>>0<=l>>>0&(j|0)==0)){if(o)tt(j|0,q+1|0,((f&255)>>>1)+1|0)|0;else{Vb=c[p>>2]|0;a[j>>0]=a[Vb>>0]|0;nj(Vb)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[Wb>>2];c[q+4>>2]=c[Wb+4>>2];c[q+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;og(Wb);rg((c[Hb>>2]|0)+-24|0,19704)|0;l=Xb+4|0;m=Xb+8|0;n=Xb+1|0;c:do if((a[g>>0]|0)!=69){while(1){k=Hg(g,d,e)|0;if((k|0)==(g|0)|(k|0)==(d|0)){f=b;break b}f=c[Hb>>2]|0;if((c[e>>2]|0)==(f|0)){f=b;break b}Jg(Xb,f+-24|0);h=c[Hb>>2]|0;j=h+-24|0;f=h;do{Wb=f+-24|0;c[Hb>>2]=Wb;eg(Wb);f=c[Hb>>2]|0}while((f|0)!=(j|0));g=a[Xb>>0]|0;f=(g&1)==0;g=f?(g&255)>>>1:c[l>>2]|0;if(g){if((c[e>>2]|0)==(j|0))break;gg(h+-48|0,f?n:c[m>>2]|0,g)|0}og(Xb);if((a[k>>0]|0)==69){g=k;break c}else g=k}og(Xb);f=b;break b}while(0);f=c[Hb>>2]|0;if((c[e>>2]|0)!=(f|0)){rg(f+-24|0,19609)|0;f=g+1|0}else f=b}else f=b;while(0);break a}case 109:{Xb=b+2|0;Dg(E,20892,1);f=rh(Xb,d,E,e)|0;og(E);f=(f|0)==(Xb|0)?b:f;break a}case 111:{Xb=b+2|0;Dg(F,19918,1);f=sh(Xb,d,F,e)|0;og(F);f=(f|0)==(Xb|0)?b:f;break a}case 118:{d:do if((((ra|0)>2?(a[b>>0]|0)==99:0)?(a[b+1>>0]|0)==118:0)?(Ob=e+63|0,Nb=a[Ob>>0]|0,a[Ob>>0]=0,Pb=b+2|0,ua=sg(Pb,d,e)|0,a[Ob>>0]=Nb,!((ua|0)==(Pb|0)|(ua|0)==(d|0))):0){if((a[ua>>0]|0)!=95){f=Hg(ua,d,e)|0;if((f|0)==(ua|0)){f=b;break}}else{f=ua+1|0;if((f|0)==(d|0)){f=b;break}do if((a[f>>0]|0)==69){g=e+4|0;h=c[g>>2]|0;j=c[e+8>>2]|0;if(h>>>0>>0){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;Wb=h+12|0;c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;c[g>>2]=(c[g>>2]|0)+24;break}g=c[e>>2]|0;Pb=h-g|0;k=(Pb|0)/24|0;h=k+1|0;if((Pb|0)<-24)ug(e);g=(j-g|0)/24|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?h:g}else g=2147483647;zg(Wb,g,k,e+12|0);Pb=Wb+8|0;Ob=c[Pb>>2]|0;c[Ob>>2]=0;c[Ob+4>>2]=0;c[Ob+8>>2]=0;c[Ob+12>>2]=0;c[Ob+16>>2]=0;c[Ob+20>>2]=0;c[Ob>>2]=0;c[Ob+4>>2]=0;c[Ob+8>>2]=0;d=Ob+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[Pb>>2]=Ob+24;Bg(e,Wb);Ag(Wb)}else while(1){g=Hg(f,d,e)|0;if((g|0)==(f|0)|(g|0)==(d|0)){f=b;break d}if((a[g>>0]|0)==69){f=g;break}else f=g}while(0);f=f+1|0}k=e+4|0;g=c[k>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0>=2){Jg(Xb,g+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{Wb=j+-24|0;c[k>>2]=Wb;eg(Wb);j=c[k>>2]|0}while((j|0)!=(h|0));Wb=g+-48|0;Jg(Qb,Wb);b=qg(Qb,0,19704)|0;c[Ub>>2]=c[b>>2];c[Ub+4>>2]=c[b+4>>2];c[Ub+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Ub,20894)|0;c[Rb>>2]=c[b>>2];c[Rb+4>>2]=c[b+4>>2];c[Rb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[Xb>>0]|0;e=(b&1)==0;b=gg(Rb,e?Xb+1|0:c[Xb+8>>2]|0,e?(b&255)>>>1:c[Xb+4>>2]|0)|0;c[Sb>>2]=c[b>>2];c[Sb+4>>2]=c[b+4>>2];c[Sb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Sb,19609)|0;c[Tb>>2]=c[b>>2];c[Tb+4>>2]=c[b+4>>2];c[Tb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Pg(Vb,Tb);Qg(Wb,Vb);eg(Vb);og(Tb);og(Sb);og(Rb);og(Ub);og(Qb);og(Xb)}else f=b}else f=b;while(0);break a}default:{f=b;break a}}case 100:switch(a[ta+1>>0]|0){case 97:{Xb=ta+2|0;f=Hg(Xb,d,e)|0;if((f|0)==(Xb|0)){f=b;break a}g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==(h|0)){f=b;break a}q=h+-24|0;if(ib)Dg(Ab,19892,2);else{c[Ab>>2]=0;c[Ab+4>>2]=0;c[Ab+8>>2]=0}Xb=rg(Ab,20897)|0;c[zb>>2]=c[Xb>>2];c[zb+4>>2]=c[Xb+4>>2];c[zb+8>>2]=c[Xb+8>>2];c[Xb>>2]=0;c[Xb+4>>2]=0;c[Xb+8>>2]=0;Jg(Bb,(c[g>>2]|0)+-24|0);Xb=a[Bb>>0]|0;Wb=(Xb&1)==0;Xb=gg(zb,Wb?Bb+1|0:c[Bb+8>>2]|0,Wb?(Xb&255)>>>1:c[Bb+4>>2]|0)|0;c[yb>>2]=c[Xb>>2];c[yb+4>>2]=c[Xb+4>>2];c[yb+8>>2]=c[Xb+8>>2];c[Xb>>2]=0;c[Xb+4>>2]=0;c[Xb+8>>2]=0;do if(a[q>>0]&1){p=h+-16|0;a[c[p>>2]>>0]=0;m=h+-20|0;c[m>>2]=0;g=a[q>>0]|0;if(!(g&1))l=10;else{l=c[q>>2]|0;g=l&255;l=(l&-2)+-1|0}if(!(g&1)){h=(g&255)>>>1;if((g&255)<22){o=1;k=10;n=h}else{o=1;k=(h+16&240)+-1|0;n=h}}else{o=0;k=10;n=0}if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){tt(j|0,h|0,((g&255)>>>1)+1|0)|0;nj(h)}else{a[j>>0]=a[h>>0]|0;nj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=mj(h)|0;if(!(k>>>0<=l>>>0&(j|0)==0)){if(o)tt(j|0,q+1|0,((g&255)>>>1)+1|0)|0;else{Xb=c[p>>2]|0;a[j>>0]=a[Xb>>0]|0;nj(Xb)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[yb>>2];c[q+4>>2]=c[yb+4>>2];c[q+8>>2]=c[yb+8>>2];c[yb>>2]=0;c[yb+4>>2]=0;c[yb+8>>2]=0;og(yb);og(Bb);og(zb);og(Ab);break a}case 99:{if((((((ra|0)>2?(a[b>>0]|0)==100:0)?(a[b+1>>0]|0)==99:0)?(Qb=b+2|0,ea=sg(Qb,d,e)|0,(ea|0)!=(Qb|0)):0)?(Ma=Hg(ea,d,e)|0,(Ma|0)!=(ea|0)):0)?(Na=e+4|0,ga=c[Na>>2]|0,((ga-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Jg(Wb,ga+-24|0);f=c[Na>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[Na>>2]=b;eg(b);h=c[Na>>2]|0}while((h|0)!=(g|0));f=f+-48|0;Jg(Ub,f);b=qg(Ub,0,20907)|0;c[Rb>>2]=c[b>>2];c[Rb+4>>2]=c[b+4>>2];c[Rb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Rb,20889)|0;c[Sb>>2]=c[b>>2];c[Sb+4>>2]=c[b+4>>2];c[Sb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[Wb>>0]|0;e=(b&1)==0;b=gg(Sb,e?Wb+1|0:c[Wb+8>>2]|0,e?(b&255)>>>1:c[Wb+4>>2]|0)|0;c[Tb>>2]=c[b>>2];c[Tb+4>>2]=c[b+4>>2];c[Tb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Tb,19609)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Pg(Xb,Vb);Qg(f,Xb);eg(Xb);og(Vb);og(Tb);og(Sb);og(Rb);og(Ub);og(Wb);f=Ma}else f=b;break a}case 101:{Xb=b+2|0;Dg(G,19749,1);f=sh(Xb,d,G,e)|0;og(G);f=(f|0)==(Xb|0)?b:f;break a}case 108:{Xb=ta+2|0;f=Hg(Xb,d,e)|0;if((f|0)==(Xb|0)){f=b;break a}g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==(h|0)){f=b;break a}q=h+-24|0;if(ib)Dg(Eb,19892,2);else{c[Eb>>2]=0;c[Eb+4>>2]=0;c[Eb+8>>2]=0}Xb=rg(Eb,20921)|0;c[Db>>2]=c[Xb>>2];c[Db+4>>2]=c[Xb+4>>2];c[Db+8>>2]=c[Xb+8>>2];c[Xb>>2]=0;c[Xb+4>>2]=0;c[Xb+8>>2]=0;Jg(Fb,(c[g>>2]|0)+-24|0);Xb=a[Fb>>0]|0;Wb=(Xb&1)==0;Xb=gg(Db,Wb?Fb+1|0:c[Fb+8>>2]|0,Wb?(Xb&255)>>>1:c[Fb+4>>2]|0)|0;c[Cb>>2]=c[Xb>>2];c[Cb+4>>2]=c[Xb+4>>2];c[Cb+8>>2]=c[Xb+8>>2];c[Xb>>2]=0;c[Xb+4>>2]=0;c[Xb+8>>2]=0;do if(a[q>>0]&1){p=h+-16|0;a[c[p>>2]>>0]=0;m=h+-20|0;c[m>>2]=0;g=a[q>>0]|0;if(!(g&1))l=10;else{l=c[q>>2]|0;g=l&255;l=(l&-2)+-1|0}if(!(g&1)){h=(g&255)>>>1;if((g&255)<22){o=1;k=10;n=h}else{o=1;k=(h+16&240)+-1|0;n=h}}else{o=0;k=10;n=0}if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){tt(j|0,h|0,((g&255)>>>1)+1|0)|0;nj(h)}else{a[j>>0]=a[h>>0]|0;nj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=mj(h)|0;if(!(k>>>0<=l>>>0&(j|0)==0)){if(o)tt(j|0,q+1|0,((g&255)>>>1)+1|0)|0;else{Xb=c[p>>2]|0;a[j>>0]=a[Xb>>0]|0;nj(Xb)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[Cb>>2];c[q+4>>2]=c[Cb+4>>2];c[q+8>>2]=c[Cb+8>>2];c[Cb>>2]=0;c[Cb+4>>2]=0;c[Cb+8>>2]=0;og(Cb);og(Fb);og(Db);og(Eb);break a}case 110:{f=th(b,d,e)|0;break a}case 115:{if((((((ra|0)>2?(a[b>>0]|0)==100:0)?(a[b+1>>0]|0)==115:0)?(Vb=b+2|0,ja=Hg(Vb,d,e)|0,(ja|0)!=(Vb|0)):0)?(Sa=Hg(ja,d,e)|0,(Sa|0)!=(ja|0)):0)?(Ta=e+4|0,ka=c[Ta>>2]|0,((ka-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Jg(Wb,ka+-24|0);f=c[Ta>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[Ta>>2]=b;eg(b);h=c[Ta>>2]|0}while((h|0)!=(g|0));Ug(Xb,20929,Wb);b=a[Xb>>0]|0;e=(b&1)==0;gg(f+-48|0,e?Xb+1|0:c[Xb+8>>2]|0,e?(b&255)>>>1:c[Xb+4>>2]|0)|0;og(Xb);og(Wb);f=Sa}else f=b;break a}case 116:{if((((((ra|0)>2?(a[b>>0]|0)==100:0)?(a[b+1>>0]|0)==116:0)?(Vb=b+2|0,na=Hg(Vb,d,e)|0,(na|0)!=(Vb|0)):0)?(Ua=th(na,d,e)|0,(Ua|0)!=(na|0)):0)?(Va=e+4|0,pa=c[Va>>2]|0,((pa-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Jg(Wb,pa+-24|0);f=c[Va>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[Va>>2]=b;eg(b);h=c[Va>>2]|0}while((h|0)!=(g|0));Ug(Xb,26595,Wb);b=a[Xb>>0]|0;e=(b&1)==0;gg(f+-48|0,e?Xb+1|0:c[Xb+8>>2]|0,e?(b&255)>>>1:c[Xb+4>>2]|0)|0;og(Xb);og(Wb);f=Ua}else f=b;break a}case 118:{Xb=b+2|0;Dg(J,20932,1);f=rh(Xb,d,J,e)|0;og(J);f=(f|0)==(Xb|0)?b:f;break a}case 86:{Xb=b+2|0;Dg(K,20934,2);f=rh(Xb,d,K,e)|0;og(K);f=(f|0)==(Xb|0)?b:f;break a}default:{f=b;break a}}case 101:switch(a[ta+1>>0]|0){case 111:{Xb=b+2|0;Dg(L,20937,1);f=rh(Xb,d,L,e)|0;og(L);f=(f|0)==(Xb|0)?b:f;break a}case 79:{Xb=b+2|0;Dg(N,20939,2);f=rh(Xb,d,N,e)|0;og(N);f=(f|0)==(Xb|0)?b:f;break a}case 113:{Xb=b+2|0;Dg(O,20942,2);f=rh(Xb,d,O,e)|0;og(O);f=(f|0)==(Xb|0)?b:f;break a}default:{f=b;break a}}case 103:switch(a[ta+1>>0]|0){case 101:{Xb=b+2|0;Dg(P,20945,2);f=rh(Xb,d,P,e)|0;og(P);f=(f|0)==(Xb|0)?b:f;break a}case 116:{Xb=b+2|0;Dg(Q,19768,1);f=rh(Xb,d,Q,e)|0;og(Q);f=(f|0)==(Xb|0)?b:f;break a}default:{f=b;break a}}case 105:{if((a[ta+1>>0]|0)!=120){f=b;break a}Xb=b+2|0;g=Hg(Xb,d,e)|0;if((g|0)==(Xb|0)){f=b;break a}f=Hg(g,d,e)|0;k=e+4|0;h=c[k>>2]|0;if((f|0)==(g|0)){g=h+-24|0;f=h;while(1){Xb=f+-24|0;c[k>>2]=Xb;eg(Xb);f=c[k>>2]|0;if((f|0)==(g|0)){f=b;break a}}}if(((h-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Jg(gb,h+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{Xb=j+-24|0;c[k>>2]=Xb;eg(Xb);j=c[k>>2]|0}while((j|0)!=(h|0));Jg(fb,g+-48|0);Xb=(c[k>>2]|0)+-24|0;Ug(eb,19704,fb);Wb=rg(eb,20948)|0;c[db>>2]=c[Wb>>2];c[db+4>>2]=c[Wb+4>>2];c[db+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=a[gb>>0]|0;b=(Wb&1)==0;Wb=gg(db,b?gb+1|0:c[gb+8>>2]|0,b?(Wb&255)>>>1:c[gb+4>>2]|0)|0;c[cb>>2]=c[Wb>>2];c[cb+4>>2]=c[Wb+4>>2];c[cb+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=rg(cb,19693)|0;c[bb>>2]=c[Wb>>2];c[bb+4>>2]=c[Wb+4>>2];c[bb+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Pg(ab,bb);Qg(Xb,ab);eg(ab);og(bb);og(cb);og(db);og(eb);og(fb);og(gb);break a}case 108:switch(a[ta+1>>0]|0){case 101:{Xb=b+2|0;Dg(R,20951,2);f=rh(Xb,d,R,e)|0;og(R);f=(f|0)==(Xb|0)?b:f;break a}case 115:{Xb=b+2|0;Dg(S,20954,2);f=rh(Xb,d,S,e)|0;og(S);f=(f|0)==(Xb|0)?b:f;break a}case 83:{Xb=b+2|0;Dg(T,20957,3);f=rh(Xb,d,T,e)|0;og(T);f=(f|0)==(Xb|0)?b:f;break a}case 116:{Xb=b+2|0;Dg(U,19766,1);f=rh(Xb,d,U,e)|0;og(U);f=(f|0)==(Xb|0)?b:f;break a}default:{f=b;break a}}case 109:switch(a[ta+1>>0]|0){case 105:{Xb=b+2|0;Dg(V,20961,1);f=rh(Xb,d,V,e)|0;og(V);f=(f|0)==(Xb|0)?b:f;break a}case 73:{Xb=b+2|0;Dg(W,20963,2);f=rh(Xb,d,W,e)|0;og(W);f=(f|0)==(Xb|0)?b:f;break a}case 108:{Xb=b+2|0;Dg(X,19749,1);f=rh(Xb,d,X,e)|0;og(X);f=(f|0)==(Xb|0)?b:f;break a}case 76:{Xb=b+2|0;Dg(Y,20966,2);f=rh(Xb,d,Y,e)|0;og(Y);f=(f|0)==(Xb|0)?b:f;break a}case 109:{g=b+2|0;if((g|0)!=(d|0)?(a[g>>0]|0)==95:0){Xb=b+3|0;Dg(va,20969,2);f=sh(Xb,d,va,e)|0;og(va);f=(f|0)==(Xb|0)?b:f;break a}f=Hg(g,d,e)|0;if((f|0)==(g|0)){f=b;break a}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}Xb=g+-24|0;Jg(La,Xb);Wb=qg(La,0,19704)|0;c[Ka>>2]=c[Wb>>2];c[Ka+4>>2]=c[Wb+4>>2];c[Ka+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=rg(Ka,20972)|0;c[Ja>>2]=c[Wb>>2];c[Ja+4>>2]=c[Wb+4>>2];c[Ja+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Pg(Ia,Ja);Qg(Xb,Ia);eg(Ia);og(Ja);og(Ka);og(La);break a}default:{f=b;break a}}case 110:switch(a[ta+1>>0]|0){case 119:case 97:{e:do if(sa){f=a[b>>0]|0;if(f<<24>>24==103){t=(a[b+1>>0]|0)==115;g=t?b+2|0:b;f=a[g>>0]|0}else{t=0;g=b}if(f<<24>>24==110){f=a[g+1>>0]|0;switch(f<<24>>24){case 97:case 119:break;default:{f=b;Ib=319;break e}}s=f<<24>>24==97;f=g+2|0;if((f|0)!=(d|0)){g=0;while(1){if((a[f>>0]|0)==95){q=g;break}Hb=f;f=Hg(f,d,e)|0;if((f|0)==(Hb|0)|(f|0)==(d|0)){f=b;break e}else g=1}Hb=f+1|0;g=sg(Hb,d,e)|0;if(!((g|0)==(Hb|0)|(g|0)==(d|0))){f=a[g>>0]|0;f:do if(!((ub-g|0)>2&f<<24>>24==112))if(f<<24>>24==69){p=0;r=g}else{f=b;break e}else{if((a[g+1>>0]|0)!=105){f=b;break e}f=g+2|0;while(1){if((a[f>>0]|0)==69){p=1;r=f;break f}Hb=f;f=Hg(f,d,e)|0;if((f|0)==(Hb|0)|(f|0)==(d|0)){f=b;break e}}}while(0);c[Xb>>2]=0;c[Xb+4>>2]=0;c[Xb+8>>2]=0;if(p){o=e+4|0;f=c[o>>2]|0;if((c[e>>2]|0)!=(f|0)){Jg(Vb,f+-24|0);g:do if(!(a[Xb>>0]&1)){a[Xb+1>>0]=0;a[Xb>>0]=0}else{k=Xb+8|0;g=c[k>>2]|0;a[g>>0]=0;l=Xb+4|0;c[l>>2]=0;m=c[Xb>>2]|0;n=(m&-2)+-1|0;h=m&255;do if(!(h&1)){f=m>>>1&127;if((h&255)<22){tt(Xb+1|0,g|0,(m>>>1&127)+1|0)|0;nj(g);break}g=f+16&240;j=g+-1|0;if((j|0)==(n|0))break g;h=mj(g)|0;if(j>>>0<=n>>>0&(h|0)==0)break g;tt(h|0,Xb+1|0,(m>>>1&127)+1|0)|0;c[Xb>>2]=g|1;c[l>>2]=f;c[k>>2]=h;break g}else{a[Xb+1>>0]=0;nj(g);f=0}while(0);a[Xb>>0]=f<<1}while(0);c[Xb>>2]=c[Vb>>2];c[Xb+4>>2]=c[Vb+4>>2];c[Xb+8>>2]=c[Vb+8>>2];c[Vb>>2]=0;c[Vb+4>>2]=0;c[Vb+8>>2]=0;og(Vb);f=c[o>>2]|0;g=f+-24|0;do{Vb=f+-24|0;c[o>>2]=Vb;eg(Vb);f=c[o>>2]|0}while((f|0)!=(g|0));Jb=o;Kb=e;Gb=g;Ib=283}}else{Gb=e+4|0;Jb=Gb;Kb=e;Gb=c[Gb>>2]|0;Ib=283}if((Ib|0)==283?(c[Kb>>2]|0)!=(Gb|0):0){Jg(Tb,Gb+-24|0);f=c[Jb>>2]|0;g=f+-24|0;h=f;do{Vb=h+-24|0;c[Jb>>2]=Vb;eg(Vb);h=c[Jb>>2]|0}while((h|0)!=(g|0));c[Sb>>2]=0;c[Sb+4>>2]=0;c[Sb+8>>2]=0;if(q)if((c[Kb>>2]|0)==(g|0)){f=b;g=0}else{Jg(Rb,f+-48|0);h:do if(!(a[Sb>>0]&1)){a[Sb+1>>0]=0;a[Sb>>0]=0}else{k=Sb+8|0;g=c[k>>2]|0;a[g>>0]=0;l=Sb+4|0;c[l>>2]=0;m=c[Sb>>2]|0;n=(m&-2)+-1|0;h=m&255;do if(!(h&1)){f=m>>>1&127;if((h&255)<22){tt(Sb+1|0,g|0,(m>>>1&127)+1|0)|0;nj(g);break}g=f+16&240;j=g+-1|0;if((j|0)==(n|0))break h;h=mj(g)|0;if(j>>>0<=n>>>0&(h|0)==0)break h;tt(h|0,Sb+1|0,(m>>>1&127)+1|0)|0;c[Sb>>2]=g|1;c[l>>2]=f;c[k>>2]=h;break h}else{a[Sb+1>>0]=0;nj(g);f=0}while(0);a[Sb>>0]=f<<1}while(0);c[Sb>>2]=c[Rb>>2];c[Sb+4>>2]=c[Rb+4>>2];c[Sb+8>>2]=c[Rb+8>>2];c[Rb>>2]=0;c[Rb+4>>2]=0;c[Rb+8>>2]=0;og(Rb);g=c[Jb>>2]|0;f=g+-24|0;do{Vb=g+-24|0;c[Jb>>2]=Vb;eg(Vb);g=c[Jb>>2]|0}while((g|0)!=(f|0));Ib=300}else Ib=300;if((Ib|0)==300){c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;if(t)$g(Ub,19892,2);if(s)rg(Ub,20976)|0;else rg(Ub,19716)|0;if(q){Ug(Mb,19704,Sb);Vb=rg(Mb,20980)|0;c[Qb>>2]=c[Vb>>2];c[Qb+4>>2]=c[Vb+4>>2];c[Qb+8>>2]=c[Vb+8>>2];c[Vb>>2]=0;c[Vb+4>>2]=0;c[Vb+8>>2]=0;Vb=a[Qb>>0]|0;Rb=(Vb&1)==0;gg(Ub,Rb?Qb+1|0:c[Qb+8>>2]|0,Rb?(Vb&255)>>>1:c[Qb+4>>2]|0)|0;og(Qb);og(Mb)}Vb=a[Tb>>0]|0;Rb=(Vb&1)==0;gg(Ub,Rb?Tb+1|0:c[Tb+8>>2]|0,Rb?(Vb&255)>>>1:c[Tb+4>>2]|0)|0;if(p){Ug(Lb,19606,Xb);Vb=rg(Lb,19609)|0;c[Nb>>2]=c[Vb>>2];c[Nb+4>>2]=c[Vb+4>>2];c[Nb+8>>2]=c[Vb+8>>2];c[Vb>>2]=0;c[Vb+4>>2]=0;c[Vb+8>>2]=0;Vb=a[Nb>>0]|0;Rb=(Vb&1)==0;gg(Ub,Rb?Nb+1|0:c[Nb+8>>2]|0,Rb?(Vb&255)>>>1:c[Nb+4>>2]|0)|0;og(Nb);og(Lb)};c[Pb>>2]=c[Ub>>2];c[Pb+4>>2]=c[Ub+4>>2];c[Pb+8>>2]=c[Ub+8>>2];c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;Pg(Ob,Pb);f=c[Jb>>2]|0;k=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,Ob);c[Jb>>2]=(c[Jb>>2]|0)+24}else{g=c[Kb>>2]|0;Vb=f-g|0;j=(Vb|0)/24|0;h=j+1|0;if((Vb|0)<-24)ug(e);f=(k-g|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f}else f=2147483647;zg(Wb,f,j,e+12|0);Vb=Wb+8|0;Rb=c[Vb>>2]|0;Ig(Rb,Ob);c[Vb>>2]=Rb+24;Bg(e,Wb);Ag(Wb)}eg(Ob);og(Pb);og(Ub);f=r+1|0;g=1}og(Sb);og(Tb);og(Xb);if(g){Ib=319;break}else{f=b;break}}og(Xb);f=b}else f=b}else f=b}else{f=b;Ib=319}}else{f=b;Ib=319}while(0);break a}case 101:{Xb=b+2|0;Dg(Z,20983,2);f=rh(Xb,d,Z,e)|0;og(Z);f=(f|0)==(Xb|0)?b:f;break a}case 103:{Xb=b+2|0;Dg(_,20961,1);f=sh(Xb,d,_,e)|0;og(_);f=(f|0)==(Xb|0)?b:f;break a}case 116:{Xb=b+2|0;Dg($,20986,1);f=sh(Xb,d,$,e)|0;og($);f=(f|0)==(Xb|0)?b:f;break a}case 120:{r=b+2|0;f=Hg(r,d,e)|0;if((f|0)!=(r|0)?(Xa=c[e+4>>2]|0,(c[e>>2]|0)!=(Xa|0)):0){q=Xa+-24|0;Jg(Vb,q);e=qg(Vb,0,20988)|0;c[Xb>>2]=c[e>>2];c[Xb+4>>2]=c[e+4>>2];c[Xb+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;e=rg(Xb,19609)|0;c[Wb>>2]=c[e>>2];c[Wb+4>>2]=c[e+4>>2];c[Wb+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;do if(a[q>>0]&1){p=Xa+-16|0;a[c[p>>2]>>0]=0;m=Xa+-20|0;c[m>>2]=0;g=a[q>>0]|0;if(!(g&1))l=10;else{l=c[q>>2]|0;g=l&255;l=(l&-2)+-1|0}if(!(g&1)){h=(g&255)>>>1;if((g&255)<22){k=10;n=h;o=1}else{k=(h+16&240)+-1|0;n=h;o=1}}else{k=10;n=0;o=0}if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){tt(j|0,h|0,((g&255)>>>1)+1|0)|0;nj(h)}else{a[j>>0]=a[h>>0]|0;nj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=mj(h)|0;if(!(k>>>0<=l>>>0&(j|0)==0)){if(o)tt(j|0,q+1|0,((g&255)>>>1)+1|0)|0;else{e=c[p>>2]|0;a[j>>0]=a[e>>0]|0;nj(e)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[Wb>>2];c[q+4>>2]=c[Wb+4>>2];c[q+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;og(Wb);og(Xb);og(Vb)}else f=r;f=(f|0)==(r|0)?b:f;break a}default:{f=b;break a}}case 111:switch(a[ta+1>>0]|0){case 110:{f=th(b,d,e)|0;break a}case 111:{Xb=b+2|0;Dg(aa,20999,2);f=rh(Xb,d,aa,e)|0;og(aa);f=(f|0)==(Xb|0)?b:f;break a}case 114:{Xb=b+2|0;Dg(ba,21002,1);f=rh(Xb,d,ba,e)|0;og(ba);f=(f|0)==(Xb|0)?b:f;break a}case 82:{Xb=b+2|0;Dg(ca,21004,2);f=rh(Xb,d,ca,e)|0;og(ca);f=(f|0)==(Xb|0)?b:f;break a}default:{f=b;break a}}case 112:switch(a[ta+1>>0]|0){case 109:{Xb=b+2|0;Dg(da,21007,3);f=rh(Xb,d,da,e)|0;og(da);f=(f|0)==(Xb|0)?b:f;break a}case 108:{Xb=b+2|0;Dg(fa,21011,1);f=rh(Xb,d,fa,e)|0;og(fa);f=(f|0)==(Xb|0)?b:f;break a}case 76:{Xb=b+2|0;Dg(ha,21013,2);f=rh(Xb,d,ha,e)|0;og(ha);f=(f|0)==(Xb|0)?b:f;break a}case 112:{g=b+2|0;if((g|0)!=(d|0)?(a[g>>0]|0)==95:0){Xb=b+3|0;Dg(wa,21016,2);f=sh(Xb,d,wa,e)|0;og(wa);f=(f|0)==(Xb|0)?b:f;break a}f=Hg(g,d,e)|0;if((f|0)==(g|0)){f=b;break a}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}Xb=g+-24|0;Jg(Ra,Xb);Wb=qg(Ra,0,19704)|0;c[Qa>>2]=c[Wb>>2];c[Qa+4>>2]=c[Wb+4>>2];c[Qa+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=rg(Qa,21019)|0;c[Pa>>2]=c[Wb>>2];c[Pa+4>>2]=c[Wb+4>>2];c[Pa+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Pg(Oa,Pa);Qg(Xb,Oa);eg(Oa);og(Pa);og(Qa);og(Ra);break a}case 115:{Xb=b+2|0;Dg(ia,21011,1);f=sh(Xb,d,ia,e)|0;og(ia);f=(f|0)==(Xb|0)?b:f;break a}case 116:{if((((((ra|0)>2?(a[b>>0]|0)==112:0)?(a[b+1>>0]|0)==116:0)?(Xb=b+2|0,j=Hg(Xb,d,e)|0,(j|0)!=(Xb|0)):0)?(f=Hg(j,d,e)|0,(f|0)!=(j|0)):0)?(za=e+4|0,k=c[za>>2]|0,((k-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Jg(Wb,k+-24|0);g=c[za>>2]|0;h=g+-24|0;j=g;do{Xb=j+-24|0;c[za>>2]=Xb;eg(Xb);j=c[za>>2]|0}while((j|0)!=(h|0));rg(g+-48|0,21023)|0;Xb=a[Wb>>0]|0;b=(Xb&1)==0;gg((c[za>>2]|0)+-24|0,b?Wb+1|0:c[Wb+8>>2]|0,b?(Xb&255)>>>1:c[Wb+4>>2]|0)|0;og(Wb)}else f=b;break a}default:{f=b;break a}}case 113:{if((a[ta+1>>0]|0)!=117){f=b;break a}Xb=b+2|0;f=Hg(Xb,d,e)|0;if((f|0)==(Xb|0)){f=b;break a}g=Hg(f,d,e)|0;if((g|0)==(f|0)){f=e+4|0;h=c[f>>2]|0;g=h+-24|0;while(1){Xb=h+-24|0;c[f>>2]=Xb;eg(Xb);h=c[f>>2]|0;if((h|0)==(g|0)){f=b;break a}}}f=Hg(g,d,e)|0;k=e+4|0;h=c[k>>2]|0;if((f|0)==(g|0)){f=h+-24|0;g=h;do{Xb=g+-24|0;c[k>>2]=Xb;eg(Xb);g=c[k>>2]|0}while((g|0)!=(f|0));g=h+-48|0;while(1){Xb=f+-24|0;c[k>>2]=Xb;eg(Xb);f=c[k>>2]|0;if((f|0)==(g|0)){f=b;break a}}}if(((h-(c[e>>2]|0)|0)/24|0)>>>0<3){f=b;break a}Jg(tb,h+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{Xb=j+-24|0;c[k>>2]=Xb;eg(Xb);j=c[k>>2]|0}while((j|0)!=(h|0));Jg(sb,g+-48|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{Xb=j+-24|0;c[k>>2]=Xb;eg(Xb);j=c[k>>2]|0}while((j|0)!=(h|0));Jg(rb,g+-48|0);Xb=(c[k>>2]|0)+-24|0;Ug(qb,19704,rb);Wb=rg(qb,21026)|0;c[pb>>2]=c[Wb>>2];c[pb+4>>2]=c[Wb+4>>2];c[pb+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=a[sb>>0]|0;b=(Wb&1)==0;Wb=gg(pb,b?sb+1|0:c[sb+8>>2]|0,b?(Wb&255)>>>1:c[sb+4>>2]|0)|0;c[ob>>2]=c[Wb>>2];c[ob+4>>2]=c[Wb+4>>2];c[ob+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=rg(ob,21032)|0;c[nb>>2]=c[Wb>>2];c[nb+4>>2]=c[Wb+4>>2];c[nb+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=a[tb>>0]|0;b=(Wb&1)==0;Wb=gg(nb,b?tb+1|0:c[tb+8>>2]|0,b?(Wb&255)>>>1:c[tb+4>>2]|0)|0;c[mb>>2]=c[Wb>>2];c[mb+4>>2]=c[Wb+4>>2];c[mb+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=rg(mb,19609)|0;c[lb>>2]=c[Wb>>2];c[lb+4>>2]=c[Wb+4>>2];c[lb+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Pg(kb,lb);Qg(Xb,kb);eg(kb);og(lb);og(mb);og(nb);og(ob);og(pb);og(qb);og(rb);og(sb);og(tb);break a}case 114:switch(a[ta+1>>0]|0){case 99:{if((((((ra|0)>2?(a[b>>0]|0)==114:0)?(a[b+1>>0]|0)==99:0)?(Qb=b+2|0,m=sg(Qb,d,e)|0,(m|0)!=(Qb|0)):0)?(Aa=Hg(m,d,e)|0,(Aa|0)!=(m|0)):0)?(Ba=e+4|0,o=c[Ba>>2]|0,((o-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Jg(Wb,o+-24|0);f=c[Ba>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[Ba>>2]=b;eg(b);h=c[Ba>>2]|0}while((h|0)!=(g|0));f=f+-48|0;Jg(Ub,f);b=qg(Ub,0,21038)|0;c[Rb>>2]=c[b>>2];c[Rb+4>>2]=c[b+4>>2];c[Rb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Rb,20889)|0;c[Sb>>2]=c[b>>2];c[Sb+4>>2]=c[b+4>>2];c[Sb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[Wb>>0]|0;e=(b&1)==0;b=gg(Sb,e?Wb+1|0:c[Wb+8>>2]|0,e?(b&255)>>>1:c[Wb+4>>2]|0)|0;c[Tb>>2]=c[b>>2];c[Tb+4>>2]=c[b+4>>2];c[Tb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Tb,19609)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Pg(Xb,Vb);Qg(f,Xb);eg(Xb);og(Vb);og(Tb);og(Sb);og(Rb);og(Ub);og(Wb);f=Aa}else f=b;break a}case 109:{Xb=b+2|0;Dg(la,21056,1);f=rh(Xb,d,la,e)|0;og(la);f=(f|0)==(Xb|0)?b:f;break a}case 77:{Xb=b+2|0;Dg(ma,21058,2);f=rh(Xb,d,ma,e)|0;og(ma);f=(f|0)==(Xb|0)?b:f;break a}case 115:{Xb=b+2|0;Dg(oa,21061,2);f=rh(Xb,d,oa,e)|0;og(oa);f=(f|0)==(Xb|0)?b:f;break a}case 83:{Wb=b+2|0;Dg(qa,21064,3);Xb=rh(Wb,d,qa,e)|0;og(qa);i=Yb;return ((Xb|0)==(Wb|0)?b:Xb)|0}default:{f=b;break a}}case 115:switch(a[ta+1>>0]|0){case 99:{if((((((ra|0)>2?(a[b>>0]|0)==115:0)?(a[b+1>>0]|0)==99:0)?(Qb=b+2|0,p=sg(Qb,d,e)|0,(p|0)!=(Qb|0)):0)?(Ca=Hg(p,d,e)|0,(Ca|0)!=(p|0)):0)?(Da=e+4|0,q=c[Da>>2]|0,((q-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Jg(Wb,q+-24|0);f=c[Da>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[Da>>2]=b;eg(b);h=c[Da>>2]|0}while((h|0)!=(g|0));f=f+-48|0;Jg(Ub,f);b=qg(Ub,0,21068)|0;c[Rb>>2]=c[b>>2];c[Rb+4>>2]=c[b+4>>2];c[Rb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Rb,20889)|0;c[Sb>>2]=c[b>>2];c[Sb+4>>2]=c[b+4>>2];c[Sb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[Wb>>0]|0;e=(b&1)==0;b=gg(Sb,e?Wb+1|0:c[Wb+8>>2]|0,e?(b&255)>>>1:c[Wb+4>>2]|0)|0;c[Tb>>2]=c[b>>2];c[Tb+4>>2]=c[b+4>>2];c[Tb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Tb,19609)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Pg(Xb,Vb);Qg(f,Xb);eg(Xb);og(Vb);og(Tb);og(Sb);og(Rb);og(Ub);og(Wb);f=Ca}else f=b;break a}case 112:{if((ra|0)<=2){f=b;break a}if((a[b>>0]|0)!=115){f=b;break a}if((a[b+1>>0]|0)!=112){f=b;break a}Xb=b+2|0;f=Hg(Xb,d,e)|0;f=(f|0)==(Xb|0)?b:f;break a}case 114:{f=th(b,d,e)|0;break a}case 116:{if(((((ra|0)>2?(a[b>>0]|0)==115:0)?(a[b+1>>0]|0)==116:0)?(Ub=b+2|0,s=sg(Ub,d,e)|0,(s|0)!=(Ub|0)):0)?(t=c[e+4>>2]|0,(c[e>>2]|0)!=(t|0)):0){f=t+-24|0;Jg(Tb,f);b=qg(Tb,0,21081)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Vb,19609)|0;c[Xb>>2]=c[b>>2];c[Xb+4>>2]=c[b+4>>2];c[Xb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Pg(Wb,Xb);Qg(f,Wb);eg(Wb);og(Xb);og(Vb);og(Tb);f=s}else f=b;break a}case 122:{if(((((ra|0)>2?(a[b>>0]|0)==115:0)?(a[b+1>>0]|0)==122:0)?(Ub=b+2|0,u=Hg(Ub,d,e)|0,(u|0)!=(Ub|0)):0)?(v=c[e+4>>2]|0,(c[e>>2]|0)!=(v|0)):0){f=v+-24|0;Jg(Tb,f);b=qg(Tb,0,21081)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Vb,19609)|0;c[Xb>>2]=c[b>>2];c[Xb+4>>2]=c[b+4>>2];c[Xb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Pg(Wb,Xb);Qg(f,Wb);eg(Wb);og(Xb);og(Vb);og(Tb);f=u}else f=b;break a}case 90:{if((ub-ta|0)<=2){f=b;break a}switch(a[ta+2>>0]|0){case 84:break;case 102:{if((((((ra|0)>2?(a[b>>0]|0)==115:0)?(a[b+1>>0]|0)==90:0)?(y=b+2|0,(a[y>>0]|0)==102):0)?(z=qh(y,d,e)|0,(z|0)!=(y|0)):0)?(A=c[e+4>>2]|0,(c[e>>2]|0)!=(A|0)):0){f=A+-24|0;Jg(Tb,f);b=qg(Tb,0,21090)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=rg(Vb,19609)|0;c[Xb>>2]=c[b>>2];c[Xb+4>>2]=c[b+4>>2];c[Xb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Pg(Wb,Xb);Qg(f,Wb);eg(Wb);og(Xb);og(Vb);og(Tb);f=z}else f=b;break a}default:{f=b;break a}}if(((((ra|0)>2?(a[b>>0]|0)==115:0)?(a[b+1>>0]|0)==90:0)?(w=b+2|0,(a[w>>0]|0)==84):0)?(jb=e+4|0,$a=((c[jb>>2]|0)-(c[e>>2]|0)|0)/24|0,wb=Lg(w,d,e)|0,Ea=c[e>>2]|0,h=((c[jb>>2]|0)-Ea|0)/24|0,(wb|0)!=(w|0)):0){a[Xb>>0]=20;f=Xb+1|0;g=21090;j=f+10|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(j|0));a[Xb+11>>0]=0;if(($a|0)!=(h|0)?(Jg(Vb,Ea+($a*24|0)|0),Ya=a[Vb>>0]|0,Za=(Ya&1)==0,gg(Xb,Za?Vb+1|0:c[Vb+8>>2]|0,Za?(Ya&255)>>>1:c[Vb+4>>2]|0)|0,og(Vb),Ya=Tb+8|0,Za=Tb+1|0,_a=Tb+4|0,Wa=$a+1|0,(Wa|0)!=(h|0)):0){f=Wa;do{Jg(Sb,(c[e>>2]|0)+(f*24|0)|0);b=qg(Sb,0,19706)|0;c[Tb>>2]=c[b>>2];c[Tb+4>>2]=c[b+4>>2];c[Tb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[Tb>>0]|0;Vb=(b&1)==0;gg(Xb,Vb?Za:c[Ya>>2]|0,Vb?(b&255)>>>1:c[_a>>2]|0)|0;og(Tb);og(Sb);f=f+1|0}while((f|0)!=(h|0))}rg(Xb,19609)|0;if((h|0)!=($a|0))do{g=c[jb>>2]|0;f=g+-24|0;do{b=g+-24|0;c[jb>>2]=b;eg(b);g=c[jb>>2]|0}while((g|0)!=(f|0));h=h+-1|0}while((h|0)!=($a|0));c[Ub>>2]=c[Xb>>2];c[Ub+4>>2]=c[Xb+4>>2];c[Ub+8>>2]=c[Xb+8>>2];c[Xb>>2]=0;c[Xb+4>>2]=0;c[Xb+8>>2]=0;Pg(Rb,Ub);f=c[jb>>2]|0;j=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,Rb);c[jb>>2]=(c[jb>>2]|0)+24}else{g=c[e>>2]|0;b=f-g|0;k=(b|0)/24|0;h=k+1|0;if((b|0)<-24)ug(e);f=(j-g|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f}else f=2147483647;zg(Wb,f,k,e+12|0);b=Wb+8|0;Vb=c[b>>2]|0;Ig(Vb,Rb);c[b>>2]=Vb+24;Bg(e,Wb);Ag(Wb)}eg(Rb);og(Ub);og(Xb);f=wb}else f=b;break a}default:{f=b;break a}}case 116:switch(a[ta+1>>0]|0){case 105:case 101:{i:do if((ra|0)>2?(a[b>>0]|0)==116:0){f=a[b+1>>0]|0;switch(f<<24>>24){case 105:case 101:break;default:{f=b;break i}}g=b+2|0;if(f<<24>>24==101)f=Hg(g,d,e)|0;else f=sg(g,d,e)|0;if((f|0)!=(g|0)?(Fa=c[e+4>>2]|0,(c[e>>2]|0)!=(Fa|0)):0){b=Fa+-24|0;Jg(Tb,b);e=qg(Tb,0,21101)|0;c[Vb>>2]=c[e>>2];c[Vb+4>>2]=c[e+4>>2];c[Vb+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;e=rg(Vb,19609)|0;c[Xb>>2]=c[e>>2];c[Xb+4>>2]=c[e+4>>2];c[Xb+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;Pg(Wb,Xb);Qg(b,Wb);eg(Wb);og(Xb);og(Vb);og(Tb)}else f=b}else f=b;while(0);break a}case 114:{nh(hb,21109);f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Ig(g,hb);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;Xb=g-f|0;j=(Xb|0)/24|0;g=j+1|0;if((Xb|0)<-24)ug(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;zg(Wb,f,j,e+12|0);Xb=Wb+8|0;Vb=c[Xb>>2]|0;Ig(Vb,hb);c[Xb>>2]=Vb+24;Bg(e,Wb);Ag(Wb)}eg(hb);f=b+2|0;break a}case 119:{if(((((ra|0)>2?(a[b>>0]|0)==116:0)?(a[b+1>>0]|0)==119:0)?(Ub=b+2|0,C=Hg(Ub,d,e)|0,(C|0)!=(Ub|0)):0)?(D=c[e+4>>2]|0,(c[e>>2]|0)!=(D|0)):0){f=D+-24|0;Jg(Vb,f);b=qg(Vb,0,21115)|0;c[Xb>>2]=c[b>>2];c[Xb+4>>2]=c[b+4>>2];c[Xb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Pg(Wb,Xb);Qg(f,Wb);eg(Wb);og(Xb);og(Vb);f=C}else f=b;break a}default:{f=b;break a}}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{f=th(b,d,e)|0;break a}default:{f=b;break a}}while(0)}else f=b;while(0);i=Yb;return f|0}function Ig(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=a+12|0;a=b+12|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Jg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+12|0;e=a[g>>0]|0;f=(e&1)==0;d=gg(d,f?g+1|0:c[d+20>>2]|0,f?(e&255)>>>1:c[d+16>>2]|0)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;return}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a>>2]=0;e=a+4|0;c[e>>2]=0;d=c[d>>2]|0;c[a+8>>2]=0;c[a+12>>2]=d;d=ph(d,24)|0;c[e>>2]=d;c[a>>2]=d;c[a+8>>2]=d+24;yg(d,b);yg(d+12|0,b+12|0);c[e>>2]=(c[e>>2]|0)+24;return}function Lg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+64|0;k=r+40|0;o=r+16|0;p=r;m=b;a:do if((d-m|0)>1?(a[b>>0]|0)==84:0){f=a[b+1>>0]|0;if(f<<24>>24==95){f=c[e+36>>2]|0;if((c[e+32>>2]|0)==(f|0)){f=b;break}g=c[f+-16>>2]|0;if((g|0)==(c[f+-12>>2]|0)){a[k>>0]=4;f=k+1|0;a[f>>0]=84;a[f+1>>0]=95;a[k+3>>0]=0;f=k+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Ig(g,k);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;p=g-f|0;j=(p|0)/24|0;g=j+1|0;if((p|0)<-24)ug(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;zg(q,f,j,e+12|0);p=q+8|0;o=c[p>>2]|0;Ig(o,k);c[p>>2]=o+24;Bg(e,q);Ag(q)}eg(k);a[e+62>>0]=1;f=b+2|0;break}f=c[g>>2]|0;j=c[g+4>>2]|0;d=e+4|0;k=e+8|0;l=e+12|0;m=q+8|0;b:do if((f|0)!=(j|0)){while(1){g=c[d>>2]|0;if((g|0)==(c[k>>2]|0)){p=g-(c[e>>2]|0)|0;h=(p|0)/24|0;g=h+1|0;if((p|0)<-24)break;if(h>>>0<1073741823){p=h<<1;g=p>>>0>>0?g:p}else g=2147483647;zg(q,g,h,l);p=c[m>>2]|0;yg(p,f);yg(p+12|0,f+12|0);c[m>>2]=p+24;Bg(e,q);Ag(q)}else{yg(g,f);yg(g+12|0,f+12|0);c[d>>2]=(c[d>>2]|0)+24}f=f+24|0;if((f|0)==(j|0))break b}ug(e)}while(0);f=b+2|0;break}f=(f<<24>>24)+-48|0;if(f>>>0<10?(g=b+2|0,(g|0)!=(d|0)):0){j=g;while(1){g=a[j>>0]|0;h=(g<<24>>24)+-48|0;if(h>>>0>=10){n=j;break}j=j+1|0;if((j|0)==(d|0)){f=b;break a}else f=h+(f*10|0)|0}if(g<<24>>24==95?(l=c[e+36>>2]|0,(c[e+32>>2]|0)!=(l|0)):0){f=f+1|0;g=c[l+-16>>2]|0;if(f>>>0<(c[l+-12>>2]|0)-g>>4>>>0){h=c[g+(f<<4)>>2]|0;j=c[g+(f<<4)+4>>2]|0;d=e+4|0;k=e+8|0;l=e+12|0;m=q+8|0;c:do if((h|0)!=(j|0)){while(1){f=c[d>>2]|0;if((f|0)==(c[k>>2]|0)){b=f-(c[e>>2]|0)|0;g=(b|0)/24|0;f=g+1|0;if((b|0)<-24)break;if(g>>>0<1073741823){b=g<<1;f=b>>>0>>0?f:b}else f=2147483647;zg(q,f,g,l);b=c[m>>2]|0;yg(b,h);yg(b+12|0,h+12|0);c[m>>2]=b+24;Bg(e,q);Ag(q)}else{yg(f,h);yg(f+12|0,h+12|0);c[d>>2]=(c[d>>2]|0)+24}h=h+24|0;if((h|0)==(j|0))break c}ug(e)}while(0);f=n+1|0;break}f=n+1|0;j=f-m|0;if(j>>>0>4294967279)nf(p);if(j>>>0<11){a[p>>0]=j<<1;d=p+1|0}else{m=j+16&-16;d=mj(m)|0;c[p+8>>2]=d;c[p>>2]=m|1;c[p+4>>2]=j}if((f|0)!=(b|0)){g=b;h=d;while(1){a[h>>0]=a[g>>0]|0;if((g|0)==(n|0))break;else{g=g+1|0;h=h+1|0}}}a[d+j>>0]=0;Pg(o,p);g=e+4|0;h=c[g>>2]|0;j=c[e+8>>2]|0;if(h>>>0>>0){Ig(h,o);c[g>>2]=(c[g>>2]|0)+24}else{g=c[e>>2]|0;b=h-g|0;d=(b|0)/24|0;h=d+1|0;if((b|0)<-24)ug(e);g=(j-g|0)/24|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?h:g}else g=2147483647;zg(q,g,d,e+12|0);b=q+8|0;n=c[b>>2]|0;Ig(n,o);c[b>>2]=n+24;Bg(e,q);Ag(q)}eg(o);og(p);a[e+62>>0]=1}else f=b}else f=b}else f=b;while(0);i=r;return f|0}function Mg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+96|0;I=K+64|0;J=K+52|0;B=K+40|0;G=K+16|0;H=K;a:do if((d-b|0)>1?(a[b>>0]|0)==73:0){D=e+61|0;A=e+36|0;if((a[D>>0]|0)!=0?(h=c[A>>2]|0,g=c[h+-16>>2]|0,h=h+-12|0,f=c[h>>2]|0,(f|0)!=(g|0)):0)do{E=f+-16|0;c[h>>2]=E;fg(E);f=c[h>>2]|0}while((f|0)!=(g|0));f=b+1|0;Dg(J,19766,1);E=e+4|0;q=e+12|0;r=I+8|0;s=I+8|0;C=J+4|0;t=B+8|0;u=B+1|0;v=B+4|0;z=e+32|0;w=e+40|0;x=e+44|0;y=I+8|0;b:do if((a[f>>0]|0)!=69){c:while(1){do if(a[D>>0]|0){m=c[q>>2]|0;g=c[A>>2]|0;h=c[w>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=m;c[A>>2]=(c[A>>2]|0)+16;break}j=c[z>>2]|0;p=g-j|0;l=p>>4;k=l+1|0;if((p|0)<-16){f=12;break c}g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;ag(I,g,l,x);p=c[y>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=m;c[y>>2]=p+16;bg(z,I);cg(I)}while(0);p=((c[E>>2]|0)-(c[e>>2]|0)|0)/24|0;o=kh(f,d,e)|0;h=((c[E>>2]|0)-(c[e>>2]|0)|0)/24|0;if(a[D>>0]|0){j=c[A>>2]|0;g=j+-16|0;do{n=j+-16|0;c[A>>2]=n;lg(n);j=c[A>>2]|0}while((j|0)!=(g|0))}if((o|0)==(f|0)|(o|0)==(d|0)){f=56;break}if(a[D>>0]|0){l=c[A>>2]|0;m=l+-16|0;n=c[q>>2]|0;f=l+-12|0;g=c[f>>2]|0;j=c[l+-8>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=n;c[f>>2]=(c[f>>2]|0)+16}else{f=c[m>>2]|0;L=g-f|0;k=L>>4;g=k+1|0;if((L|0)<-16){b=m;f=25;break}f=j-f|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?g:f}else f=2147483647;vg(I,f,k,l+-4|0);L=c[r>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=n;c[r>>2]=L+16;wg(m,I);xg(I)}if(p>>>0>>0){n=p;do{j=c[(c[A>>2]|0)+-12>>2]|0;k=j+-16|0;l=c[e>>2]|0;m=l+(n*24|0)|0;f=j+-12|0;g=c[f>>2]|0;if((g|0)==(c[j+-8>>2]|0)){L=g-(c[k>>2]|0)|0;g=(L|0)/24|0;f=g+1|0;if((L|0)<-24){b=k;f=33;break c}if(g>>>0<1073741823){L=g<<1;f=L>>>0>>0?f:L}else f=2147483647;zg(I,f,g,j+-4|0);L=c[s>>2]|0;yg(L,m);yg(L+12|0,l+(n*24|0)+12|0);c[s>>2]=L+24;Bg(k,I);Ag(I)}else{yg(g,m);yg(g+12|0,l+(n*24|0)+12|0);c[f>>2]=(c[f>>2]|0)+24}n=n+1|0}while(n>>>0>>0)}}if(p>>>0>>0){f=p;do{L=a[J>>0]|0;if(((L&1)==0?(L&255)>>>1:c[C>>2]|0)>>>0>1)rg(J,19706)|0;Jg(B,(c[e>>2]|0)+(f*24|0)|0);L=a[B>>0]|0;n=(L&1)==0;gg(J,n?u:c[t>>2]|0,n?(L&255)>>>1:c[v>>2]|0)|0;og(B);f=f+1|0}while(f>>>0>>0)}if((h|0)!=(p|0))do{g=c[E>>2]|0;f=g+-24|0;do{L=g+-24|0;c[E>>2]=L;eg(L);g=c[E>>2]|0}while((g|0)!=(f|0));h=h+-1|0}while((h|0)!=(p|0));if((a[o>>0]|0)==69){F=o;break b}else f=o}if((f|0)==12)ug(z);else if((f|0)==25)ug(b);else if((f|0)==33)ug(b);else if((f|0)==56){og(J);break a}}else F=f;while(0);b=F+1|0;L=a[J>>0]|0;F=(L&1)==0;if((a[(F?J+1|0:c[J+8>>2]|0)+((F?(L&255)>>>1:c[C>>2]|0)+-1)>>0]|0)==62)rg(J,20751)|0;else rg(J,19768)|0;c[H>>2]=c[J>>2];c[H+4>>2]=c[J+4>>2];c[H+8>>2]=c[J+8>>2];c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;Pg(G,H);f=c[E>>2]|0;j=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,G);c[E>>2]=(c[E>>2]|0)+24}else{g=c[e>>2]|0;L=f-g|0;k=(L|0)/24|0;h=k+1|0;if((L|0)<-24)ug(e);f=(j-g|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f}else f=2147483647;zg(I,f,k,e+12|0);L=I+8|0;F=c[L>>2]|0;Ig(F,G);c[L>>2]=F+24;Bg(e,I);Ag(I)}eg(G);og(H);og(J)}while(0);i=K;return b|0}function Ng(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+112|0;p=r+88|0;q=r+76|0;k=r+64|0;n=r+40|0;l=r+16|0;m=r;a:do if(((b|0)!=(d|0)?(h=(a[b>>0]|0)+-48|0,h>>>0<10):0)?(f=b+1|0,(f|0)!=(d|0)):0){g=(a[f>>0]|0)+-48|0;if(g>>>0<10){j=f;while(1){f=j+1|0;if((f|0)==(d|0))break a;h=g+(h*10|0)|0;g=(a[f>>0]|0)+-48|0;if(g>>>0>=10){o=h;break}else j=f}}else{j=b;o=h}if((d-f|0)>>>0>=o>>>0){Dg(q,f,o);g=a[q>>0]|0;d=(g&1)==0;g=d?(g&255)>>>1:c[q+4>>2]|0;Dg(k,d?q+1|0:c[q+8>>2]|0,g>>>0<10?g:10);g=a[k>>0]|0;d=(g&1)==0;g=d?(g&255)>>>1:c[k+4>>2]|0;h=g>>>0>10;d=Ti(d?k+1|0:c[k+8>>2]|0,20718,h?10:g)|0;og(k);if(!(((d|0)==0?(g>>>0<10?-1:h&1):d)|0)){b=mj(32)|0;c[n+8>>2]=b;c[n>>2]=33;c[n+4>>2]=21;f=b;g=20729;h=f+21|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[b+21>>0]=0;b=n+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=e+4|0;f=c[b>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,n);c[b>>2]=(c[b>>2]|0)+24}else{b=c[e>>2]|0;m=f-b|0;h=(m|0)/24|0;f=h+1|0;if((m|0)<-24)ug(e);b=(g-b|0)/24|0;if(b>>>0<1073741823){b=b<<1;b=b>>>0>>0?f:b}else b=2147483647;zg(p,b,h,e+12|0);m=p+8|0;l=c[m>>2]|0;Ig(l,n);c[m>>2]=l+24;Bg(e,p);Ag(p)}eg(n)}else{c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Pg(l,m);b=e+4|0;f=c[b>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,l);c[b>>2]=(c[b>>2]|0)+24}else{b=c[e>>2]|0;n=f-b|0;h=(n|0)/24|0;f=h+1|0;if((n|0)<-24)ug(e);b=(g-b|0)/24|0;if(b>>>0<1073741823){b=b<<1;b=b>>>0>>0?f:b}else b=2147483647;zg(p,b,h,e+12|0);n=p+8|0;d=c[n>>2]|0;Ig(d,l);c[n>>2]=d+24;Bg(e,p);Ag(p)}eg(l);og(m)}og(q);b=j+(o+1)|0}}while(0);i=r;return b|0}function Og(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d>>0]|0;h=(g&1)==0;g=h?(g&255)>>>1:c[d+4>>2]|0;f=Xi(e)|0;Vg(b,h?d+1|0:c[d+8>>2]|0,g,g+f|0);gg(b,e,f)|0;return}function Pg(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=a+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Qg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;do if(a[b>>0]&1){m=b+8|0;a[c[m>>2]>>0]=0;k=b+4|0;c[k>>2]=0;e=a[b>>0]|0;if(!(e&1))i=10;else{i=c[b>>2]|0;e=i&255;i=(i&-2)+-1|0}if(!(e&1)){f=(e&255)>>>1;if((e&255)<22){h=10;j=f;l=1}else{h=(f+16&240)+-1|0;j=f;l=1}}else{h=10;j=0;l=0}if((h|0)!=(i|0)){if((h|0)==10){g=b+1|0;f=c[m>>2]|0;if(l){tt(g|0,f|0,((e&255)>>>1)+1|0)|0;nj(f)}else{a[g>>0]=a[f>>0]|0;nj(f)}a[b>>0]=j<<1;break}f=h+1|0;g=mj(f)|0;if(!(h>>>0<=i>>>0&(g|0)==0)){if(l)tt(g|0,b+1|0,((e&255)>>>1)+1|0)|0;else{n=c[m>>2]|0;a[g>>0]=a[n>>0]|0;nj(n)}c[b>>2]=f|1;c[k>>2]=j;c[m>>2]=g}}}else{a[b+1>>0]=0;a[b>>0]=0}while(0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;n=b+12|0;d=d+12|0;do if(a[n>>0]&1){m=b+20|0;a[c[m>>2]>>0]=0;j=b+16|0;c[j>>2]=0;e=a[n>>0]|0;if(!(e&1))i=10;else{i=c[n>>2]|0;e=i&255;i=(i&-2)+-1|0}if(!(e&1)){f=(e&255)>>>1;if((e&255)<22){h=10;k=f;l=1}else{h=(f+16&240)+-1|0;k=f;l=1}}else{h=10;k=0;l=0}if((h|0)!=(i|0)){if((h|0)==10){g=n+1|0;f=c[m>>2]|0;if(l){tt(g|0,f|0,((e&255)>>>1)+1|0)|0;nj(f)}else{a[g>>0]=a[f>>0]|0;nj(f)}a[n>>0]=k<<1;break}f=h+1|0;g=mj(f)|0;if(!(h>>>0<=i>>>0&(g|0)==0)){if(l)tt(g|0,n+1|0,((e&255)>>>1)+1|0)|0;else{b=c[m>>2]|0;a[g>>0]=a[b>>0]|0;nj(b)}c[n>>2]=f|1;c[j>>2]=k;c[m>>2]=g}}}else{a[n+1>>0]=0;a[n>>0]=0}while(0);c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;return}function Rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;Aa=i;i=i+304|0;ya=Aa+276|0;xa=Aa+264|0;qa=Aa+252|0;ca=Aa+240|0;da=Aa+224|0;ia=Aa+216|0;ra=Aa+204|0;ja=Aa+192|0;ka=Aa+176|0;la=Aa+168|0;sa=Aa+156|0;ma=Aa+144|0;na=Aa+128|0;oa=Aa+124|0;ta=Aa+112|0;pa=Aa+96|0;ea=Aa+76|0;ua=Aa+64|0;fa=Aa+48|0;ga=Aa+8|0;ha=Aa;p=Aa+80|0;n=Aa+60|0;q=Aa+36|0;l=Aa+24|0;o=d;a:do if((o-b|0)>1){za=(a[b>>0]|0)==76?b+1|0:b;f=a[za>>0]|0;switch(f<<24>>24|0){case 78:{b:do if((za|0)!=(d|0))if(f<<24>>24==78?(j=tg(za+1|0,d,xa)|0,(j|0)!=(d|0)):0){f=e+52|0;c[f>>2]=0;switch(a[j>>0]|0){case 82:{c[f>>2]=1;m=j+1|0;break}case 79:{c[f>>2]=2;m=j+1|0;break}default:m=j}ba=e+4|0;f=c[ba>>2]|0;h=c[e+8>>2]|0;if(f>>>0>>0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;aa=f+12|0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[ba>>2]=(c[ba>>2]|0)+24}else{j=c[e>>2]|0;aa=f-j|0;l=(aa|0)/24|0;k=l+1|0;if((aa|0)<-24)ug(e);f=(h-j|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?k:f}else f=2147483647;zg(ya,f,l,e+12|0);aa=ya+8|0;$=c[aa>>2]|0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;c[$+12>>2]=0;c[$+16>>2]=0;c[$+20>>2]=0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;_=$+12|0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[aa>>2]=$+24;Bg(e,ya);Ag(ya)}if(((o-m|0)>1?(a[m>>0]|0)==83:0)?(a[m+1>>0]|0)==116:0){$g((c[ba>>2]|0)+-24|0,19888,3);m=m+2|0}if((m|0)==(d|0)){g=c[ba>>2]|0;f=g+-24|0;while(1){e=g+-24|0;c[ba>>2]=e;eg(e);g=c[ba>>2]|0;if((g|0)==(f|0)){f=za;break b}}}K=ta+8|0;L=ta+1|0;M=ta+4|0;N=e+12|0;O=e+16|0;aa=e+20|0;P=e+24|0;Q=pa+12|0;R=pa+4|0;S=pa+8|0;T=e+28|0;U=ya+8|0;V=ga+12|0;W=ga+4|0;X=ga+8|0;Y=ya+8|0;Z=fa+8|0;_=fa+1|0;$=fa+4|0;p=ca+8|0;q=ca+1|0;r=ca+4|0;s=da+12|0;t=da+4|0;u=da+8|0;v=ya+8|0;w=ka+12|0;x=ka+4|0;y=ka+8|0;z=ya+8|0;A=ja+8|0;B=ja+1|0;C=ja+4|0;D=na+12|0;E=na+4|0;F=na+8|0;G=ya+8|0;H=ma+8|0;I=ma+1|0;J=ma+4|0;f=a[m>>0]|0;c:do if(f<<24>>24!=69){o=0;d:while(1){e:while(1){switch(f<<24>>24|0){case 83:{f=m;n=25;break e}case 84:{f=m;n=44;break e}case 68:{h=m;n=61;break e}case 73:{n=Mg(m,d,e)|0;if((n|0)==(m|0)|(n|0)==(d|0)){f=za;break b}Jg(ta,(c[ba>>2]|0)+-24|0);f=c[ba>>2]|0;h=f+-24|0;j=f;do{m=j+-24|0;c[ba>>2]=m;eg(m);j=c[ba>>2]|0}while((j|0)!=(h|0));h=a[ta>>0]|0;m=(h&1)==0;gg(f+-48|0,m?L:c[K>>2]|0,m?(h&255)>>>1:c[M>>2]|0)|0;f=(c[ba>>2]|0)+-24|0;c[ea>>2]=c[N>>2];Kg(pa,f,ea);f=c[aa>>2]|0;h=c[P>>2]|0;if(f>>>0>>0){c[f+12>>2]=c[Q>>2];c[f>>2]=c[pa>>2];c[f+4>>2]=c[R>>2];c[f+8>>2]=c[S>>2];c[S>>2]=0;c[R>>2]=0;c[pa>>2]=0;c[aa>>2]=(c[aa>>2]|0)+16}else{j=c[O>>2]|0;m=f-j|0;l=m>>4;k=l+1|0;if((m|0)<-16){n=86;break d}f=h-j|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?k:f}else f=2147483647;vg(ya,f,l,T);m=c[U>>2]|0;c[m+12>>2]=c[Q>>2];c[m>>2]=c[pa>>2];c[m+4>>2]=c[R>>2];c[m+8>>2]=c[S>>2];c[S>>2]=0;c[R>>2]=0;c[pa>>2]=0;c[U>>2]=m+16;wg(O,ya);xg(ya)}fg(pa);og(ta);m=n;break}case 76:{m=m+1|0;if((m|0)==(d|0)){f=za;break b}break}default:{f=m;n=93;break e}}f=a[m>>0]|0;if(f<<24>>24==69){wa=o;va=m;break c}}f:do if((n|0)==25){n=0;o=f+1|0;if((o|0)!=(d|0)?(a[o>>0]|0)==116:0){n=93;break}m=Sg(f,d,e)|0;if((m|0)==(f|0)|(m|0)==(d|0)){f=za;break b}Jg(qa,(c[ba>>2]|0)+-24|0);j=c[ba>>2]|0;f=j+-24|0;h=j;do{o=h+-24|0;c[ba>>2]=o;eg(o);h=c[ba>>2]|0}while((h|0)!=(f|0));h=j+-48|0;f=a[h>>0]|0;if(!(f&1))f=(f&255)>>>1;else f=c[j+-44>>2]|0;if(!f)ah(h,qa);else{Ug(ca,19892,qa);f=a[ca>>0]|0;o=(f&1)==0;gg(h,o?q:c[p>>2]|0,o?(f&255)>>>1:c[r>>2]|0)|0;og(ca);f=(c[ba>>2]|0)+-24|0;c[ia>>2]=c[N>>2];Kg(da,f,ia);f=c[aa>>2]|0;h=c[P>>2]|0;if(f>>>0>>0){c[f+12>>2]=c[s>>2];c[f>>2]=c[da>>2];c[f+4>>2]=c[t>>2];c[f+8>>2]=c[u>>2];c[u>>2]=0;c[t>>2]=0;c[da>>2]=0;c[aa>>2]=(c[aa>>2]|0)+16}else{j=c[O>>2]|0;o=f-j|0;l=o>>4;k=l+1|0;if((o|0)<-16){n=37;break d}f=h-j|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?k:f}else f=2147483647;vg(ya,f,l,T);o=c[v>>2]|0;c[o+12>>2]=c[s>>2];c[o>>2]=c[da>>2];c[o+4>>2]=c[t>>2];c[o+8>>2]=c[u>>2];c[u>>2]=0;c[t>>2]=0;c[da>>2]=0;c[v>>2]=o+16;wg(O,ya);xg(ya)}fg(da)}og(qa)}else if((n|0)==44){n=0;m=Lg(f,d,e)|0;if((m|0)==(f|0)|(m|0)==(d|0)){f=za;break b}Jg(ra,(c[ba>>2]|0)+-24|0);j=c[ba>>2]|0;f=j+-24|0;h=j;do{o=h+-24|0;c[ba>>2]=o;eg(o);h=c[ba>>2]|0}while((h|0)!=(f|0));h=j+-48|0;f=a[h>>0]|0;if(!(f&1))f=(f&255)>>>1;else f=c[j+-44>>2]|0;if(!f)ah(h,ra);else{Ug(ja,19892,ra);o=a[ja>>0]|0;l=(o&1)==0;gg(h,l?B:c[A>>2]|0,l?(o&255)>>>1:c[C>>2]|0)|0;og(ja)}f=(c[ba>>2]|0)+-24|0;c[la>>2]=c[N>>2];Kg(ka,f,la);f=c[aa>>2]|0;h=c[P>>2]|0;if(f>>>0>>0){c[f+12>>2]=c[w>>2];c[f>>2]=c[ka>>2];c[f+4>>2]=c[x>>2];c[f+8>>2]=c[y>>2];c[y>>2]=0;c[x>>2]=0;c[ka>>2]=0;c[aa>>2]=(c[aa>>2]|0)+16}else{j=c[O>>2]|0;o=f-j|0;l=o>>4;k=l+1|0;if((o|0)<-16){n=56;break d}f=h-j|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?k:f}else f=2147483647;vg(ya,f,l,T);o=c[z>>2]|0;c[o+12>>2]=c[w>>2];c[o>>2]=c[ka>>2];c[o+4>>2]=c[x>>2];c[o+8>>2]=c[y>>2];c[y>>2]=0;c[x>>2]=0;c[ka>>2]=0;c[z>>2]=o+16;wg(O,ya);xg(ya)}fg(ka);og(ra)}else if((n|0)==61){n=0;f=h+1|0;if((f|0)!=(d|0))switch(a[f>>0]|0){case 84:case 116:break;default:{f=h;n=93;break f}}m=Tg(h,d,e)|0;if((m|0)==(h|0)|(m|0)==(d|0)){f=za;break b}Jg(sa,(c[ba>>2]|0)+-24|0);j=c[ba>>2]|0;f=j+-24|0;h=j;do{o=h+-24|0;c[ba>>2]=o;eg(o);h=c[ba>>2]|0}while((h|0)!=(f|0));h=j+-48|0;f=a[h>>0]|0;if(!(f&1))f=(f&255)>>>1;else f=c[j+-44>>2]|0;if(!f)ah(h,sa);else{Ug(ma,19892,sa);o=a[ma>>0]|0;l=(o&1)==0;gg(h,l?I:c[H>>2]|0,l?(o&255)>>>1:c[J>>2]|0)|0;og(ma)}f=(c[ba>>2]|0)+-24|0;c[oa>>2]=c[N>>2];Kg(na,f,oa);f=c[aa>>2]|0;h=c[P>>2]|0;if(f>>>0>>0){c[f+12>>2]=c[D>>2];c[f>>2]=c[na>>2];c[f+4>>2]=c[E>>2];c[f+8>>2]=c[F>>2];c[F>>2]=0;c[E>>2]=0;c[na>>2]=0;c[aa>>2]=(c[aa>>2]|0)+16}else{j=c[O>>2]|0;o=f-j|0;l=o>>4;k=l+1|0;if((o|0)<-16){n=75;break d}f=h-j|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?k:f}else f=2147483647;vg(ya,f,l,T);o=c[G>>2]|0;c[o+12>>2]=c[D>>2];c[o>>2]=c[na>>2];c[o+4>>2]=c[E>>2];c[o+8>>2]=c[F>>2];c[F>>2]=0;c[E>>2]=0;c[na>>2]=0;c[G>>2]=o+16;wg(O,ya);xg(ya)}fg(na);og(sa)}while(0);if((n|0)==93){m=bh(f,d,e)|0;if((m|0)==(f|0)|(m|0)==(d|0)){f=za;break b}Jg(ua,(c[ba>>2]|0)+-24|0);j=c[ba>>2]|0;f=j+-24|0;h=j;do{o=h+-24|0;c[ba>>2]=o;eg(o);h=c[ba>>2]|0}while((h|0)!=(f|0));h=j+-48|0;f=a[h>>0]|0;if(!(f&1))f=(f&255)>>>1;else f=c[j+-44>>2]|0;if(!f)ah(h,ua);else{Ug(fa,19892,ua);o=a[fa>>0]|0;n=(o&1)==0;gg(h,n?_:c[Z>>2]|0,n?(o&255)>>>1:c[$>>2]|0)|0;og(fa)}f=(c[ba>>2]|0)+-24|0;c[ha>>2]=c[N>>2];Kg(ga,f,ha);f=c[aa>>2]|0;h=c[P>>2]|0;if(f>>>0>>0){c[f+12>>2]=c[V>>2];c[f>>2]=c[ga>>2];c[f+4>>2]=c[W>>2];c[f+8>>2]=c[X>>2];c[X>>2]=0;c[W>>2]=0;c[ga>>2]=0;c[aa>>2]=(c[aa>>2]|0)+16}else{j=c[O>>2]|0;o=f-j|0;l=o>>4;k=l+1|0;if((o|0)<-16){n=105;break}f=h-j|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?k:f}else f=2147483647;vg(ya,f,l,T);o=c[Y>>2]|0;c[o+12>>2]=c[V>>2];c[o>>2]=c[ga>>2];c[o+4>>2]=c[W>>2];c[o+8>>2]=c[X>>2];c[X>>2]=0;c[W>>2]=0;c[ga>>2]=0;c[Y>>2]=o+16;wg(O,ya);xg(ya)}fg(ga);og(ua)}f=a[m>>0]|0;if(f<<24>>24==69){wa=1;va=m;break c}else o=1}if((n|0)==37)ug(O);else if((n|0)==56)ug(O);else if((n|0)==75)ug(O);else if((n|0)==86)ug(O);else if((n|0)==105)ug(O)}else{wa=0;va=m}while(0);f=va+1|0;c[e+48>>2]=c[xa>>2];if(wa?(g=c[aa>>2]|0,(c[e+16>>2]|0)!=(g|0)):0){h=g+-16|0;do{e=g+-16|0;c[aa>>2]=e;fg(e);g=c[aa>>2]|0}while((g|0)!=(h|0))}}else f=za;else f=d;while(0);f=(f|0)==(za|0)?b:f;break a}case 90:{g:do if((za|0)!=(d|0))if(((f<<24>>24==90?(wa=za+1|0,h=pg(wa,d,e)|0,!((h|0)==(wa|0)|(h|0)==(d|0))):0)?(a[h>>0]|0)==69:0)?(k=h+1|0,(k|0)!=(d|0)):0)switch(a[k>>0]|0){case 115:{f=ch(h+2|0,d)|0;g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0))break g;rg(g+-24|0,19895)|0;break g}case 100:{f=h+2|0;if((f|0)==(d|0)){f=za;break g}f=Fg(f,d)|0;if((f|0)==(d|0)){f=za;break g}if((a[f>>0]|0)!=95){f=za;break g}xa=f+1|0;f=Rg(xa,d,e)|0;k=e+4|0;h=c[k>>2]|0;if((f|0)==(xa|0)){g=h+-24|0;f=h;while(1){e=f+-24|0;c[k>>2]=e;eg(e);f=c[k>>2]|0;if((f|0)==(g|0)){f=za;break g}}}if(((h-(c[e>>2]|0)|0)/24|0)>>>0<2){f=za;break g}Jg(ya,h+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{e=j+-24|0;c[k>>2]=e;eg(e);j=c[k>>2]|0}while((j|0)!=(h|0));rg(g+-48|0,19892)|0;e=a[ya>>0]|0;d=(e&1)==0;gg((c[k>>2]|0)+-24|0,d?ya+1|0:c[ya+8>>2]|0,d?(e&255)>>>1:c[ya+4>>2]|0)|0;og(ya);break g}default:{f=Rg(k,d,e)|0;if((f|0)==(k|0)){f=e+4|0;h=c[f>>2]|0;g=h+-24|0;while(1){e=h+-24|0;c[f>>2]=e;eg(e);h=c[f>>2]|0;if((h|0)==(g|0)){f=za;break g}}}f=ch(f,d)|0;k=e+4|0;g=c[k>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0<2)break g;Jg(xa,g+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{e=j+-24|0;c[k>>2]=e;eg(e);j=c[k>>2]|0}while((j|0)!=(h|0));rg(g+-48|0,19892)|0;e=a[xa>>0]|0;ya=(e&1)==0;gg((c[k>>2]|0)+-24|0,ya?xa+1|0:c[xa+8>>2]|0,ya?(e&255)>>>1:c[xa+4>>2]|0)|0;og(xa);break g}}else f=za;else f=d;while(0);i=Aa;return ((f|0)==(za|0)?b:f)|0}default:{do if((o-za|0)>1){if(f<<24>>24==83?(a[za+1>>0]|0)==116:0){f=za+2|0;if((f|0)==(d|0)){h=0;g=d}else{h=0;g=(a[f>>0]|0)==76?za+3|0:f}}else{h=1;g=za}f=bh(g,d,e)|0;g=(f|0)==(g|0);if(h|g)f=g?za:f;else{g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0))break;qg(g+-24|0,0,19912)|0}if((f|0)!=(za|0)){if((f|0)==(d|0)){f=d;break a}if((a[f>>0]|0)!=73)break a;m=e+4|0;g=c[m>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[n>>2]=c[e+12>>2];Kg(p,g+-24|0,n);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[p+12>>2];c[h>>2]=c[p>>2];za=p+4|0;c[h+4>>2]=c[za>>2];ya=p+8|0;c[h+8>>2]=c[ya>>2];c[ya>>2]=0;c[za>>2]=0;c[p>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;za=h-g|0;k=za>>4;h=k+1|0;if((za|0)<-16)ug(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;vg(ya,g,k,e+28|0);za=ya+8|0;xa=c[za>>2]|0;c[xa+12>>2]=c[p+12>>2];c[xa>>2]=c[p>>2];wa=p+4|0;c[xa+4>>2]=c[wa>>2];va=p+8|0;c[xa+8>>2]=c[va>>2];c[va>>2]=0;c[wa>>2]=0;c[p>>2]=0;c[za>>2]=xa+16;wg(l,ya);xg(ya)}fg(p);j=Mg(f,d,e)|0;if((j|0)==(f|0)){f=b;break a}f=c[m>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Jg(q,f+-24|0);f=c[m>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[m>>2]=b;eg(b);h=c[m>>2]|0}while((h|0)!=(g|0));b=a[q>>0]|0;za=(b&1)==0;gg(f+-48|0,za?q+1|0:c[q+8>>2]|0,za?(b&255)>>>1:c[q+4>>2]|0)|0;og(q);f=j;break a}}while(0);g=Sg(za,d,e)|0;if((g|0)==(za|0)|(g|0)==(d|0)){f=b;break a}if((a[g>>0]|0)!=73){f=b;break a}f=Mg(g,d,e)|0;if((f|0)==(g|0)){f=b;break a}k=e+4|0;g=c[k>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Jg(l,g+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{b=j+-24|0;c[k>>2]=b;eg(b);j=c[k>>2]|0}while((j|0)!=(h|0));b=a[l>>0]|0;za=(b&1)==0;gg(g+-48|0,za?l+1|0:c[l+8>>2]|0,za?(b&255)>>>1:c[l+4>>2]|0)|0;og(l);break a}}}else f=b;while(0);i=Aa;return f|0}function Sg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+176|0;q=r+144|0;k=r+120|0;l=r+96|0;m=r+72|0;n=r+48|0;o=r+24|0;p=r;a:do if((d-b|0)>1?(a[b>>0]|0)==83:0){g=b+1|0;f=a[g>>0]|0;h=f<<24>>24;switch(h|0){case 97:{Wg(k,19803);f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Ig(g,k);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;d=g-f|0;j=(d|0)/24|0;g=j+1|0;if((d|0)<-24)ug(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;zg(q,f,j,e+12|0);d=q+8|0;p=c[d>>2]|0;Ig(p,k);c[d>>2]=p+24;Bg(e,q);Ag(q)}eg(k);b=b+2|0;break a}case 98:{Xg(l,19818);f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Ig(g,l);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;d=g-f|0;j=(d|0)/24|0;g=j+1|0;if((d|0)<-24)ug(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;zg(q,f,j,e+12|0);d=q+8|0;p=c[d>>2]|0;Ig(p,l);c[d>>2]=p+24;Bg(e,q);Ag(q)}eg(l);b=b+2|0;break a}case 115:{Yg(m,19836);f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Ig(g,m);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;d=g-f|0;j=(d|0)/24|0;g=j+1|0;if((d|0)<-24)ug(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;zg(q,f,j,e+12|0);d=q+8|0;p=c[d>>2]|0;Ig(p,m);c[d>>2]=p+24;Bg(e,q);Ag(q)}eg(m);b=b+2|0;break a}case 105:{Zg(n,19848);f=e+4|0;g=c[f>>2]|0;j=c[e+8>>2]|0;if(g>>>0>>0){Ig(g,n);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;d=g-f|0;h=(d|0)/24|0;g=h+1|0;if((d|0)<-24)ug(e);f=(j-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;zg(q,f,h,e+12|0);d=q+8|0;p=c[d>>2]|0;Ig(p,n);c[d>>2]=p+24;Bg(e,q);Ag(q)}eg(n);b=b+2|0;break a}case 111:{Zg(o,19861);f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Ig(g,o);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;d=g-f|0;j=(d|0)/24|0;g=j+1|0;if((d|0)<-24)ug(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;zg(q,f,j,e+12|0);d=q+8|0;p=c[d>>2]|0;Ig(p,o);c[d>>2]=p+24;Bg(e,q);Ag(q)}eg(o);b=b+2|0;break a}case 100:{_g(p,19874);f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Ig(g,p);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;d=g-f|0;j=(d|0)/24|0;g=j+1|0;if((d|0)<-24)ug(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;zg(q,f,j,e+12|0);d=q+8|0;o=c[d>>2]|0;Ig(o,p);c[d>>2]=o+24;Bg(e,q);Ag(q)}eg(p);b=b+2|0;break a}case 95:{f=c[e+16>>2]|0;if((f|0)==(c[e+20>>2]|0))break a;g=c[f>>2]|0;j=c[f+4>>2]|0;k=e+4|0;l=e+8|0;m=e+12|0;n=q+8|0;b:do if((g|0)!=(j|0)){while(1){f=c[k>>2]|0;if((f|0)==(c[l>>2]|0)){d=f-(c[e>>2]|0)|0;h=(d|0)/24|0;f=h+1|0;if((d|0)<-24)break;if(h>>>0<1073741823){d=h<<1;f=d>>>0>>0?f:d}else f=2147483647;zg(q,f,h,m);d=c[n>>2]|0;yg(d,g);yg(d+12|0,g+12|0);c[n>>2]=d+24;Bg(e,q);Ag(q)}else{yg(f,g);yg(f+12|0,g+12|0);c[k>>2]=(c[k>>2]|0)+24}g=g+24|0;if((g|0)==(j|0))break b}ug(e)}while(0);b=b+2|0;break a}default:{if((h+-48|0)>>>0>=10){if(!(Hh(h)|0))break a;f=a[g>>0]|0}f=f<<24>>24;g=f+-48|0;h=b+2|0;if((h|0)==(d|0))break a;g=g>>>0<10?g:f+-55|0;while(1){f=a[h>>0]|0;j=f<<24>>24;if((j+-48|0)>>>0>=10){p=(Hh(j)|0)==0;f=a[h>>0]|0;if(p)break}f=f<<24>>24;j=f+-48|0;h=h+1|0;if((h|0)==(d|0))break a;else g=(j>>>0<10?j:f+-55|0)+(g*36|0)|0}if(f<<24>>24!=95)break a;f=g+1|0;g=c[e+16>>2]|0;if(f>>>0>=(c[e+20>>2]|0)-g>>4>>>0)break a;b=c[g+(f<<4)>>2]|0;j=c[g+(f<<4)+4>>2]|0;k=e+4|0;l=e+8|0;m=e+12|0;n=q+8|0;c:do if((b|0)!=(j|0)){g=b;while(1){b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){d=b-(c[e>>2]|0)|0;f=(d|0)/24|0;b=f+1|0;if((d|0)<-24)break;if(f>>>0<1073741823){d=f<<1;b=d>>>0>>0?b:d}else b=2147483647;zg(q,b,f,m);d=c[n>>2]|0;yg(d,g);yg(d+12|0,g+12|0);c[n>>2]=d+24;Bg(e,q);Ag(q)}else{yg(b,g);yg(b+12|0,g+12|0);c[k>>2]=(c[k>>2]|0)+24}g=g+24|0;if((g|0)==(j|0))break c}ug(e)}while(0);b=h+1|0;break a}}}while(0);i=r;return b|0}function Tg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+64|0;f=m+40|0;g=m+24|0;j=m+12|0;l=m;a:do if((d-b|0)>3?(a[b>>0]|0)==68:0){switch(a[b+1>>0]|0){case 84:case 116:break;default:break a}n=b+2|0;h=Hg(n,d,e)|0;if((!((h|0)==(n|0)|(h|0)==(d|0))?(a[h>>0]|0)==69:0)?(k=c[e+4>>2]|0,(c[e>>2]|0)!=(k|0)):0){b=k+-24|0;Jg(l,b);n=qg(l,0,19793)|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;n=rg(j,19609)|0;c[g>>2]=c[n>>2];c[g+4>>2]=c[n+4>>2];c[g+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Pg(f,g);Qg(b,f);eg(f);og(g);og(j);og(l);b=h+1|0}}while(0);i=m;return b|0}function Ug(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=Xi(d)|0;f=a[e>>0]|0;f=(f&1)==0?(f&255)>>>1:c[e+4>>2]|0;Vg(b,d,g,f+g|0);gg(b,(a[e>>0]&1)==0?e+1|0:c[e+8>>2]|0,f)|0;return}function Vg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;if(f>>>0>4294967279)nf(b);if(f>>>0<11){a[b>>0]=e<<1;f=b+1|0}else{g=f+16&-16;f=mj(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e}tt(f|0,d|0,e|0)|0;a[f+e>>0]=0;return}function Wg(a,b){a=a|0;b=b|0;Dg(a,b,14);a=a+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Xg(a,b){a=a|0;b=b|0;Dg(a,b,17);a=a+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Yg(a,b){a=a|0;b=b|0;Dg(a,b,11);a=a+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Zg(a,b){a=a|0;b=b|0;Dg(a,b,12);a=a+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function _g(a,b){a=a|0;b=b|0;Dg(a,b,13);a=a+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function $g(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=10;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do if(h>>>0>=e>>>0){if(g)f=b+1|0;else f=c[b+8>>2]|0;vt(f|0,d|0,e|0)|0;a[f+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;ng(b,h,e-h|0,f,0,f,e,d)}while(0);return}function ah(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;$g(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)}return}function bh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+128|0;p=v+104|0;m=v+80|0;n=v+64|0;l=v+40|0;o=v+24|0;t=v+12|0;s=v;a:do if((b|0)!=(d|0)){g=a[b>>0]|0;h=g<<24>>24;switch(h|0){case 68:case 67:{b:do if((d-b|0)>1?(k=e+4|0,f=c[k>>2]|0,(c[e>>2]|0)!=(f|0)):0)switch(h|0){case 67:{switch(a[b+1>>0]|0){case 53:case 51:case 50:case 49:break;default:break b}dh(n,f+-24|0);Pg(m,n);f=c[k>>2]|0;j=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,m);c[k>>2]=(c[k>>2]|0)+24}else{g=c[e>>2]|0;d=f-g|0;k=(d|0)/24|0;h=k+1|0;if((d|0)<-24)ug(e);f=(j-g|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f}else f=2147483647;zg(p,f,k,e+12|0);d=p+8|0;u=c[d>>2]|0;Ig(u,m);c[d>>2]=u+24;Bg(e,p);Ag(p)}eg(m);og(n);a[e+60>>0]=1;b=b+2|0;break b}case 68:{switch(a[b+1>>0]|0){case 53:case 50:case 49:case 48:break;default:break b}dh(t,f+-24|0);f=qg(t,0,19918)|0;c[o>>2]=c[f>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Pg(l,o);f=c[k>>2]|0;j=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,l);c[k>>2]=(c[k>>2]|0)+24}else{g=c[e>>2]|0;d=f-g|0;k=(d|0)/24|0;h=k+1|0;if((d|0)<-24)ug(e);f=(j-g|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f}else f=2147483647;zg(p,f,k,e+12|0);d=p+8|0;u=c[d>>2]|0;Ig(u,l);c[d>>2]=u+24;Bg(e,p);Ag(p)}eg(l);og(o);og(t);a[e+60>>0]=1;b=b+2|0;break b}default:break b}while(0);break a}case 85:{c:do if((d-b|0)>2&g<<24>>24==85){switch(a[b+1>>0]|0){case 116:{Dg(n,19920,8);Pg(m,n);l=e+4|0;f=c[l>>2]|0;h=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,m);c[l>>2]=(c[l>>2]|0)+24}else{j=c[e>>2]|0;u=f-j|0;k=(u|0)/24|0;g=k+1|0;if((u|0)<-24)ug(e);f=(h-j|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;zg(p,f,k,e+12|0);u=p+8|0;t=c[u>>2]|0;Ig(t,m);c[u>>2]=t+24;Bg(e,p);Ag(p)}eg(m);og(n);f=b+2|0;if((f|0)==(d|0)){g=c[l>>2]|0;f=g+-24|0;while(1){d=g+-24|0;c[l>>2]=d;eg(d);g=c[l>>2]|0;if((g|0)==(f|0))break c}}if(((a[f>>0]|0)+-48|0)>>>0<10){g=b+3|0;d:do if((g|0)==(d|0))g=d;else while(1){if(((a[g>>0]|0)+-48|0)>>>0>=10)break d;g=g+1|0;if((g|0)==(d|0)){g=d;break}}while(0);eh((c[l>>2]|0)+-24|0,f,g);f=g}fh((c[l>>2]|0)+-24|0,39);if((f|0)!=(d|0)?(a[f>>0]|0)==95:0){b=f+1|0;break c}g=c[l>>2]|0;f=g+-24|0;while(1){d=g+-24|0;c[l>>2]=d;eg(d);g=c[l>>2]|0;if((g|0)==(f|0))break c}}case 108:break;default:break c}Dg(o,19929,9);Pg(l,o);u=e+4|0;f=c[u>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Ig(f,l);c[u>>2]=(c[u>>2]|0)+24}else{h=c[e>>2]|0;r=f-h|0;k=(r|0)/24|0;j=k+1|0;if((r|0)<-24)ug(e);f=(g-h|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f}else f=2147483647;zg(p,f,k,e+12|0);r=p+8|0;q=c[r>>2]|0;Ig(q,l);c[r>>2]=q+24;Bg(e,p);Ag(p)}eg(l);og(o);h=b+2|0;do if((a[h>>0]|0)!=118){g=sg(h,d,e)|0;f=c[u>>2]|0;if((g|0)==(h|0)){g=f+-24|0;while(1){d=f+-24|0;c[u>>2]=d;eg(d);f=c[u>>2]|0;if((f|0)==(g|0))break c}}if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2)break c;Jg(t,f+-24|0);j=c[u>>2]|0;f=j+-24|0;h=j;do{r=h+-24|0;c[u>>2]=r;eg(r);h=c[u>>2]|0}while((h|0)!=(f|0));h=a[t>>0]|0;n=(h&1)==0;p=t+8|0;q=t+1|0;r=t+4|0;gg(j+-48|0,n?q:c[p>>2]|0,n?(h&255)>>>1:c[r>>2]|0)|0;n=s+4|0;o=s+8|0;while(1){m=sg(g,d,e)|0;f=c[u>>2]|0;if((m|0)==(g|0)){h=79;break}if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2){h=113;break}Jg(s,f+-24|0);e:do if(!(h&1)){a[q>>0]=0;a[t>>0]=0}else{g=c[p>>2]|0;a[g>>0]=0;c[r>>2]=0;k=c[t>>2]|0;l=(k&-2)+-1|0;h=k&255;do if(!(h&1)){f=k>>>1&127;if((h&255)<22){tt(q|0,g|0,(k>>>1&127)+1|0)|0;nj(g);break}g=f+16&240;j=g+-1|0;if((j|0)==(l|0))break e;h=mj(g)|0;if(j>>>0<=l>>>0&(h|0)==0)break e;tt(h|0,q|0,(k>>>1&127)+1|0)|0;c[t>>2]=g|1;c[r>>2]=f;c[p>>2]=h;break e}else{a[q>>0]=0;nj(g);f=0}while(0);a[t>>0]=f<<1}while(0);c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[s>>2]=0;c[n>>2]=0;c[o>>2]=0;og(s);j=c[u>>2]|0;f=j+-24|0;g=j;do{l=g+-24|0;c[u>>2]=l;eg(l);g=c[u>>2]|0}while((g|0)!=(f|0));h=a[t>>0]|0;f=(h&1)==0;g=f?(h&255)>>>1:c[r>>2]|0;if(!g){g=m;continue}rg(j+-48|0,19706)|0;gg((c[u>>2]|0)+-24|0,f?q:c[p>>2]|0,g)|0;g=m}if((h|0)==79){rg(f+-24|0,19609)|0;og(t);break}else if((h|0)==113){og(t);break c}}else{fh((c[u>>2]|0)+-24|0,41);g=b+3|0}while(0);if((g|0)!=(d|0)?(a[g>>0]|0)==69:0){f=g+1|0;if((f|0)==(d|0)){g=c[u>>2]|0;f=g+-24|0;while(1){d=g+-24|0;c[u>>2]=d;eg(d);g=c[u>>2]|0;if((g|0)==(f|0))break c}}if(((a[f>>0]|0)+-48|0)>>>0<10){g=g+2|0;f:do if((g|0)==(d|0))g=d;else while(1){if(((a[g>>0]|0)+-48|0)>>>0>=10)break f;g=g+1|0;if((g|0)==(d|0)){g=d;break}}while(0);m=c[u>>2]|0;n=m+-24|0;h=a[n>>0]|0;if(!(h&1)){j=10;l=(h&255)>>>1}else{h=c[n>>2]|0;j=(h&-2)+-1|0;l=c[m+-20>>2]|0;h=h&255}k=g-f|0;if((g|0)!=(f|0)){if((j-l|0)>>>0>=k>>>0){if(!(h&1))h=n+1|0;else h=c[m+-16>>2]|0;if((l|0)==7)j=h;else{vt(h+(k+7)|0,h+7|0,l+-7|0)|0;j=h}}else{gh(n,j,l+k-j|0,l,7,k);j=c[m+-16>>2]|0}h=l+k|0;if(!(a[n>>0]&1))a[n>>0]=h<<1;else c[m+-20>>2]=h;a[j+h>>0]=0;if((f|0)==(g|0))f=g;else{h=j+7|0;while(1){a[h>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(g|0)){f=g;break}else h=h+1|0}}}}if((f|0)!=(d|0)?(a[f>>0]|0)==95:0){b=f+1|0;break}g=c[u>>2]|0;f=g+-24|0;while(1){d=g+-24|0;c[u>>2]=d;eg(d);g=c[u>>2]|0;if((g|0)==(f|0))break c}}g=c[u>>2]|0;f=g+-24|0;do{d=g+-24|0;c[u>>2]=d;eg(d);g=c[u>>2]|0}while((g|0)!=(f|0))}while(0);break a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{d=Ng(b,d,e)|0;i=v;return d|0}default:{b=hh(b,d,e)|0;break a}}}while(0);i=v;return b|0}function ch(b,c){b=b|0;c=c|0;var d=0,e=0;a:do if((b|0)!=(c|0)){e=a[b>>0]|0;if(e<<24>>24!=95){if(((e<<24>>24)+-48|0)>>>0>=10)break;while(1){b=b+1|0;if((b|0)==(c|0)){b=c;break a}if(((a[b>>0]|0)+-48|0)>>>0>=10)break a}}e=b+1|0;if((e|0)!=(c|0)){e=a[e>>0]|0;if(((e<<24>>24)+-48|0)>>>0<10){b=b+2|0;break}if(e<<24>>24==95?(d=b+2|0,(d|0)!=(c|0)):0){while(1){e=a[d>>0]|0;if(((e<<24>>24)+-48|0)>>>0>=10)break;d=d+1|0;if((d|0)==(c|0))break a}return (e<<24>>24==95?d+1|0:b)|0}}}while(0);return b|0}function dh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=a[d>>0]|0;e=(h&1)==0;h=e?(h&255)>>>1:c[d+4>>2]|0;a:do if(!h)yg(b,d);else{e=e?d+1|0:c[d+8>>2]|0;f=h>>>0>11;g=Ti(e,19836,f?11:h)|0;if(!(((g|0)==0?(h>>>0<11?-1:f&1):g)|0)){$g(d,20440,70);Dg(b,20511,12);break}f=h>>>0>12;g=f?12:h;i=Ti(e,19848,g)|0;f=h>>>0<12?-1:f&1;if(!(((i|0)==0?f:i)|0)){$g(d,20524,49);Dg(b,20574,13);break}i=Ti(e,19861,g)|0;if(!(((i|0)==0?f:i)|0)){$g(d,20588,49);Dg(b,20638,13);break}g=h>>>0>13;i=Ti(e,19874,g?13:h)|0;if(!(((i|0)==0?(h>>>0<13?-1:g&1):i)|0)){$g(d,20652,50);Dg(b,20703,14);break}f=e+h|0;b:do if((a[e+(h+-1)>>0]|0)==62){d=1;c:while(1){g=f;d:while(1){f=g+-1|0;if((f|0)==(e|0))break c;g=g+-2|0;switch(a[g>>0]|0){case 60:{h=16;break d}case 62:{h=17;break d}default:g=f}}if((h|0)==16){d=d+-1|0;if(!d){f=g;break b}else continue}else if((h|0)==17){d=d+1|0;continue}}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;break a}while(0);d=f;while(1){g=d+-1|0;if((g|0)==(e|0))break;if((a[g>>0]|0)==58){e=d;break}else d=g}h=f-e|0;if(h>>>0>4294967279)nf(b);if(h>>>0<11){a[b>>0]=h<<1;d=b+1|0}else{i=h+16&-16;d=mj(i)|0;c[b+8>>2]=d;c[b>>2]=i|1;c[b+4>>2]=h}if((e|0)!=(f|0)){g=d;while(1){a[g>>0]=a[e>>0]|0;e=e+1|0;if((e|0)==(f|0))break;else g=g+1|0}}a[d+h>>0]=0}while(0);return}function eh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=10;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h|0;do if((e|0)!=(d|0)){if((g-k|0)>>>0>>0){gh(b,g,k+j-g|0,k,k,0);f=a[b>>0]|0}if(!(f&1))i=b+1|0;else i=c[b+8>>2]|0;h=e+(k-h)|0;if((d|0)!=(e|0)){f=d;g=i+k|0;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else g=g+1|0}}a[i+h>>0]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}while(0);return}function fh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){gh(b,g,1,g,g,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+1|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}a[e+h>>0]=d;a[e+f>>0]=0;return}function gh(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if((-17-d|0)>>>0>>0)nf(b);if(!(a[b>>0]&1))j=b+1|0;else j=c[b+8>>2]|0;if(d>>>0<2147483623){e=e+d|0;i=d<<1;e=e>>>0>>0?i:e;e=e>>>0<11?11:e+16&-16}else e=-17;i=mj(e)|0;if(g)tt(i|0,j|0,g|0)|0;if((f|0)!=(g|0))tt(i+(h+g)|0,j+g|0,f-g|0)|0;if((d|0)!=10)nj(j);c[b+8>>2]=i;c[b>>2]=e|1;return} +function Pr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=mr(f)|0;um(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;bk(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){bk(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;bk(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if(qm(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}v=it(f,c[v>>2]|0,g,u)|0;c[h>>2]=v;c[h+4>>2]=D;bp(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Zj(x);Zj(y);i=z;return A|0}function Qr(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+320|0;s=A+208|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=mr(g)|0;um(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))d=10;else d=(c[y>>2]&-2)+-1|0;bk(y,d,0);p=y+8|0;q=y+1|0;g=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=g;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=c[k>>2]|0;k=c[e>>2]|0;a:while(1){if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else d=c[d>>2]|0;if((d|0)==-1){c[e>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}l=c[f>>2]|0;do if(l){d=c[l+12>>2]|0;if((d|0)==(c[l+16>>2]|0))d=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else d=c[d>>2]|0;if((d|0)!=-1)if(m){n=l;break}else break a;else{c[f>>2]=0;B=16;break}}else B=16;while(0);if((B|0)==16){B=0;if(m){l=0;break}else n=0}l=a[y>>0]|0;l=(l&1)==0?(l&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(g+l|0)){bk(y,l<<1,0);if(!(a[y>>0]&1))d=10;else d=(c[y>>2]&-2)+-1|0;bk(y,d,0);g=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=g+l}l=k+12|0;d=c[l>>2]|0;m=k+16|0;if((d|0)==(c[m>>2]|0))d=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else d=c[d>>2]|0;if(qm(d,v,g,w,t,o,z,x,u,s)|0){l=n;break}d=c[l>>2]|0;if((d|0)==(c[m>>2]|0)){xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;continue}else{c[l>>2]=d+4;continue}}s=a[z>>0]|0;d=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(d-x|0)<160:0){s=c[t>>2]|0;t=d+4|0;c[u>>2]=t;c[d>>2]=s;d=t}b[j>>1]=ht(g,c[w>>2]|0,h,v)|0;bp(z,x,d,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else d=c[d>>2]|0;if((d|0)==-1){c[e>>2]=0;g=1}else g=0}else g=1;do if(l){d=c[l+12>>2]|0;if((d|0)==(c[l+16>>2]|0))d=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else d=c[d>>2]|0;if((d|0)!=-1)if(g)break;else{B=46;break}else{c[f>>2]=0;B=44;break}}else B=44;while(0);if((B|0)==44?g:0)B=46;if((B|0)==46)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Zj(y);Zj(z);i=A;return B|0}function Rr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=mr(f)|0;um(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;bk(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){bk(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;bk(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if(qm(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}c[h>>2]=gt(f,c[v>>2]|0,g,u)|0;bp(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Zj(x);Zj(y);i=z;return A|0}function Sr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=mr(f)|0;um(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;bk(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){bk(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;bk(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if(qm(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}c[h>>2]=ft(f,c[v>>2]|0,g,u)|0;bp(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Zj(x);Zj(y);i=z;return A|0}function Tr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=mr(f)|0;um(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;bk(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){bk(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;bk(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if(qm(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}v=et(f,c[v>>2]|0,g,u)|0;c[h>>2]=v;c[h+4>>2]=D;bp(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Zj(x);Zj(y);i=z;return A|0}function Ur(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+352|0;t=C+208|0;k=C+40|0;l=C+36|0;B=C+24|0;A=C+12|0;y=C+8|0;z=C+48|0;w=C+4|0;v=C;x=C+337|0;u=C+336|0;vm(B,f,t,k,l);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;bk(A,b,0);q=A+8|0;r=A+1|0;f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f;c[w>>2]=z;c[v>>2]=0;a[x>>0]=1;a[u>>0]=69;s=A+4|0;p=c[k>>2]|0;o=c[l>>2]|0;k=c[d>>2]|0;a:while(1){if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}l=c[e>>2]|0;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(m)break;else break a;else{c[e>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(m){l=0;break}else l=0}m=a[A>>0]|0;m=(m&1)==0?(m&255)>>>1:c[s>>2]|0;if((c[y>>2]|0)==(f+m|0)){bk(A,m<<1,0);if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;bk(A,b,0);f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f+m}m=k+12|0;b=c[m>>2]|0;n=k+16|0;if((b|0)==(c[n>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if(wm(b,x,u,f,y,p,o,B,z,w,v,t)|0)break;b=c[m>>2]|0;if((b|0)==(c[n>>2]|0)){xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;continue}else{c[m>>2]=b+4;continue}}u=a[B>>0]|0;b=c[w>>2]|0;if(!((a[x>>0]|0)==0?1:(((u&1)==0?(u&255)>>>1:c[B+4>>2]|0)|0)==0)?(b-z|0)<160:0){v=c[v>>2]|0;x=b+4|0;c[w>>2]=x;c[b>>2]=v;b=x}g[j>>2]=+dt(f,c[y>>2]|0,h);bp(B,z,b,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{D=46;break}else{c[e>>2]=0;D=44;break}}else D=44;while(0);if((D|0)==44?f:0)D=46;if((D|0)==46)c[h>>2]=c[h>>2]|2;D=c[d>>2]|0;Zj(A);Zj(B);i=C;return D|0}function Vr(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+352|0;t=C+208|0;k=C+40|0;l=C+36|0;B=C+24|0;A=C+12|0;y=C+8|0;z=C+48|0;w=C+4|0;v=C;x=C+337|0;u=C+336|0;vm(B,f,t,k,l);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;bk(A,b,0);q=A+8|0;r=A+1|0;f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f;c[w>>2]=z;c[v>>2]=0;a[x>>0]=1;a[u>>0]=69;s=A+4|0;p=c[k>>2]|0;o=c[l>>2]|0;k=c[d>>2]|0;a:while(1){if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}l=c[e>>2]|0;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(m)break;else break a;else{c[e>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(m){l=0;break}else l=0}m=a[A>>0]|0;m=(m&1)==0?(m&255)>>>1:c[s>>2]|0;if((c[y>>2]|0)==(f+m|0)){bk(A,m<<1,0);if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;bk(A,b,0);f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f+m}m=k+12|0;b=c[m>>2]|0;n=k+16|0;if((b|0)==(c[n>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if(wm(b,x,u,f,y,p,o,B,z,w,v,t)|0)break;b=c[m>>2]|0;if((b|0)==(c[n>>2]|0)){xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;continue}else{c[m>>2]=b+4;continue}}u=a[B>>0]|0;b=c[w>>2]|0;if(!((a[x>>0]|0)==0?1:(((u&1)==0?(u&255)>>>1:c[B+4>>2]|0)|0)==0)?(b-z|0)<160:0){v=c[v>>2]|0;x=b+4|0;c[w>>2]=x;c[b>>2]=v;b=x}h[j>>3]=+ct(f,c[y>>2]|0,g);bp(B,z,b,g);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{D=46;break}else{c[e>>2]=0;D=44;break}}else D=44;while(0);if((D|0)==44?f:0)D=46;if((D|0)==46)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Zj(A);Zj(B);i=C;return D|0}function Wr(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+352|0;t=C+208|0;k=C+40|0;l=C+36|0;B=C+24|0;A=C+12|0;y=C+8|0;z=C+48|0;w=C+4|0;v=C;x=C+337|0;u=C+336|0;vm(B,f,t,k,l);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;bk(A,b,0);q=A+8|0;r=A+1|0;f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f;c[w>>2]=z;c[v>>2]=0;a[x>>0]=1;a[u>>0]=69;s=A+4|0;p=c[k>>2]|0;o=c[l>>2]|0;k=c[d>>2]|0;a:while(1){if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}l=c[e>>2]|0;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(m)break;else break a;else{c[e>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(m){l=0;break}else l=0}m=a[A>>0]|0;m=(m&1)==0?(m&255)>>>1:c[s>>2]|0;if((c[y>>2]|0)==(f+m|0)){bk(A,m<<1,0);if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;bk(A,b,0);f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f+m}m=k+12|0;b=c[m>>2]|0;n=k+16|0;if((b|0)==(c[n>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if(wm(b,x,u,f,y,p,o,B,z,w,v,t)|0)break;b=c[m>>2]|0;if((b|0)==(c[n>>2]|0)){xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;continue}else{c[m>>2]=b+4;continue}}u=a[B>>0]|0;b=c[w>>2]|0;if(!((a[x>>0]|0)==0?1:(((u&1)==0?(u&255)>>>1:c[B+4>>2]|0)|0)==0)?(b-z|0)<160:0){v=c[v>>2]|0;x=b+4|0;c[w>>2]=x;c[b>>2]=v;b=x}h[j>>3]=+bt(f,c[y>>2]|0,g);bp(B,z,b,g);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{D=46;break}else{c[e>>2]=0;D=44;break}}else D=44;while(0);if((D|0)==44?f:0)D=46;if((D|0)==46)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Zj(A);Zj(B);i=C;return D|0}function Xr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[h>>2]=f;f=Xh(d)|0;d=Ni(a,b,e,h)|0;if(f)Xh(f)|0;i=g;return d|0}function Yr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Xh(b)|0;b=Ki(a,d,g)|0;if(e)Xh(e)|0;i=f;return b|0}function Zr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+16|0;n=o;j=c[b>>2]|0;a:do if(!j)j=0;else{p=d;l=f-p>>2;m=g+12|0;g=c[m>>2]|0;l=(g|0)>(l|0)?g-l|0:0;g=e;p=g-p|0;k=p>>2;if((p|0)>0?(pb[c[(c[j>>2]|0)+48>>2]&31](j,d,k)|0)!=(k|0):0){c[b>>2]=0;j=0;break}do if((l|0)>0){ik(n,l,h);if((pb[c[(c[j>>2]|0)+48>>2]&31](j,(a[n>>0]&1)==0?n+4|0:c[n+8>>2]|0,l)|0)==(l|0)){jk(n);break}else{c[b>>2]=0;jk(n);j=0;break a}}while(0);p=f-g|0;f=p>>2;if((p|0)>0?(pb[c[(c[j>>2]|0)+48>>2]&31](j,e,f)|0)!=(f|0):0){c[b>>2]=0;j=0;break}c[m>>2]=0}while(0);i=o;return j|0}function _r(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=c[a>>2]|0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0))if((xb[c[(c[i>>2]|0)+36>>2]&63](i)|0)==-1){c[a>>2]=0;i=0;break}else{i=c[a>>2]|0;break}}else i=0;while(0);j=(i|0)==0;i=c[e>>2]|0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(xb[c[(c[i>>2]|0)+36>>2]&63](i)|0)==-1:0){c[e>>2]=0;r=11;break}if(j)r=13;else r=12}else r=11;while(0);if((r|0)==11)if(j)r=12;else{i=0;r=13}a:do if((r|0)==12){c[f>>2]=c[f>>2]|6;i=0}else if((r|0)==13){j=c[a>>2]|0;k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else j=d[k>>0]|0;k=j&255;if(k<<24>>24>-1?(q=g+8|0,(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048)!=0):0){m=(pb[c[(c[g>>2]|0)+36>>2]&31](g,k,0)|0)<<24>>24;j=c[a>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;o=h;n=i;h=i;i=m}else{c[k>>2]=l+1;o=h;n=i;h=i;i=m}while(1){i=i+-48|0;p=o+-1|0;j=c[a>>2]|0;do if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((xb[c[(c[j>>2]|0)+36>>2]&63](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0;while(0);l=(j|0)==0;if(h)if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((xb[c[(c[h>>2]|0)+36>>2]&63](h)|0)==-1){c[e>>2]=0;k=0;h=0}else{k=n;h=n}else k=n;else{k=n;h=0}j=c[a>>2]|0;if(!((o|0)>1&(l^(h|0)==0)))break;l=c[j+12>>2]|0;if((l|0)==(c[j+16>>2]|0))j=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else j=d[l>>0]|0;l=j&255;if(l<<24>>24<=-1)break a;if(!(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=((pb[c[(c[g>>2]|0)+36>>2]&31](g,l,0)|0)<<24>>24)+(i*10|0)|0;j=c[a>>2]|0;l=j+12|0;m=c[l>>2]|0;if((m|0)==(c[j+16>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;o=p;n=k;continue}else{c[l>>2]=m+1;o=p;n=k;continue}}do if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((xb[c[(c[j>>2]|0)+36>>2]&63](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0;while(0);j=(j|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(xb[c[(c[k>>2]|0)+36>>2]&63](k)|0)==-1:0){c[e>>2]=0;r=50;break}if(j)break a}else r=50;while(0);if((r|0)==50?!j:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function $r(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else g=c[h>>2]|0;if((g|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else g=c[g>>2]|0;if((g|0)!=-1)if(i){o=17;break}else{o=16;break}else{c[b>>2]=0;o=14;break}}else o=14;while(0);if((o|0)==14)if(i)o=16;else{h=0;o=17}a:do if((o|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((o|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else g=c[i>>2]|0;if(!(pb[c[(c[e>>2]|0)+12>>2]&31](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(pb[c[(c[e>>2]|0)+52>>2]&31](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0)){xb[c[(c[i>>2]|0)+40>>2]&63](i)|0;m=f;l=h;j=h}else{c[j>>2]=k+4;m=f;l=h;j=h}while(1){g=g+-48|0;n=m+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else h=c[i>>2]|0;if((h|0)==-1){c[a>>2]=0;k=1;break}else{k=(c[a>>2]|0)==0;break}}else k=1;while(0);do if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;j=0;f=0;h=1;break}else{j=l;f=l;h=(l|0)==0;break}}else{j=l;f=0;h=1}while(0);i=c[a>>2]|0;if(!((m|0)>1&(k^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=xb[c[(c[i>>2]|0)+36>>2]&63](i)|0;else h=c[h>>2]|0;if(!(pb[c[(c[e>>2]|0)+12>>2]&31](e,2048,h)|0))break a;g=((pb[c[(c[e>>2]|0)+52>>2]&31](e,h,0)|0)<<24>>24)+(g*10|0)|0;h=c[a>>2]|0;i=h+12|0;k=c[i>>2]|0;if((k|0)==(c[h+16>>2]|0)){xb[c[(c[h>>2]|0)+40>>2]&63](h)|0;m=n;l=j;j=f;continue}else{c[i>>2]=k+4;m=n;l=j;j=f;continue}}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=xb[c[(c[i>>2]|0)+36>>2]&63](i)|0;else h=c[h>>2]|0;if((h|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else h=c[h>>2]|0;if((h|0)!=-1)if(i)break a;else break;else{c[b>>2]=0;o=60;break}}else o=60;while(0);if((o|0)==60?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function as(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;f=(c[h>>2]|0)!=108;e=c[a>>2]|0;i=e;g=(c[d>>2]|0)-i|0;g=g>>>0<2147483647?g<<1:-1;i=(c[b>>2]|0)-i|0;e=pj(f?e:0,g)|0;if(!e)_f();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){ub[c[h>>2]&127](f);e=c[a>>2]|0}}else c[a>>2]=e;c[h>>2]=119;c[b>>2]=e+i;c[d>>2]=(c[a>>2]|0)+g;return}function bs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;f=(c[h>>2]|0)!=108;e=c[a>>2]|0;i=e;g=(c[d>>2]|0)-i|0;g=g>>>0<2147483647?g<<1:-1;i=(c[b>>2]|0)-i>>2;e=pj(f?e:0,g)|0;if(!e)_f();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){ub[c[h>>2]&127](f);e=c[a>>2]|0}}else c[a>>2]=e;c[h>>2]=119;c[b>>2]=e+(i<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function cs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=10;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h|0;do if((e|0)!=(d|0)){if((g-k|0)>>>0>>0){gk(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+1|0;else i=c[b+8>>2]|0;h=e+(k-h)|0;if((d|0)!=(e|0)){f=d;g=i+k|0;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else g=g+1|0}}a[i+h>>0]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}while(0);return b|0}function ds(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;f=(c[h>>2]|0)!=108;e=c[a>>2]|0;i=e;g=(c[d>>2]|0)-i|0;g=g>>>0<2147483647?g<<1:-1;i=(c[b>>2]|0)-i>>2;e=pj(f?e:0,g)|0;if(!e)_f();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){ub[c[h>>2]&127](f);e=c[a>>2]|0}}else c[a>>2]=e;c[h>>2]=119;c[b>>2]=e+(i<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function es(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=1;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h>>2;do if(j){if((g-k|0)>>>0>>0){pk(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+4|0;else i=c[b+8>>2]|0;h=k+((e-h|0)>>>2)|0;if((d|0)!=(e|0)){f=d;g=i+(k<<2)|0;while(1){c[g>>2]=c[f>>2];f=f+4|0;if((f|0)==(e|0))break;else g=g+4|0}}c[i+(h<<2)>>2]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}while(0);return b|0}function fs(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d){at(b,d);Ys(b,d)}return}function gs(a,b){a=a|0;b=b|0;Gp(a,b,Pp(9796)|0);return}function hs(a,b){a=a|0;b=b|0;Gp(a,b,Pp(9836)|0);return}function is(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10868)|0);return}function js(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10860)|0);return}function ks(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10928)|0);return}function ls(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10936)|0);return}function ms(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10992)|0);return}function ns(a,b){a=a|0;b=b|0;Gp(a,b,Pp(11e3)|0);return}function os(a,b){a=a|0;b=b|0;Gp(a,b,Pp(11008)|0);return}function ps(a,b){a=a|0;b=b|0;Gp(a,b,Pp(11016)|0);return}function qs(a,b){a=a|0;b=b|0;Gp(a,b,Pp(9908)|0);return}function rs(a,b){a=a|0;b=b|0;Gp(a,b,Pp(9980)|0);return}function ss(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10040)|0);return}function ts(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10100)|0);return}function us(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10412)|0);return}function vs(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10476)|0);return}function ws(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10540)|0);return}function xs(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10604)|0);return}function ys(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10640)|0);return}function zs(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10676)|0);return}function As(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10712)|0);return}function Bs(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10748)|0);return}function Cs(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10192)|0);return}function Ds(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10284)|0);return}function Es(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10316)|0);return}function Fs(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10348)|0);return}function Gs(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10788)|0);return}function Hs(a,b){a=a|0;b=b|0;Gp(a,b,Pp(10828)|0);return}function Is(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+4|0;d=c[h>>2]|0;e=c[a>>2]|0;f=d-e>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0?(g=e+(b<<2)|0,(d|0)!=(g|0)):0){do d=d+-4|0;while((d|0)!=(g|0));c[h>>2]=d}}else Xs(a,b-f|0);return}function Js(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;do if(e){f=b+4|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do d=d+-4|0;while((d|0)!=(e|0));c[f>>2]=d}if((b+16|0)==(e|0)){a[b+128>>0]=0;break}else{rf(e);break}}while(0);return}function Ks(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;d=c[d+4>>2]|0;a=(c[a>>2]|0)+(d>>1)|0;if(d&1)b=c[(c[a>>2]|0)+b>>2]|0;ub[b&127](a);return}function Ls(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;if(d>>>0>>0)while(1){l=b[d>>1]|0;m=l&65535;if(m>>>0>k>>>0){d=2;break a}do if((l&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=l}else{if((l&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;l=e[d>>1]|0;if((l&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}h=m&960;if(((h<<10)+65536|m<<10&64512|l&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(h>>>6)+1|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=d>>>2|240;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>2&15|d<<4&48|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m<<4&48|l>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=l&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d;if(d>>>0>=f>>>0){d=0;break}}else d=0}while(0);return d|0}function Ms(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;l=f;if((((l-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0){c[g>>2]=e+3;m=c[j>>2]|0}else m=h}else{m=h;l=f}q=i;h=c[g>>2]|0;e=h>>>0>>0;a:do if(e&m>>>0>>0)while(1){e=a[h>>0]|0;o=e&255;if(o>>>0>k>>>0){e=2;break a}do if(e<<24>>24>-1){b[m>>1]=e&255;c[g>>2]=h+1}else{if((e&255)<194){e=2;break a}if((e&255)<224){if((l-h|0)<2){e=1;break a}e=d[h+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|o<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+2;break}if((e&255)<240){if((l-h|0)<3){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;switch(o|0){case 224:{if((n&-32)<<24>>24!=-96){e=2;break a}break}case 237:{if((n&-32)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(n&255)<<6&4032|o<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+3;break}if((e&255)>=245){e=2;break a}if((l-h|0)<4){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;h=a[h+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){e=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=h&255;if((e&192|0)!=128){e=2;break a}if((q-m|0)<4){e=1;break a}o=o&7;h=n&255;n=p<<6;e=e&63;if((h<<12&258048|o<<18|n&4032|e)>>>0>k>>>0){e=2;break a}b[m>>1]=h<<2&60|p>>>4&3|((h>>>4&3|o<<2)<<6)+16320|55296;p=m+2|0;c[j>>2]=p;b[p>>1]=e|n&960|56320;c[g>>2]=(c[g>>2]|0)+4}while(0);m=(c[j>>2]|0)+2|0;c[j>>2]=m;h=c[g>>2]|0;e=h>>>0>>0;if(!(e&m>>>0>>0)){r=39;break}}else r=39;while(0);if((r|0)==39)e=e&1;return e|0}function Ns(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do if((e|0)!=0&g>>>0>>0){m=g;h=0;b:while(1){g=a[m>>0]|0;l=g&255;if(l>>>0>f>>>0){g=m;h=42;break a}do if(g<<24>>24>-1)g=m+1|0;else{if((g&255)<194){g=m;h=42;break a}if((g&255)<224){if((n-m|0)<2){g=m;h=42;break a}g=d[m+1>>0]|0;if((g&192|0)!=128){g=m;h=42;break a}if((g&63|l<<6&1984)>>>0>f>>>0){g=m;h=42;break a}g=m+2|0;break}if((g&255)<240){g=m;if((n-g|0)<3){g=m;h=42;break a}j=a[m+1>>0]|0;i=a[m+2>>0]|0;switch(l|0){case 224:{if((j&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((j&-32)<<24>>24!=-128){h=22;break b}break}default:if((j&-64)<<24>>24!=-128){h=24;break b}}g=i&255;if((g&192|0)!=128){g=m;h=42;break a}if(((j&255)<<6&4032|l<<12&61440|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+3|0;break}if((g&255)>=245){g=m;h=42;break a}g=m;if((e-h|0)>>>0<2|(n-g|0)<4){g=m;h=42;break a}k=a[m+1>>0]|0;i=a[m+2>>0]|0;j=a[m+3>>0]|0;switch(l|0){case 240:{if((k+112&255)>=48){h=32;break b}break}case 244:{if((k&-16)<<24>>24!=-128){h=34;break b}break}default:if((k&-64)<<24>>24!=-128){h=36;break b}}i=i&255;if((i&192|0)!=128){g=m;h=42;break a}g=j&255;if((g&192|0)!=128){g=m;h=42;break a}if(((k&255)<<12&258048|l<<18&1835008|i<<6&4032|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+4|0;h=h+1|0}while(0);h=h+1|0;if(!(h>>>0>>0&g>>>0>>0)){h=42;break a}else m=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42;while(0);if((h|0)==42)g=g-b|0;return g|0}function Os(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;if(b>>>0>>0)while(1){j=c[b>>2]|0;if(j>>>0>i>>>0|(j&-2048|0)==55296){b=2;break a}do if(j>>>0>=128){if(j>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}b=c[h>>2]|0;g=l-b|0;if(j>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=j}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b;if(b>>>0>=d>>>0){b=0;break}}else b=0}while(0);return b|0}function Ps(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;k=e;if((((k-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0){c[f>>2]=b+3;g=c[i>>2]|0;p=k}else p=k}else p=e;k=c[f>>2]|0;b=k>>>0>>0;a:do if(b&g>>>0>>0)while(1){b=a[k>>0]|0;o=b&255;do if(b<<24>>24>-1){if(o>>>0>j>>>0){b=2;break a}c[g>>2]=o;c[f>>2]=k+1}else{if((b&255)<194){b=2;break a}if((b&255)<224){if((p-k|0)<2){b=1;break a}b=d[k+1>>0]|0;if((b&192|0)!=128){b=2;break a}b=b&63|o<<6&1984;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+2;break}if((b&255)<240){if((p-k|0)<3){b=1;break a}l=a[k+1>>0]|0;b=a[k+2>>0]|0;switch(o|0){case 224:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case 237:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}b=b&255;if((b&192|0)!=128){b=2;break a}b=(l&255)<<6&4032|o<<12&61440|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+3;break}if((b&255)>=245){b=2;break a}if((p-k|0)<4){b=1;break a}n=a[k+1>>0]|0;b=a[k+2>>0]|0;l=a[k+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){b=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){b=2;break a}break}default:if((n&-64)<<24>>24!=-128){b=2;break a}}m=b&255;if((m&192|0)!=128){b=2;break a}b=l&255;if((b&192|0)!=128){b=2;break a}b=(n&255)<<12&258048|o<<18&1835008|m<<6&4032|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+4}while(0);g=(c[i>>2]|0)+4|0;c[i>>2]=g;k=c[f>>2]|0;b=k>>>0>>0;if(!(b&g>>>0>>0)){q=38;break}}else q=38;while(0);if((q|0)==38)b=b&1;return b|0}function Qs(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do if((e|0)!=0&g>>>0>>0){l=g;m=0;b:while(1){g=a[l>>0]|0;k=g&255;do if(g<<24>>24>-1){if(k>>>0>f>>>0){g=l;h=42;break a}g=l+1|0}else{if((g&255)<194){g=l;h=42;break a}if((g&255)<224){if((n-l|0)<2){g=l;h=42;break a}g=d[l+1>>0]|0;if((g&192|0)!=128){g=l;h=42;break a}if((g&63|k<<6&1984)>>>0>f>>>0){g=l;h=42;break a}g=l+2|0;break}if((g&255)<240){g=l;if((n-g|0)<3){g=l;h=42;break a}i=a[l+1>>0]|0;h=a[l+2>>0]|0;switch(k|0){case 224:{if((i&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((i&-32)<<24>>24!=-128){h=22;break b}break}default:if((i&-64)<<24>>24!=-128){h=24;break b}}g=h&255;if((g&192|0)!=128){g=l;h=42;break a}if(((i&255)<<6&4032|k<<12&61440|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+3|0;break}if((g&255)>=245){g=l;h=42;break a}g=l;if((n-g|0)<4){g=l;h=42;break a}j=a[l+1>>0]|0;h=a[l+2>>0]|0;i=a[l+3>>0]|0;switch(k|0){case 240:{if((j+112&255)>=48){h=32;break b}break}case 244:{if((j&-16)<<24>>24!=-128){h=34;break b}break}default:if((j&-64)<<24>>24!=-128){h=36;break b}}h=h&255;if((h&192|0)!=128){g=l;h=42;break a}g=i&255;if((g&192|0)!=128){g=l;h=42;break a}if(((j&255)<<12&258048|k<<18&1835008|h<<6&4032|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+4|0}while(0);m=m+1|0;if(!(m>>>0>>0&g>>>0>>0)){h=42;break a}else l=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42;while(0);if((h|0)==42)g=g-b|0;return g|0}function Rs(a){a=a|0;Zj(11844);Zj(11832);Zj(11820);Zj(11808);Zj(11796);Zj(11784);Zj(11772);Zj(11760);Zj(11748);Zj(11736);Zj(11724);Zj(11712);Zj(11700);Zj(11688);return}function Ss(a){a=a|0;jk(12016);jk(12004);jk(11992);jk(11980);jk(11968);jk(11956);jk(11944);jk(11932);jk(11920);jk(11908);jk(11896);jk(11884);jk(11872);jk(11860);return}function Ts(a){a=a|0;Zj(12648);Zj(12636);Zj(12624);Zj(12612);Zj(12600);Zj(12588);Zj(12576);Zj(12564);Zj(12552);Zj(12540);Zj(12528);Zj(12516);Zj(12504);Zj(12492);Zj(12480);Zj(12468);Zj(12456);Zj(12444);Zj(12432);Zj(12420);Zj(12408);Zj(12396);Zj(12384);Zj(12372);return}function Us(a){a=a|0;jk(12940);jk(12928);jk(12916);jk(12904);jk(12892);jk(12880);jk(12868);jk(12856);jk(12844);jk(12832);jk(12820);jk(12808);jk(12796);jk(12784);jk(12772);jk(12760);jk(12748);jk(12736);jk(12724);jk(12712);jk(12700);jk(12688);jk(12676);jk(12664);return}function Vs(a){a=a|0;Zj(13752);Zj(13740);Zj(13728);Zj(13716);Zj(13704);Zj(13692);Zj(13680);Zj(13668);Zj(13656);Zj(13644);Zj(13632);Zj(13620);Zj(13608);Zj(13596);Zj(13584);Zj(13572);Zj(13560);Zj(13548);Zj(13536);Zj(13524);Zj(13512);Zj(13500);Zj(13488);Zj(13476);return}function Ws(a){a=a|0;jk(14044);jk(14032);jk(14020);jk(14008);jk(13996);jk(13984);jk(13972);jk(13960);jk(13948);jk(13936);jk(13924);jk(13912);jk(13900);jk(13888);jk(13876);jk(13864);jk(13852);jk(13840);jk(13828);jk(13816);jk(13804);jk(13792);jk(13780);jk(13768);return}function Xs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;g=c[a+8>>2]|0;d=c[a+4>>2]|0;if(g-d>>2>>>0>>0){e=c[a>>2]|0;h=d-e>>2;f=h+b|0;if(f>>>0>1073741823)ug(a);d=g-e|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?f:d}else d=1073741823;Zs(j,d,h,a+16|0);h=j+8|0;g=c[h>>2]|0;qt(g|0,0,b<<2|0)|0;c[h>>2]=g+(b<<2);_s(a,j);$s(j)}else Ys(a,b);i=k;return}function Ys(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Zs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[b+12>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=pf(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[b+12>>2]=f+(d<<2);return}function _s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;g=a+4|0;d=b+4|0;f=(c[g>>2]|0)-e|0;h=(c[d>>2]|0)+(0-(f>>2)<<2)|0;c[d>>2]=h;tt(h|0,e|0,f|0)|0;f=c[a>>2]|0;c[a>>2]=c[d>>2];c[d>>2]=f;f=b+8|0;e=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=e;f=a+8|0;a=b+12|0;e=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=e;c[b>>2]=c[d>>2];return}function $s(b){b=b|0;var d=0,e=0,f=0;e=c[b+4>>2]|0;f=b+8|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do d=d+-4|0;while((d|0)!=(e|0));c[f>>2]=d}e=c[b>>2]|0;do if(e){d=c[b+16>>2]|0;if((d|0)==(e|0)){a[d+112>>0]=0;break}else{rf(e);break}}while(0);return}function at(b,d){b=b|0;d=d|0;var e=0;if(d>>>0>1073741823)ug(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=pf(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)!=(b|0)){f=Jh()|0;g=c[f>>2]|0;c[f>>2]=0;e=+Pi(a,h,cm()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}while(0);i=j;return +e}function ct(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)!=(b|0)){f=Jh()|0;g=c[f>>2]|0;c[f>>2]=0;e=+Pi(a,h,cm()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}while(0);i=j;return +e}function dt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{f=Jh()|0;g=c[f>>2]|0;c[f>>2]=0;e=+Pi(a,h,cm()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}while(0);i=j;return +e}function et(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;f=0;b=0;break}g=Jh()|0;h=c[g>>2]|0;c[g>>2]=0;b=Bh(b,j,f,cm()|0)|0;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(d|0)){c[e>>2]=4;f=0;b=0;break}if((f|0)==34){c[e>>2]=4;f=-1;b=-1}else f=D}else{c[e>>2]=4;f=0;b=0}while(0);D=f;i=k;return b|0}function ft(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=Jh()|0;j=c[h>>2]|0;c[h>>2]=0;b=Bh(b,k,f,cm()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function gt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=Jh()|0;j=c[h>>2]|0;c[h>>2]=0;b=Bh(b,k,f,cm()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function ht(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=Jh()|0;j=c[h>>2]|0;c[h>>2]=0;b=Bh(b,k,f,cm()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==34){c[e>>2]=4;b=-1;break}else{b=b&65535;break}}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function it(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do if((a|0)!=(b|0)){g=Jh()|0;h=c[g>>2]|0;c[g>>2]=0;a=Ch(a,j,e,cm()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;e=0;a=0;break}if((f|0)==34){c[d>>2]=4;j=(e|0)>0|(e|0)==0&a>>>0>0;D=j?2147483647:-2147483648;i=k;return (j?-1:0)|0}}else{c[d>>2]=4;e=0;a=0}while(0);D=e;i=k;return a|0}function jt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do if((a|0)==(b|0)){c[d>>2]=4;a=0}else{g=Jh()|0;h=c[g>>2]|0;c[g>>2]=0;a=Ch(a,j,e,cm()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;a=0;break}do if((f|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}while(0);i=k;return a|0}function kt(a){a=a|0;return}function lt(a){a=a|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function mt(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b){ub[c[(c[a>>2]|0)+8>>2]&127](a);a=1}else a=0;return a|0}function nt(a,b,d){a=a|0;b=b|0;d=d|0;hb(14384)|0;if((c[a>>2]|0)==1)do ya(14412,14384)|0;while((c[a>>2]|0)==1);if(!(c[a>>2]|0)){c[a>>2]=1;Ua(14384)|0;ub[d&127](b);hb(14384)|0;c[a>>2]=-1;Ua(14384)|0;Za(14412)|0}else Ua(14384)|0;return}function ot(){}function pt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function qt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function rt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function st(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function tt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Na(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function ut(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else tt(b,c,d)|0;return b|0}function wt(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function xt(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function yt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return (D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function zt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=pt(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return pt((Et(h,g,pt(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function At(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=pt(h^a,g^b,h,g)|0;b=D;Et(a,b,pt(l^d,k^e,l,k)|0,D,j)|0;e=pt(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return (D=d,e)|0}function Bt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=yt(e,f)|0;a=D;return (D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function Ct(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Et(a,b,c,d,0)|0}function Dt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;Et(a,b,d,e,f)|0;i=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function Et(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=xt(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((xt(i|0)|0)>>>0);return (D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=rt(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;pt(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=pt(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function Ft(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ob[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function Gt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pb[a&31](b|0,c|0,d|0)|0}function Ht(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;qb[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function It(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;rb[a&3](b|0,c|0,d|0,e|0,f|0)}function Jt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return sb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function Kt(a){a=a|0;return tb[a&0]()|0}function Lt(a,b){a=a|0;b=b|0;ub[a&127](b|0)}function Mt(a,b,c){a=a|0;b=b|0;c=c|0;vb[a&63](b|0,c|0)}function Nt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return wb[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Ot(a,b){a=a|0;b=b|0;return xb[a&63](b|0)|0}function Pt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;yb[a&0](b|0,c|0,d|0)}function Qt(a){a=a|0;zb[a&3]()}function Rt(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Ab[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function St(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Bb[a&7](b|0,c|0,d|0,e|0)|0}function Tt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Cb[a&15](b|0,c|0,d|0,e|0)}function Ut(a,b,c){a=a|0;b=b|0;c=c|0;return Db[a&31](b|0,c|0)|0}function Vt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Eb[a&7](b|0,c|0,d|0,e|0,+f)|0}function Wt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Fb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Xt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ca(0);return 0}function Yt(a,b,c){a=a|0;b=b|0;c=c|0;ca(1);return 0}function Zt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(2)}function _t(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(3)}function $t(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ca(4);return 0}function au(){ca(5);return 0}function bu(a){a=a|0;ca(6)}function cu(a,b){a=a|0;b=b|0;ca(7)}function du(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(8);return 0}function eu(a){a=a|0;ca(9);return 0}function fu(a,b,c){a=a|0;b=b|0;c=c|0;ca(10)}function gu(){ca(11)}function hu(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ca(12);return 0}function iu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(13);return 0}function ju(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(14)}function ku(a,b){a=a|0;b=b|0;ca(15);return 0}function lu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ca(16);return 0}function mu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(17);return 0} + +// EMSCRIPTEN_END_FUNCS +var ob=[Xt,Yn,ao,Xo,$o,ep,gp,Xt];var pb=[Yt,Dk,Ik,Mk,If,ij,ui,ti,si,vi,Sk,Xk,Dj,$k,Oj,Kl,Pl,wp,Bp,jq,lq,oq,Vp,_p,aq,dq,fj,Yt,Yt,Yt,Yt,Yt];var qb=[Zt,gc,Xf,Wf,Vf,Tk,Ek,xp,Cp,Zt,Zt,Zt,Zt,Zt,Zt,Zt];var rb=[_t,Uf,Tf,Qf];var sb=[$t,kp,qp,$t];var tb=[au];var ub=[bu,Sb,cc,bc,dc,pl,rl,ql,sl,ec,fc,Vb,mc,lc,nc,cl,el,dl,fl,uf,vf,Cf,Ff,Df,Ef,Gf,Hf,Ok,Aj,Gj,zk,Lj,Rj,Ak,Pk,jl,ll,kl,ml,xl,zl,yl,Al,uk,Dl,Fl,Hl,Sp,Ll,Ml,Ql,Rl,dm,em,xm,ym,Mm,Nm,Zm,_m,xn,yn,Vn,Xn,_n,$n,co,eo,oo,po,zo,Ao,Ko,Lo,Vo,Wo,cp,dp,ip,jp,op,pp,up,vp,zp,Ap,Hp,Ip,gq,hq,Br,yq,_q,$q,ar,br,Gl,Rp,Up,qq,Gq,Oq,Wq,Xq,jg,bj,cj,tj,Yo,Tp,Ks,Rs,Ss,Ts,Us,Vs,Ws,Zj,jk,nj,bu,bu,bu,bu,bu,bu,bu,bu];var vb=[cu,Ck,Bj,Fj,Mj,Qj,Rk,ho,io,jo,ko,mo,no,so,to,uo,vo,xo,yo,Do,Eo,Fo,Go,Io,Jo,Oo,Po,Qo,Ro,To,Uo,yp,Dp,gr,ir,kr,hr,jr,lr,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu,cu];var wb=[du,Sl,Tl,Ul,Vl,Wl,Xl,Yl,Zl,_l,$l,am,fm,gm,hm,im,jm,km,lm,mm,nm,om,pm,Em,Gm,Rm,Tm,an,bn,cn,en,gn,An,Bn,Cn,En,Gn,np,tp,du,du,du,du,du,du,du,du,du,du,du,du,du,du,du,du,du,du,du,du,du,du,du,du,du];var xb=[eu,Gk,Hk,ic,Kk,wf,ri,Cj,Wk,Yk,Zk,Vk,Hj,Ij,Nj,Jk,Sj,Tj,$m,nr,pr,rr,xr,zr,tr,vr,zn,or,qr,sr,yr,Ar,ur,wr,fo,go,lo,qo,ro,wo,Bo,Co,Ho,Mo,No,So,Cq,Dq,Fq,cr,er,dr,fr,uq,vq,xq,Kq,Lq,Nq,Sq,Tq,Vq,eu,eu];var yb=[fu];var zb=[gu,$f,ig,gu];var Ab=[hu,jn,In,zq,Aq,rq,sq,Hq,Iq,Pq,Qq,hu,hu,hu,hu,hu];var Bb=[iu,nq,Wp,Xp,Yp,cq,iu,iu];var Cb=[ju,hc,Kf,Lf,Nf,Uk,Fk,Jl,Ol,ju,ju,ju,ju,ju,ju,ju];var Db=[ku,jc,kc,_k,Ej,Jj,al,Lk,Pj,Uj,Nk,iq,kq,mq,Zp,$p,bq,ku,ku,ku,ku,ku,ku,ku,ku,ku,ku,ku,ku,ku,ku,ku];var Eb=[lu,Hm,Km,Um,Wm,lu,lu,lu];var Fb=[mu,Il,Nl,zm,Am,Fm,Lm,Om,Pm,Sm,Xm,pq,Bq,Eq,eq,tq,wq,Jq,Mq,Rq,Uq,mu,mu,mu,mu,mu,mu,mu,mu,mu,mu,mu];return{_testo:ac,_param:Pb,_keygen:Tb,_bitshift64Lshr:st,_bitshift64Shl:ut,_tally:_b,_fflush:Ai,___cxa_is_pointer_type:Zf,_memset:qt,_addec:Yb,___cxa_demangle:mf,_combpk:Wb,_memcpy:tt,_enc:Xb,_i64Subtract:pt,_i64Add:rt,_dec:Zb,_test1:$b,___errno_location:Jh,___cxa_can_catch:Yf,_free:nj,_memmove:vt,_malloc:mj,__GLOBAL__I_000101:yj,__GLOBAL__sub_I_iostream_cpp:zj,runPostSets:ot,stackAlloc:Gb,stackSave:Hb,stackRestore:Ib,establishStackSpace:Jb,setThrew:Kb,setTempRet0:Nb,getTempRet0:Ob,dynCall_iiiiiiii:Ft,dynCall_iiii:Gt,dynCall_viiiiii:Ht,dynCall_viiiii:It,dynCall_iiiiiid:Jt,dynCall_i:Kt,dynCall_vi:Lt,dynCall_vii:Mt,dynCall_iiiiiii:Nt,dynCall_ii:Ot,dynCall_viii:Pt,dynCall_v:Qt,dynCall_iiiiiiiii:Rt,dynCall_iiiii:St,dynCall_viiii:Tt,dynCall_iii:Ut,dynCall_iiiiid:Vt,dynCall_iiiiii:Wt}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _testo=Module["_testo"]=asm["_testo"];var _param=Module["_param"]=asm["_param"];var _keygen=Module["_keygen"]=asm["_keygen"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _tally=Module["_tally"]=asm["_tally"];var _fflush=Module["_fflush"]=asm["_fflush"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _memset=Module["_memset"]=asm["_memset"];var _addec=Module["_addec"]=asm["_addec"];var ___cxa_demangle=Module["___cxa_demangle"]=asm["___cxa_demangle"];var _combpk=Module["_combpk"]=asm["_combpk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _enc=Module["_enc"]=asm["_enc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _dec=Module["_dec"]=asm["_dec"];var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var _test1=Module["_test1"]=asm["_test1"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memmove=Module["_memmove"]=asm["_memmove"];var _malloc=Module["_malloc"]=asm["_malloc"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);removeRunDependency("memory initializer")});function doBrowserLoad(){Browser.asyncLoad(memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var request=Module["memoryInitializerRequest"];if(request){function useRequest(){if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(request.response){setTimeout(useRequest,0)}else{request.addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() + + + + diff --git a/static/js/encrypt.js b/static/js/encrypt.js new file mode 100755 index 0000000..181dbaa --- /dev/null +++ b/static/js/encrypt.js @@ -0,0 +1,22 @@ +var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+29104;__ATINIT__.push({func:(function(){__GLOBAL__I_000101()})},{func:(function(){__GLOBAL__sub_I_iostream_cpp()})});memoryInitializer="trustee.js.mem";var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;var _BDtoILow=true;function _pthread_mutex_lock(){}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){return leadingNulls(date.tm_hour<13?date.tm_hour:date.tm_hour-12,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>0&&date.tm_hour<13){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module["abort"]()}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ___lock(){}function ___unlock(){}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _fabs=Math_abs;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if((flags&2097155)!==0||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}var mounts=FS.getMounts(FS.root.mount);var completed=0;function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=mounts.length){callback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperty(lazyArray,"length",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})});Object.defineProperty(lazyArray,"chunkSize",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperty(node,"usedBytes",{get:(function(){return this.contents.length})});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2]=ret}return ret}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_i64Add"]=_i64Add;Module["_bitshift64Lshr"]=_bitshift64Lshr;var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_bitshift64Shl"]=_bitshift64Shl;Module["_memmove"]=_memmove;var _BItoD=true;function _pthread_cond_wait(){return 0}function _pthread_mutex_unlock(){}function ___cxa_guard_release(){}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___dso_handle=allocate(1,"i32*",ALLOC_STATIC);Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function Mb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function Nb(a){a=a|0;D=a}function Ob(){return D|0}function Pb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+720|0;n=d+700|0;e=d+192|0;f=d+56|0;g=d+40|0;h=d+24|0;j=d+16|0;m=d+12|0;k=d;sc(e,128,0);c[(Vc()|0)+564>>2]=64;l=f+4|0;c[f>>2]=2252;c[f+56>>2]=2272;uk(f+56|0,l);c[f+128>>2]=0;c[f+132>>2]=-1;c[f>>2]=2196;c[f+56>>2]=2216;xk(l);c[l>>2]=2288;o=f+36|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[f+52>>2]=16;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;mc(l,n);Vj(n);n=Hd(1)|0;c[g+4>>2]=n;c[g>>2]=Gd(n,0)|0;c[g+8>>2]=0;c[g+12>>2]=0;n=Hd(1)|0;c[h+4>>2]=n;c[h>>2]=Gd(n,0)|0;c[h+8>>2]=0;c[h+12>>2]=0;c[j>>2]=ed(0)|0;gb(m|0)|0;ad((c[m>>2]|0)+b|0);yc(e,g);b=df(g,j)|0;nc(rl(nc(Tc(f,j)|0,19456,1)|0,b)|0,19456,1)|0;yc(e,h);b=df(h,j)|0;rl(nc(Tc(f,j)|0,19456,1)|0,b)|0;pc(k,l);l=(a[k>>0]&1)==0?k+1|0:c[k+8>>2]|0;b=ij((Ti(l)|0)+1|0)|0;Si(b,l)|0;Vj(k);ae(c[j>>2]|0);Rb(h);Rb(g);Sb(f);tc(e);i=d;return b|0}function Qb(a){a=a|0;Ma(a|0)|0;vf()}function Rb(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+8|0;e=c[d>>2]|0;if(!e){a=a+4|0;a=c[a>>2]|0;ae(a);return}f=e+-4|0;b=c[f>>2]|0;if(b){b=e+(b<<3)|0;do{ae(c[b+-4>>2]|0);b=b+-8|0}while((b|0)!=(e|0))}pf(f);c[d>>2]=0;a=a+4|0;a=c[a>>2]|0;ae(a);return}function Sb(a){a=a|0;var b=0,d=0;c[a>>2]=2196;b=a+56|0;c[b>>2]=2216;d=a+4|0;c[d>>2]=2288;Vj(a+36|0);vk(d);pk(b);return}function Tb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;y=i;i=i+992|0;e=y+980|0;q=y+472|0;p=y+336|0;n=y+180|0;z=y+320|0;u=y+168|0;l=y+152|0;m=y+136|0;r=y+120|0;v=y+104|0;w=y+88|0;x=y+80|0;t=y+76|0;s=y+72|0;o=y+68|0;A=y+64|0;f=y+48|0;g=y+32|0;h=y+16|0;j=y;sc(q,128,0);c[(Vc()|0)+564>>2]=64;k=p+4|0;c[p>>2]=2252;c[p+56>>2]=2272;uk(p+56|0,k);c[p+128>>2]=0;c[p+132>>2]=-1;c[p>>2]=2196;c[p+56>>2]=2216;xk(k);c[k>>2]=2288;d=p+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[p+52>>2]=16;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;mc(k,e);Vj(e);Tj(z,b,Ti(b)|0);b=n+8|0;c[n>>2]=2412;c[n+60>>2]=2432;c[n+4>>2]=0;uk(n+60|0,b);c[n+132>>2]=0;c[n+136>>2]=-1;c[n>>2]=2356;c[n+60>>2]=2376;xk(b);c[b>>2]=2288;d=n+40|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[n+56>>2]=8;mc(b,z);Vj(z);c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;z=Hd(1)|0;c[l+4>>2]=z;c[l>>2]=Gd(z,0)|0;c[l+8>>2]=0;c[l+12>>2]=0;z=Hd(1)|0;c[m+4>>2]=z;c[m>>2]=Gd(z,0)|0;c[m+8>>2]=0;c[m+12>>2]=0;z=Hd(1)|0;c[r+4>>2]=z;c[r>>2]=Gd(z,0)|0;z=r+8|0;c[z>>2]=0;c[r+12>>2]=0;b=Hd(1)|0;c[v+4>>2]=b;c[v>>2]=Gd(b,0)|0;b=v+8|0;c[b>>2]=0;c[v+12>>2]=0;d=Hd(1)|0;c[w+4>>2]=d;c[w>>2]=Gd(d,0)|0;d=w+8|0;c[d>>2]=0;c[w+12>>2]=0;c[x>>2]=ed(0)|0;c[t>>2]=ed(0)|0;c[s>>2]=ed(0)|0;gb(A|0)|0;ad(c[A>>2]|0);Ub(n,u)|0;A=u+8|0;C=u+1|0;he(c[x>>2]|0,(a[u>>0]&1)==0?C:c[A>>2]|0)|0;el(n,o)|0;B=c[o>>2]|0;E=Dc(x)|0;D=Dc(x)|0;He(E,D,B,c[l>>2]|0)|0;Ub(n,u)|0;he(c[x>>2]|0,(a[u>>0]&1)==0?C:c[A>>2]|0)|0;el(n,o)|0;A=c[o>>2]|0;C=Dc(x)|0;B=Dc(x)|0;He(C,B,A,c[m>>2]|0)|0;xc(q,t);xc(q,s);wc(f,q,l,t);if(c[z>>2]|0)qc();Me(c[f>>2]|0,c[r>>2]|0);Rb(f);c[o>>2]=df(r,x)|0;E=nc(Tc(p,x)|0,19456,1)|0;nc(rl(E,c[o>>2]|0)|0,19456,1)|0;wc(g,q,l,s);if(c[b>>2]|0)qc();Me(c[g>>2]|0,c[v>>2]|0);Rb(g);c[o>>2]=df(v,x)|0;E=nc(Tc(p,x)|0,19456,1)|0;nc(rl(E,c[o>>2]|0)|0,19456,1)|0;wc(h,q,m,s);if(!(c[d>>2]|0)){Me(c[h>>2]|0,c[w>>2]|0);Rb(h);c[o>>2]=df(w,x)|0;D=nc(Tc(p,x)|0,19456,1)|0;D=rl(D,c[o>>2]|0)|0;c[e>>2]=tk(D+(c[(c[D>>2]|0)+-12>>2]|0)|0)|0;E=Mp(e,10868)|0;E=Db[c[(c[E>>2]|0)+28>>2]&31](E,10)|0;Kp(e);sl(D,E)|0;dl(D)|0;Tc(p,t)|0;pc(j,k);D=(a[j>>0]&1)==0?j+1|0:c[j+8>>2]|0;E=ij((Ti(D)|0)+1|0)|0;Si(E,D)|0;Vj(j);ae(c[s>>2]|0);ae(c[t>>2]|0);ae(c[x>>2]|0);Rb(w);Rb(v);Rb(r);Rb(m);Rb(l);Vj(u);Vb(n);Sb(p);tc(q);i=y;return E|0}else qc();return 0}function Ub(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;m=n+4|0;g=n;cl(m,e,0);if(!(a[m>>0]|0)){f=c[(c[e>>2]|0)+-12>>2]|0;ok(e+f|0,c[e+(f+16)>>2]|4);i=n;return e|0}if(!(a[f>>0]&1)){a[f+1>>0]=0;a[f>>0]=0}else{a[c[f+8>>2]>>0]=0;c[f+4>>2]=0}h=c[(c[e>>2]|0)+-12>>2]|0;m=c[e+(h+12)>>2]|0;m=(m|0)<1?2147483647:m;c[g>>2]=tk(e+h|0)|0;h=Mp(g,10868)|0;Kp(g);a:do if((m|0)>0){l=h+8|0;g=0;while(1){h=c[e+((c[(c[e>>2]|0)+-12>>2]|0)+24)>>2]|0;j=c[h+12>>2]|0;if((j|0)==(c[h+16>>2]|0)){h=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;if((h|0)==-1){h=2;break a}}else h=d[j>>0]|0;j=h&255;if(j<<24>>24>-1?(b[(c[l>>2]|0)+(h<<24>>24<<1)>>1]&8192)!=0:0){h=0;break a}ak(f,j);k=c[e+((c[(c[e>>2]|0)+-12>>2]|0)+24)>>2]|0;g=g+1|0;h=k+12|0;j=c[h>>2]|0;if((j|0)==(c[k+16>>2]|0))xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;else c[h>>2]=j+1;if((g|0)>=(m|0)){h=0;break}}}else{g=0;h=0}while(0);c[e+((c[(c[e>>2]|0)+-12>>2]|0)+12)>>2]=0;f=c[(c[e>>2]|0)+-12>>2]|0;ok(e+f|0,c[e+(f+16)>>2]|((g|0)==0?h|4:h));i=n;return e|0}function Vb(a){a=a|0;var b=0,d=0;c[a>>2]=2356;b=a+60|0;c[b>>2]=2376;d=a+8|0;c[d>>2]=2288;Vj(a+40|0);vk(d);pk(b);return}function Wb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;C=i;i=i+1168|0;l=C+1020|0;v=C+512|0;u=C+376|0;e=C+364|0;x=C+224|0;g=C+212|0;y=C+200|0;s=C+184|0;p=C+168|0;q=C+152|0;r=C+136|0;w=C+120|0;z=C+104|0;A=C+88|0;B=C+84|0;t=C+80|0;h=C+64|0;j=C+48|0;k=C+32|0;n=C+16|0;o=C;sc(v,128,0);c[(Vc()|0)+564>>2]=64;m=u+4|0;c[u>>2]=2252;c[u+56>>2]=2272;uk(u+56|0,m);c[u+128>>2]=0;c[u+132>>2]=-1;c[u>>2]=2196;c[u+56>>2]=2216;xk(m);c[m>>2]=2288;f=u+36|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[u+52>>2]=16;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;mc(m,l);Vj(l);Tj(e,b,Ti(b)|0);b=l+8|0;c[l>>2]=2412;c[l+60>>2]=2432;c[l+4>>2]=0;uk(l+60|0,b);c[l+132>>2]=0;c[l+136>>2]=-1;c[l>>2]=2356;c[l+60>>2]=2376;xk(b);c[b>>2]=2288;f=l+40|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[l+56>>2]=8;mc(b,e);Vj(e);Tj(g,d,Ti(d)|0);b=x+8|0;c[x>>2]=2412;c[x+60>>2]=2432;c[x+4>>2]=0;uk(x+60|0,b);c[x+132>>2]=0;c[x+136>>2]=-1;c[x>>2]=2356;c[x+60>>2]=2376;xk(b);c[b>>2]=2288;d=x+40|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[x+56>>2]=8;mc(b,g);Vj(g);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=Hd(1)|0;c[s+4>>2]=b;c[s>>2]=Gd(b,0)|0;c[s+8>>2]=0;c[s+12>>2]=0;b=Hd(1)|0;c[p+4>>2]=b;c[p>>2]=Gd(b,0)|0;b=p+8|0;c[b>>2]=0;c[p+12>>2]=0;d=Hd(1)|0;c[q+4>>2]=d;c[q>>2]=Gd(d,0)|0;d=q+8|0;c[d>>2]=0;c[q+12>>2]=0;g=Hd(1)|0;c[r+4>>2]=g;c[r>>2]=Gd(g,0)|0;g=r+8|0;c[g>>2]=0;c[r+12>>2]=0;e=Hd(1)|0;c[w+4>>2]=e;c[w>>2]=Gd(e,0)|0;c[w+8>>2]=0;c[w+12>>2]=0;e=Hd(1)|0;c[z+4>>2]=e;c[z>>2]=Gd(e,0)|0;c[z+8>>2]=0;c[z+12>>2]=0;e=Hd(1)|0;c[A+4>>2]=e;c[A>>2]=Gd(e,0)|0;c[A+8>>2]=0;c[A+12>>2]=0;c[B>>2]=ed(0)|0;Ub(l,y)|0;e=y+8|0;f=y+1|0;he(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;el(l,t)|0;D=c[t>>2]|0;E=Dc(B)|0;F=Dc(B)|0;He(E,F,D,c[s>>2]|0)|0;Ub(x,y)|0;he(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;el(x,t)|0;D=c[t>>2]|0;F=Dc(B)|0;E=Dc(B)|0;He(F,E,D,c[p>>2]|0)|0;Ub(x,y)|0;he(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;el(x,t)|0;D=c[t>>2]|0;E=Dc(B)|0;F=Dc(B)|0;He(E,F,D,c[q>>2]|0)|0;Ub(x,y)|0;he(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;el(x,t)|0;D=c[t>>2]|0;F=Dc(B)|0;E=Dc(B)|0;He(F,E,D,c[r>>2]|0)|0;while(1){F=Ub(x,y)|0;if(c[F+((c[(c[F>>2]|0)+-12>>2]|0)+16)>>2]&5){b=10;break}he(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;el(x,t)|0;F=c[t>>2]|0;D=Dc(B)|0;E=Dc(B)|0;He(D,E,F,c[w>>2]|0)|0;Ub(x,y)|0;he(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;el(x,t)|0;F=c[t>>2]|0;E=Dc(B)|0;D=Dc(B)|0;He(E,D,F,c[z>>2]|0)|0;Ub(x,y)|0;he(c[B>>2]|0,(a[y>>0]&1)==0?f:c[e>>2]|0)|0;el(x,t)|0;F=c[t>>2]|0;D=Dc(B)|0;E=Dc(B)|0;He(D,E,F,c[A>>2]|0)|0;zc(h,p,w);if(c[b>>2]|0){b=5;break}Me(c[h>>2]|0,c[p>>2]|0);Rb(h);zc(j,q,z);if(c[d>>2]|0){b=7;break}Me(c[j>>2]|0,c[q>>2]|0);Rb(j);zc(k,r,A);if(c[g>>2]|0){b=9;break}Me(c[k>>2]|0,c[r>>2]|0);Rb(k)}if((b|0)==5)qc();else if((b|0)==7)qc();else if((b|0)==9)qc();else if((b|0)==10){zc(n,r,s);if(!(c[g>>2]|0)){Me(c[n>>2]|0,c[r>>2]|0);Rb(n);c[t>>2]=df(p,B)|0;E=nc(Tc(u,B)|0,19456,1)|0;nc(rl(E,c[t>>2]|0)|0,19456,1)|0;c[t>>2]=df(q,B)|0;E=nc(Tc(u,B)|0,19456,1)|0;nc(rl(E,c[t>>2]|0)|0,19456,1)|0;c[t>>2]=df(r,B)|0;E=nc(Tc(u,B)|0,19456,1)|0;rl(E,c[t>>2]|0)|0;pc(o,m);E=(a[o>>0]&1)==0?o+1|0:c[o+8>>2]|0;F=ij((Ti(E)|0)+1|0)|0;Si(F,E)|0;Vj(o);ae(c[B>>2]|0);Rb(A);Rb(z);Rb(w);Rb(r);Rb(q);Rb(p);Rb(s);Vj(y);Vb(x);Vb(l);Sb(u);tc(v);i=C;return F|0}else qc()}return 0}function Xb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;B=i;i=i+1136|0;m=B+996|0;t=B+488|0;s=B+352|0;g=B+340|0;v=B+200|0;E=B+188|0;x=B+176|0;r=B+160|0;u=B+144|0;y=B+128|0;z=B+112|0;p=B+96|0;q=B+80|0;A=B+76|0;w=B+72|0;l=B+68|0;C=B+64|0;h=B+48|0;j=B+32|0;k=B+16|0;o=B;sc(t,128,0);c[(Vc()|0)+564>>2]=64;n=s+4|0;c[s>>2]=2252;c[s+56>>2]=2272;uk(s+56|0,n);c[s+128>>2]=0;c[s+132>>2]=-1;c[s>>2]=2196;c[s+56>>2]=2216;xk(n);c[n>>2]=2288;D=s+36|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;c[D+12>>2]=0;c[s+52>>2]=16;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;mc(n,m);Vj(m);Tj(g,b,Ti(b)|0);b=m+8|0;c[m>>2]=2412;c[m+60>>2]=2432;c[m+4>>2]=0;uk(m+60|0,b);c[m+132>>2]=0;c[m+136>>2]=-1;c[m>>2]=2356;c[m+60>>2]=2376;xk(b);c[b>>2]=2288;D=m+40|0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;c[D+12>>2]=0;c[m+56>>2]=8;mc(b,g);Vj(g);Tj(E,d,Ti(d)|0);g=v+8|0;c[v>>2]=2412;c[v+60>>2]=2432;c[v+4>>2]=0;uk(v+60|0,g);c[v+132>>2]=0;c[v+136>>2]=-1;c[v>>2]=2356;c[v+60>>2]=2376;xk(g);c[g>>2]=2288;b=v+40|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[v+56>>2]=8;mc(g,E);Vj(E);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;E=Hd(1)|0;c[r+4>>2]=E;c[r>>2]=Gd(E,0)|0;c[r+8>>2]=0;c[r+12>>2]=0;E=Hd(1)|0;c[u+4>>2]=E;c[u>>2]=Gd(E,0)|0;c[u+8>>2]=0;c[u+12>>2]=0;E=Hd(1)|0;c[y+4>>2]=E;E=Gd(E,0)|0;c[y>>2]=E;c[y+8>>2]=0;c[y+12>>2]=0;g=Hd(1)|0;c[z+4>>2]=g;g=Gd(g,0)|0;c[z>>2]=g;c[z+8>>2]=0;c[z+12>>2]=0;b=Hd(1)|0;c[p+4>>2]=b;c[p>>2]=Gd(b,0)|0;b=p+8|0;c[b>>2]=0;c[p+12>>2]=0;d=Hd(1)|0;c[q+4>>2]=d;c[q>>2]=Gd(d,0)|0;d=q+8|0;c[d>>2]=0;c[q+12>>2]=0;c[A>>2]=ed(0)|0;c[w>>2]=ed(0)|0;gb(C|0)|0;ad(c[C>>2]|0);Ub(m,x)|0;C=x+8|0;D=x+1|0;he(c[A>>2]|0,(a[x>>0]&1)==0?D:c[C>>2]|0)|0;el(m,l)|0;F=c[l>>2]|0;G=Dc(A)|0;H=Dc(A)|0;He(G,H,F,c[r>>2]|0)|0;Ub(v,x)|0;he(c[A>>2]|0,(a[x>>0]&1)==0?D:c[C>>2]|0)|0;el(v,l)|0;F=c[l>>2]|0;H=Dc(A)|0;G=Dc(A)|0;He(H,G,F,c[u>>2]|0)|0;Ub(v,x)|0;he(c[A>>2]|0,(a[x>>0]&1)==0?D:c[C>>2]|0)|0;el(v,l)|0;F=c[l>>2]|0;G=Dc(A)|0;He(G,Dc(A)|0,F,E)|0;Ub(v,x)|0;he(c[A>>2]|0,(a[x>>0]&1)==0?D:c[C>>2]|0)|0;el(v,l)|0;C=c[l>>2]|0;D=Dc(A)|0;He(D,Dc(A)|0,C,g)|0;if((f|0)<1){pc(o,n);F=a[o>>0]|0;F=F&1;F=F<<24>>24==0;G=o+8|0;G=c[G>>2]|0;H=o+1|0;G=F?H:G;H=Ti(G)|0;H=H+1|0;H=ij(H)|0;Si(H,G)|0;Vj(o);G=c[w>>2]|0;ae(G);G=c[A>>2]|0;ae(G);Rb(q);Rb(p);Rb(z);Rb(y);Rb(u);Rb(r);Vj(x);Vb(v);Vb(m);Sb(s);tc(t);i=B;return H|0}g=1;while(1){xc(t,w);wc(h,t,r,w);if(c[b>>2]|0){b=5;break}Me(c[h>>2]|0,c[p>>2]|0);Rb(h);c[l>>2]=df(p,A)|0;H=nc(Tc(s,A)|0,19456,1)|0;nc(rl(H,c[l>>2]|0)|0,19456,1)|0;wc(j,t,u,w);if(c[d>>2]|0){b=7;break}Me(c[j>>2]|0,c[q>>2]|0);Rb(j);if((g|0)==(e|0)){zc(k,q,r);if(c[d>>2]|0){b=10;break}Me(c[k>>2]|0,c[q>>2]|0);Rb(k)}c[l>>2]=df(q,A)|0;H=nc(Tc(s,A)|0,19456,1)|0;rl(H,c[l>>2]|0)|0;if((g|0)>=(f|0)){b=13;break}nc(s,19456,1)|0;g=g+1|0}if((b|0)==5)qc();else if((b|0)==7)qc();else if((b|0)==10)qc();else if((b|0)==13){pc(o,n);F=a[o>>0]|0;F=F&1;F=F<<24>>24==0;G=o+8|0;G=c[G>>2]|0;H=o+1|0;G=F?H:G;H=Ti(G)|0;H=H+1|0;H=ij(H)|0;Si(H,G)|0;Vj(o);G=c[w>>2]|0;ae(G);G=c[A>>2]|0;ae(G);Rb(q);Rb(p);Rb(z);Rb(y);Rb(u);Rb(r);Vj(x);Vb(v);Vb(m);Sb(s);tc(t);i=B;return H|0}return 0}function Yb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+896|0;n=x+756|0;u=x+248|0;t=x+112|0;m=x+100|0;v=x+88|0;q=x+72|0;r=x+56|0;w=x+52|0;s=x+48|0;k=x+32|0;l=x+16|0;o=x;sc(u,128,0);c[(Vc()|0)+564>>2]=64;p=t+4|0;c[t>>2]=2252;c[t+56>>2]=2272;uk(t+56|0,p);c[t+128>>2]=0;c[t+132>>2]=-1;c[t>>2]=2196;c[t+56>>2]=2216;xk(p);c[p>>2]=2288;g=t+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[t+52>>2]=16;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;mc(p,n);Vj(n);Tj(m,b,Ti(b)|0);b=n+8|0;c[n>>2]=2412;c[n+60>>2]=2432;c[n+4>>2]=0;uk(n+60|0,b);c[n+132>>2]=0;c[n+136>>2]=-1;c[n>>2]=2356;c[n+60>>2]=2376;xk(b);c[b>>2]=2288;g=n+40|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[n+56>>2]=8;mc(b,m);Vj(m);c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;b=Hd(1)|0;c[q+4>>2]=b;c[q>>2]=Gd(b,0)|0;c[q+8>>2]=0;c[q+12>>2]=0;b=Hd(1)|0;c[r+4>>2]=b;c[r>>2]=Gd(b,0)|0;c[r+8>>2]=0;c[r+12>>2]=0;b=d<<4;b=d>>>0>268435455|b>>>0>4294967291?-1:b+4|0;m=nf(b)|0;c[m>>2]=d;m=m+4|0;g=(d|0)==0;if(!g){e=m+(d<<4)|0;f=m;do{j=Hd(1)|0;c[f+4>>2]=j;c[f>>2]=Gd(j,0)|0;c[f+8>>2]=0;c[f+12>>2]=0;f=f+16|0}while((f|0)!=(e|0))}j=nf(b)|0;c[j>>2]=d;j=j+4|0;if(!g){b=j+(d<<4)|0;e=j;do{h=Hd(1)|0;c[e+4>>2]=h;c[e>>2]=Gd(h,0)|0;c[e+8>>2]=0;c[e+12>>2]=0;e=e+16|0}while((e|0)!=(b|0))}c[w>>2]=ed(0)|0;h=(d|0)>0;f=v+8|0;g=v+1|0;if(h){b=0;do{Ub(n,v)|0;he(c[w>>2]|0,(a[v>>0]&1)==0?g:c[f>>2]|0)|0;el(n,s)|0;e=c[s>>2]|0;y=Dc(w)|0;z=Dc(w)|0;He(y,z,e,c[m+(b<<4)>>2]|0)|0;Ub(n,v)|0;he(c[w>>2]|0,(a[v>>0]&1)==0?g:c[f>>2]|0)|0;el(n,s)|0;e=c[s>>2]|0;z=Dc(w)|0;y=Dc(w)|0;He(z,y,e,c[j+(b<<4)>>2]|0)|0;b=b+1|0}while((b|0)<(d|0))}a:while(1){z=Ub(n,v)|0;if(c[z+((c[(c[z>>2]|0)+-12>>2]|0)+16)>>2]&5){b=12;break}if(h)b=0;else continue;while(1){if((b|0)>0)Ub(n,v)|0;he(c[w>>2]|0,(a[v>>0]&1)==0?g:c[f>>2]|0)|0;el(n,s)|0;e=c[s>>2]|0;z=Dc(w)|0;y=Dc(w)|0;He(z,y,e,c[q>>2]|0)|0;Ub(n,v)|0;he(c[w>>2]|0,(a[v>>0]&1)==0?g:c[f>>2]|0)|0;el(n,s)|0;e=c[s>>2]|0;y=Dc(w)|0;z=Dc(w)|0;He(y,z,e,c[r>>2]|0)|0;e=m+(b<<4)|0;zc(k,e,q);if(c[m+(b<<4)+8>>2]|0){b=18;break a}Me(c[k>>2]|0,c[e>>2]|0);Rb(k);e=j+(b<<4)|0;zc(l,e,r);if(c[j+(b<<4)+8>>2]|0){b=20;break a}Me(c[l>>2]|0,c[e>>2]|0);Rb(l);b=b+1|0;if((b|0)>=(d|0))continue a}}if((b|0)==12){if(!h){pc(o,p);d=a[o>>0]|0;d=d&1;d=d<<24>>24==0;y=o+8|0;y=c[y>>2]|0;z=o+1|0;y=d?z:y;z=Ti(y)|0;z=z+1|0;z=ij(z)|0;Si(z,y)|0;Vj(o);y=c[w>>2]|0;ae(y);Rb(r);Rb(q);Vj(v);Vb(n);Sb(t);tc(u);i=x;return z|0}b=d+-1|0;e=0;do{c[s>>2]=df(m+(e<<4)|0,w)|0;z=nc(Tc(t,w)|0,19456,1)|0;nc(rl(z,c[s>>2]|0)|0,19456,1)|0;c[s>>2]=df(j+(e<<4)|0,w)|0;z=nc(Tc(t,w)|0,19456,1)|0;rl(z,c[s>>2]|0)|0;if((e|0)<(b|0))nc(t,19456,1)|0;e=e+1|0}while((e|0)<(d|0));pc(o,p);d=a[o>>0]|0;d=d&1;d=d<<24>>24==0;y=o+8|0;y=c[y>>2]|0;z=o+1|0;y=d?z:y;z=Ti(y)|0;z=z+1|0;z=ij(z)|0;Si(z,y)|0;Vj(o);y=c[w>>2]|0;ae(y);Rb(r);Rb(q);Vj(v);Vb(n);Sb(t);tc(u);i=x;return z|0}else if((b|0)==18)qc();else if((b|0)==20)qc();return 0}function Zb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;w=i;i=i+928|0;l=w+780|0;u=w+768|0;p=w+248|0;r=w+260|0;q=w+112|0;t=w+96|0;n=w+80|0;o=w+64|0;v=w+56|0;s=w+52|0;k=w+48|0;h=w+32|0;j=w+16|0;m=w;Tj(u,b,Ti(b)|0);Tj(p,d,Ti(d)|0);sc(r,128,0);c[(Vc()|0)+564>>2]=64;g=q+4|0;c[q>>2]=2252;c[q+56>>2]=2272;uk(q+56|0,g);c[q+128>>2]=0;c[q+132>>2]=-1;c[q>>2]=2196;c[q+56>>2]=2216;xk(g);c[g>>2]=2288;d=q+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[q+52>>2]=16;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;mc(g,l);Vj(l);d=l+8|0;c[l>>2]=2412;c[l+60>>2]=2432;c[l+4>>2]=0;uk(l+60|0,d);c[l+132>>2]=0;c[l+136>>2]=-1;c[l>>2]=2356;c[l+60>>2]=2376;xk(d);c[d>>2]=2288;b=l+40|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[l+56>>2]=8;mc(d,p);c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;d=Hd(1)|0;c[n+4>>2]=d;c[n>>2]=Gd(d,0)|0;d=n+8|0;c[d>>2]=0;c[n+12>>2]=0;b=Hd(1)|0;c[o+4>>2]=b;b=Gd(b,0)|0;c[o>>2]=b;c[o+8>>2]=0;c[o+12>>2]=0;c[v>>2]=ed(0)|0;e=ed(0)|0;c[s>>2]=e;he(e,(a[u>>0]&1)==0?u+1|0:c[u+8>>2]|0)|0;e=t+8|0;f=t+1|0;while(1){x=Ub(l,t)|0;if(c[x+((c[(c[x>>2]|0)+-12>>2]|0)+16)>>2]&5){d=6;break}he(c[v>>2]|0,(a[t>>0]&1)==0?f:c[e>>2]|0)|0;el(l,k)|0;x=c[k>>2]|0;z=Dc(v)|0;y=Dc(v)|0;He(z,y,x,c[n>>2]|0)|0;Ub(l,t)|0;he(c[v>>2]|0,(a[t>>0]&1)==0?f:c[e>>2]|0)|0;el(l,k)|0;x=c[k>>2]|0;y=Dc(v)|0;He(y,Dc(v)|0,x,b)|0;wc(j,r,n,s);Ac(h,j);if(c[d>>2]|0){d=5;break}Me(c[h>>2]|0,c[n>>2]|0);Rb(h);Rb(j);c[k>>2]=df(n,v)|0;z=nc(Tc(q,v)|0,19456,1)|0;nc(rl(z,c[k>>2]|0)|0,19456,1)|0}if((d|0)==5)qc();else if((d|0)==6){pc(m,g);y=(a[m>>0]&1)==0?m+1|0:c[m+8>>2]|0;z=ij((Ti(y)|0)+1|0)|0;Si(z,y)|0;Vj(m);ae(c[s>>2]|0);ae(c[v>>2]|0);Rb(o);Rb(n);Vj(t);Vb(l);Sb(q);tc(r);Vj(p);Vj(u);i=w;return z|0}return 0}function _b(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+1200|0;o=A+1060|0;w=A+552|0;v=A+416|0;h=A+404|0;t=A+264|0;n=A+252|0;s=A+112|0;m=A+100|0;x=A+88|0;u=A+72|0;y=A+56|0;z=A+52|0;k=A+48|0;j=A+32|0;q=A+16|0;r=A;sc(w,128,0);c[(Vc()|0)+564>>2]=64;p=v+4|0;c[v>>2]=2252;c[v+56>>2]=2272;uk(v+56|0,p);c[v+128>>2]=0;c[v+132>>2]=-1;c[v>>2]=2196;c[v+56>>2]=2216;xk(p);c[p>>2]=2288;g=v+36|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[v+52>>2]=16;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;mc(p,o);Vj(o);Tj(h,b,Ti(b)|0);g=o+8|0;c[o>>2]=2412;c[o+60>>2]=2432;c[o+4>>2]=0;uk(o+60|0,g);c[o+132>>2]=0;c[o+136>>2]=-1;c[o>>2]=2356;c[o+60>>2]=2376;xk(g);c[g>>2]=2288;b=o+40|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[o+56>>2]=8;mc(g,h);Vj(h);Tj(n,e,Ti(e)|0);h=t+8|0;c[t>>2]=2412;c[t+60>>2]=2432;c[t+4>>2]=0;uk(t+60|0,h);c[t+132>>2]=0;c[t+136>>2]=-1;c[t>>2]=2356;c[t+60>>2]=2376;xk(h);c[h>>2]=2288;g=t+40|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[t+56>>2]=8;mc(h,n);Vj(n);Tj(m,d,Ti(d)|0);n=s+8|0;c[s>>2]=2412;c[s+60>>2]=2432;c[s+4>>2]=0;uk(s+60|0,n);c[s+132>>2]=0;c[s+136>>2]=-1;c[s>>2]=2356;c[s+60>>2]=2376;xk(n);c[n>>2]=2288;h=s+40|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[s+56>>2]=8;mc(n,m);Vj(m);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;m=Hd(1)|0;c[u+4>>2]=m;c[u>>2]=Gd(m,0)|0;c[u+8>>2]=0;c[u+12>>2]=0;m=Hd(1)|0;c[y+4>>2]=m;c[y>>2]=Gd(m,0)|0;m=y+8|0;c[m>>2]=0;c[y+12>>2]=0;n=f<<4;n=nf(f>>>0>268435455|n>>>0>4294967291?-1:n+4|0)|0;c[n>>2]=f;n=n+4|0;if(f){d=n+(f<<4)|0;e=n;do{h=Hd(1)|0;c[e+4>>2]=h;c[e>>2]=Gd(h,0)|0;c[e+8>>2]=0;c[e+12>>2]=0;e=e+16|0}while((e|0)!=(d|0))}c[z>>2]=ed(0)|0;Ub(o,x)|0;b=x+8|0;g=x+1|0;he(c[z>>2]|0,(a[x>>0]&1)==0?g:c[b>>2]|0)|0;el(o,k)|0;h=c[k>>2]|0;d=Dc(z)|0;e=Dc(z)|0;He(d,e,h,c[u>>2]|0)|0;h=(f|0)>0;a:do if(h){d=0;do{Ub(s,x)|0;el(s,k)|0;Ub(s,x)|0;el(s,k)|0;he(c[z>>2]|0,(a[x>>0]&1)==0?g:c[b>>2]|0)|0;e=c[k>>2]|0;C=Dc(z)|0;B=Dc(z)|0;He(C,B,e,c[n+(d<<4)>>2]|0)|0;d=d+1|0}while((d|0)<(f|0));if(h){b:while(1){C=Ub(t,x)|0;if(!(c[C+((c[(c[C>>2]|0)+-12>>2]|0)+16)>>2]&5))d=0;else break a;while(1){if((d|0)>0)Ub(t,x)|0;el(t,k)|0;he(c[z>>2]|0,(a[x>>0]&1)==0?g:c[b>>2]|0)|0;e=c[k>>2]|0;B=Dc(z)|0;C=Dc(z)|0;He(B,C,e,c[y>>2]|0)|0;e=n+(d<<4)|0;zc(j,e,y);if(c[n+(d<<4)+8>>2]|0)break b;Me(c[j>>2]|0,c[e>>2]|0);Rb(j);d=d+1|0;if((d|0)>=(f|0))continue b}}qc()}else l=13}else l=13;while(0);if((l|0)==13)while(1){C=Ub(t,x)|0;if(!(c[C+((c[(c[C>>2]|0)+-12>>2]|0)+16)>>2]&5))l=13;else break}if(!h){pc(r,p);f=a[r>>0]|0;f=f&1;f=f<<24>>24==0;B=r+8|0;B=c[B>>2]|0;C=r+1|0;B=f?C:B;C=Ti(B)|0;C=C+1|0;C=ij(C)|0;Si(C,B)|0;Vj(r);B=c[z>>2]|0;ae(B);Rb(y);Rb(u);Vj(x);Vb(s);Vb(t);Vb(o);Sb(v);tc(w);i=A;return C|0}b=f+-1|0;g=0;c:while(1){e=n+(g<<4)|0;d=0;do{C=ed(0)|0;dd(d,C);rd(C,c[z>>2]|0);ae(C);wc(q,w,u,z);if(c[m>>2]|0){l=19;break c}Me(c[q>>2]|0,c[y>>2]|0);Rb(q);if(Oe(c[y>>2]|0,c[e>>2]|0)|0)break;d=d+1|0}while((d|0)<1e5);rl(v,d)|0;if((g|0)<(b|0))nc(v,19456,1)|0;g=g+1|0;if((g|0)>=(f|0)){l=24;break}}if((l|0)==19)qc();else if((l|0)==24){pc(r,p);f=a[r>>0]|0;f=f&1;f=f<<24>>24==0;B=r+8|0;B=c[B>>2]|0;C=r+1|0;B=f?C:B;C=Ti(B)|0;C=C+1|0;C=ij(C)|0;Si(C,B)|0;Vj(r);B=c[z>>2]|0;ae(B);Rb(y);Rb(u);Vj(x);Vb(s);Vb(t);Vb(o);Sb(v);tc(w);i=A;return C|0}return 0}function $b(a){a=a|0;Sb(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function ac(a){a=a|0;Sb(a);of(a);return}function bc(a){a=a|0;a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;Sb(a);of(a);return}function cc(a){a=a|0;c[a>>2]=2288;Vj(a+32|0);vk(a);return}function dc(a){a=a|0;c[a>>2]=2288;Vj(a+32|0);vk(a);of(a);return}function ec(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=d+44|0;j=c[i>>2]|0;l=d+24|0;m=c[l>>2]|0;if(j>>>0>>0){c[i>>2]=m;j=m}k=j;i=h&24;if(!i){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((g|0)==1&(i|0)==24){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}a:do switch(g|0){case 0:{i=0;g=0;break}case 1:if(!(h&8)){g=m-(c[d+20>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}else{g=(c[d+12>>2]|0)-(c[d+8>>2]|0)|0;i=g;g=((g|0)<0)<<31>>31;break a}case 2:{i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;g=j-i|0;i=g;g=((g|0)<0)<<31>>31;break}default:{d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}while(0);g=nt(i|0,g|0,e|0,f|0)|0;e=D;if((e|0)>=0){i=d+32|0;if(!(a[i>>0]&1))i=i+1|0;else i=c[d+40>>2]|0;f=j-i|0;j=((f|0)<0)<<31>>31;if(!((j|0)<(e|0)|(j|0)==(e|0)&f>>>0>>0)){i=h&8;if(!((g|0)==0&(e|0)==0)){if((i|0)!=0?(c[d+12>>2]|0)==0:0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}if((h&16|0)!=0&(m|0)==0){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}}if(i){c[d+12>>2]=(c[d+8>>2]|0)+g;c[d+16>>2]=k}if(h&16)c[l>>2]=(c[d+20>>2]|0)+g;d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=g;c[d+4>>2]=e;return}}d=b;c[d>>2]=0;c[d+4>>2]=0;d=b+8|0;c[d>>2]=-1;c[d+4>>2]=-1;return}function fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=d+8|0;qb[c[(c[b>>2]|0)+16>>2]&15](a,b,c[d>>2]|0,c[d+4>>2]|0,0,e);return}function gc(a){a=a|0;var b=0,e=0,f=0,g=0;b=a+44|0;e=c[b>>2]|0;f=c[a+24>>2]|0;if(e>>>0>>0){c[b>>2]=f;e=f}if(!(c[a+48>>2]&8)){a=-1;return a|0}g=a+16|0;b=c[g>>2]|0;f=a+12|0;if(b>>>0>>0){f=c[f>>2]|0;c[g>>2]=e;b=e}else f=c[f>>2]|0;if(f>>>0>=b>>>0){a=-1;return a|0}a=d[f>>0]|0;return a|0}function hc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+44|0;e=c[f>>2]|0;g=c[b+24>>2]|0;if(e>>>0>>0){c[f>>2]=g;e=g}j=b+8|0;f=c[j>>2]|0;k=b+12|0;h=c[k>>2]|0;i=f;if(f>>>0>=h>>>0){b=-1;return b|0}if((d|0)==-1){c[j>>2]=f;c[k>>2]=h+-1;c[b+16>>2]=e;b=0;return b|0}if(!(c[b+48>>2]&16)){g=d&255;f=h+-1|0;if(g<<24>>24!=(a[f>>0]|0)){b=-1;return b|0}}else{g=d&255;f=h+-1|0}c[j>>2]=i;c[k>>2]=f;c[b+16>>2]=e;a[f>>0]=g;b=d;return b|0}function ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+16|0;o=t;if((d|0)==-1){b=0;i=t;return b|0}p=b+12|0;q=b+8|0;r=(c[p>>2]|0)-(c[q>>2]|0)|0;s=b+24|0;l=c[s>>2]|0;n=b+28|0;e=c[n>>2]|0;if((l|0)==(e|0)){k=b+48|0;if(!(c[k>>2]&16)){b=-1;i=t;return b|0}h=b+20|0;j=c[h>>2]|0;g=b+44|0;m=(c[g>>2]|0)-j|0;f=b+32|0;ak(f,0);if(!(a[f>>0]&1))e=10;else e=(c[f>>2]&-2)+-1|0;Zj(f,e,0);e=a[f>>0]|0;if(!(e&1)){f=f+1|0;e=(e&255)>>>1}else{f=c[b+40>>2]|0;e=c[b+36>>2]|0}e=f+e|0;c[h>>2]=f;c[n>>2]=e;l=f+(l-j)|0;c[s>>2]=l;f=f+m|0;c[g>>2]=f;j=e}else{f=b+44|0;k=b+48|0;g=f;f=c[f>>2]|0;j=e}h=l+1|0;c[o>>2]=h;f=c[(h>>>0>>0?g:o)>>2]|0;c[g>>2]=f;if(c[k>>2]&8){e=b+32|0;if(!(a[e>>0]&1))e=e+1|0;else e=c[b+40>>2]|0;c[q>>2]=e;c[p>>2]=e+r;c[b+16>>2]=f}if((l|0)==(j|0)){b=Db[c[(c[b>>2]|0)+52>>2]&31](b,d&255)|0;i=t;return b|0}else{c[s>>2]=h;a[l>>0]=d;b=d&255;i=t;return b|0}return 0}function jc(a){a=a|0;Vb(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function kc(a){a=a|0;Vb(a);of(a);return}function lc(a){a=a|0;a=a+(c[(c[a>>2]|0)+-12>>2]|0)|0;Vb(a);of(a);return}function mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+32|0;Wj(i,d)|0;h=b+44|0;c[h>>2]=0;j=b+48|0;g=c[j>>2]|0;if(g&8){d=a[i>>0]|0;if(!(d&1)){d=((d&255)>>>1)+(i+1)|0;c[h>>2]=d;e=i+1|0;f=i+1|0}else{d=(c[b+40>>2]|0)+(c[b+36>>2]|0)|0;c[h>>2]=d;f=c[b+40>>2]|0;e=f}c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=d}if(!(g&16))return;d=a[i>>0]|0;if(!(d&1)){g=(d&255)>>>1;c[h>>2]=i+1+g;d=10;h=g}else{g=c[b+36>>2]|0;c[h>>2]=(c[b+40>>2]|0)+g;d=(c[i>>2]&-2)+-1|0;h=g}Zj(i,d,0);d=a[i>>0]|0;if(!(d&1)){g=i+1|0;f=(d&255)>>>1;e=i+1|0}else{e=c[b+40>>2]|0;g=e;f=c[b+36>>2]|0}d=b+24|0;c[d>>2]=e;c[b+20>>2]=e;c[b+28>>2]=g+f;if(!(c[j>>2]&3))return;c[d>>2]=e+h;return}function nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;m=n+8|0;j=n;pl(m,b);if(!(a[m>>0]|0)){ql(m);i=n;return b|0}f=c[(c[b>>2]|0)+-12>>2]|0;c[j>>2]=c[b+(f+24)>>2];l=b+f|0;k=c[b+(f+4)>>2]|0;g=d+e|0;f=b+(f+76)|0;e=c[f>>2]|0;if((e|0)==-1){c[h>>2]=tk(l)|0;e=Mp(h,10868)|0;e=Db[c[(c[e>>2]|0)+28>>2]&31](e,32)|0;Kp(h);e=e<<24>>24;c[f>>2]=e}c[h>>2]=c[j>>2];if(oc(h,d,(k&176|0)==32?g:d,g,l,e&255)|0){ql(m);i=n;return b|0}d=c[(c[b>>2]|0)+-12>>2]|0;ok(b+d|0,c[b+(d+16)>>2]|5);ql(m);i=n;return b|0}function oc(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+16|0;m=o;n=c[b>>2]|0;if(!n){b=0;i=o;return b|0}p=d;k=f-p|0;l=g+12|0;j=c[l>>2]|0;k=(j|0)>(k|0)?j-k|0:0;j=e;g=j-p|0;if((g|0)>0?(pb[c[(c[n>>2]|0)+48>>2]&31](n,d,g)|0)!=(g|0):0){c[b>>2]=0;p=0;i=o;return p|0}do if((k|0)>0){Uj(m,k,h);if((pb[c[(c[n>>2]|0)+48>>2]&31](n,(a[m>>0]&1)==0?m+1|0:c[m+8>>2]|0,k)|0)==(k|0)){Vj(m);break}c[b>>2]=0;Vj(m);p=0;i=o;return p|0}while(0);f=f-j|0;if((f|0)>0?(pb[c[(c[n>>2]|0)+48>>2]&31](n,e,f)|0)!=(f|0):0){c[b>>2]=0;p=0;i=o;return p|0}c[l>>2]=0;p=n;i=o;return p|0}function pc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[d+48>>2]|0;if(e&16){e=d+44|0;f=c[e>>2]|0;g=c[d+24>>2]|0;if(f>>>0>>0)c[e>>2]=g;else g=f;f=c[d+20>>2]|0;h=g-f|0;if(h>>>0>4294967279)kf(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{d=h+16&-16;e=mf(d)|0;c[b+8>>2]=e;c[b>>2]=d|1;c[b+4>>2]=h}if((f|0)!=(g|0)){d=e;while(1){a[d>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(g|0))break;else d=d+1|0}e=e+h|0}a[e>>0]=0;return}if(!(e&8)){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}f=c[d+8>>2]|0;d=c[d+16>>2]|0;h=d-f|0;if(h>>>0>4294967279)kf(b);if(h>>>0<11){a[b>>0]=h<<1;e=b+1|0}else{g=h+16&-16;e=mf(g)|0;c[b+8>>2]=e;c[b>>2]=g|1;c[b+4>>2]=h}if((f|0)!=(d|0)){g=e;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(d|0))break;else g=g+1|0}e=e+h|0}a[e>>0]=0;return}function qc(){var a=0,b=0,d=0;d=i;i=i+16|0;a=nc(8260,15434,36)|0;c[d>>2]=tk(a+(c[(c[a>>2]|0)+-12>>2]|0)|0)|0;b=Mp(d,10868)|0;b=Db[c[(c[b>>2]|0)+28>>2]&31](b,10)|0;Kp(d);sl(a,b)|0;dl(a)|0;kb(0)}function rc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;m=n+40|0;b=n+36|0;d=n+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+8|0;k=n+4|0;l=n;c[m>>2]=Sc()|0;switch(c[(Vc()|0)+716>>2]|0){case 5:{h=ed(0)|0;c[b>>2]=h;dd(0,h);h=ed(0)|0;c[d>>2]=h;dd(1,h);de(Dc(b)|0,Dc(d)|0,a);ae(c[d>>2]|0);ae(c[b>>2]|0);break}case 3:{h=ed(0)|0;c[e>>2]=h;dd(1,h);h=ed(0)|0;c[f>>2]=h;dd(1,h);de(Dc(e)|0,Dc(f)|0,a);ae(c[f>>2]|0);ae(c[e>>2]|0);break}case 7:{f=ed(0)|0;c[g>>2]=f;dd(2,f);f=ed(0)|0;c[h>>2]=f;dd(1,f);de(Dc(g)|0,Dc(h)|0,a);ae(c[h>>2]|0);ae(c[g>>2]|0);break}default:{}}c[l>>2]=Hc(m,1)|0;c[k>>2]=Lc(l,6)|0;Cc(j,a,k);ee(j,a);ae(c[j>>2]|0);ae(c[j+4>>2]|0);ae(c[k>>2]|0);ae(c[l>>2]|0);ae(c[m>>2]|0);i=n;return}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0;cb=i;i=i+288|0;e=cb+276|0;ab=cb+272|0;bb=cb+268|0;P=cb+264|0;_=cb+260|0;ja=cb+256|0;ua=cb+252|0;Fa=cb+248|0;Qa=cb+244|0;Za=cb+240|0;_a=cb+236|0;$a=cb+232|0;Q=cb+228|0;R=cb+224|0;S=cb+220|0;T=cb+216|0;U=cb+212|0;V=cb+208|0;W=cb+204|0;X=cb+200|0;Y=cb+196|0;Z=cb+192|0;$=cb+188|0;aa=cb+184|0;ba=cb+180|0;ca=cb+176|0;da=cb+172|0;ea=cb+168|0;fa=cb+164|0;ga=cb+160|0;ha=cb+156|0;ia=cb+152|0;ka=cb+148|0;la=cb+144|0;ma=cb+140|0;na=cb+136|0;oa=cb+132|0;pa=cb+128|0;qa=cb+124|0;ra=cb+120|0;sa=cb+116|0;ta=cb+112|0;va=cb+108|0;wa=cb+104|0;xa=cb+100|0;ya=cb+96|0;za=cb+92|0;Aa=cb+88|0;Ba=cb+84|0;Ca=cb+80|0;Da=cb+76|0;Ea=cb+72|0;Ga=cb+68|0;Ha=cb+64|0;Ia=cb+60|0;Ja=cb+56|0;Ka=cb+52|0;La=cb+48|0;Ma=cb+44|0;Na=cb+40|0;Oa=cb+36|0;Pa=cb+32|0;Ra=cb+28|0;Sa=cb+24|0;Ta=cb+20|0;Ua=cb+16|0;Va=cb+12|0;Wa=cb+8|0;Xa=cb+4|0;Ya=cb;switch(b|0){case 128:case 192:break;default:{O=nc(8260,15471,27)|0;c[e>>2]=tk(O+(c[(c[O>>2]|0)+-12>>2]|0)|0)|0;N=Mp(e,10868)|0;N=Db[c[(c[N>>2]|0)+28>>2]&31](N,10)|0;Kp(e);sl(O,N)|0;dl(O)|0;kb(0)}}I=(b|0)==192;J=hd(I?24:8,0)|0;c[J+564>>2]=16;db=mf(4)|0;c[db>>2]=ed(0)|0;c[a>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;K=a+4|0;c[K>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;L=a+8|0;c[L>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;M=a+12|0;c[M>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;N=a+16|0;c[N>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;O=a+20|0;c[O>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;e=a+24|0;c[e>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;f=a+92|0;c[f>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;g=a+28|0;c[g>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;h=a+32|0;c[h>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;j=a+36|0;c[j>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;k=a+40|0;c[k>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;l=a+96|0;c[l>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;m=a+44|0;c[m>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;n=a+48|0;c[n>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;o=a+52|0;c[o>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;p=a+56|0;c[p>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;q=a+100|0;c[q>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;r=a+60|0;c[r>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;s=a+64|0;c[s>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;t=a+68|0;c[t>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;u=a+72|0;c[u>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;v=a+104|0;c[v>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;w=a+76|0;c[w>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;x=a+80|0;c[x>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;y=a+84|0;c[y>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;z=a+88|0;c[z>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;A=a+124|0;c[A>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;B=a+108|0;c[B>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;C=a+112|0;c[C>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;D=a+128|0;c[D>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;E=a+116|0;c[E>>2]=db;db=mf(4)|0;c[db>>2]=ed(0)|0;F=a+120|0;c[F>>2]=db;db=mf(4)|0;G=ed(0)|0;c[db>>2]=G;cd(G);G=a+132|0;c[G>>2]=db;db=mf(8)|0;c[db>>2]=ed(0)|0;c[db+4>>2]=ed(0)|0;fe(db);H=a+136|0;c[H>>2]=db;db=ed(0)|0;c[ab>>2]=db;dd(0,db);he(c[c[a>>2]>>2]|0,15499)|0;if((b|0)==128)he(c[c[K>>2]>>2]|0,15501)|0;if(I)he(c[c[K>>2]>>2]|0,15519)|0;c[a+140>>2]=b;db=c[K>>2]|0;b=ed(0)|0;c[bb>>2]=b;rd(c[db>>2]|0,b);b=c[L>>2]|0;c[Fa>>2]=Nc(bb,4)|0;c[ua>>2]=Jc(36,Fa)|0;c[Za>>2]=Nc(bb,3)|0;c[Qa>>2]=Jc(36,Za)|0;c[ja>>2]=Gc(ua,Qa)|0;c[$a>>2]=Jc(24,bb)|0;c[_a>>2]=Kc($a,bb)|0;c[_>>2]=Gc(ja,_a)|0;c[Q>>2]=Jc(6,bb)|0;c[P>>2]=Gc(_,Q)|0;db=Fc(P,1)|0;rd(db,c[b>>2]|0);ae(db);ae(c[P>>2]|0);ae(c[Q>>2]|0);ae(c[_>>2]|0);ae(c[_a>>2]|0);ae(c[$a>>2]|0);ae(c[ja>>2]|0);ae(c[Qa>>2]|0);ae(c[Za>>2]|0);ae(c[ua>>2]|0);ae(c[Fa>>2]|0);db=c[e>>2]|0;c[S>>2]=Jc(6,bb)|0;c[R>>2]=Kc(S,bb)|0;b=Fc(R,1)|0;rd(b,c[db>>2]|0);ae(b);ae(c[R>>2]|0);ae(c[S>>2]|0);b=c[O>>2]|0;c[T>>2]=Fc(c[L>>2]|0,1)|0;db=Ic(T,c[e>>2]|0)|0;rd(db,c[b>>2]|0);ae(db);ae(c[T>>2]|0);db=c[N>>2]|0;c[U>>2]=Hc(c[L>>2]|0,1)|0;b=Gc(U,c[e>>2]|0)|0;rd(b,c[db>>2]|0);ae(b);ae(c[U>>2]|0);rd(c[c[O>>2]>>2]|0,c[c[M>>2]>>2]|0);Uc(ab,c[a>>2]|0,c[L>>2]|0,0);b=c[G>>2]|0;c[$>>2]=Nc(bb,3)|0;c[Z>>2]=Jc(18,$)|0;c[ba>>2]=Jc(18,bb)|0;c[aa>>2]=Kc(ba,bb)|0;c[Y>>2]=Gc(Z,aa)|0;c[ca>>2]=Jc(9,bb)|0;c[X>>2]=Gc(Y,ca)|0;c[W>>2]=Fc(X,2)|0;c[V>>2]=Ec(W)|0;db=ed(0)|0;ue(Dc(V)|0,db);rd(db,c[b>>2]|0);ae(db);ae(c[V>>2]|0);ae(c[W>>2]|0);ae(c[X>>2]|0);ae(c[ca>>2]|0);ae(c[Y>>2]|0);ae(c[aa>>2]|0);ae(c[ba>>2]|0);ae(c[Z>>2]|0);ae(c[$>>2]|0);rc(c[H>>2]|0);db=c[A>>2]|0;c[fa>>2]=Jc(6,bb)|0;c[ea>>2]=Kc(fa,bb)|0;c[ga>>2]=Jc(4,bb)|0;c[da>>2]=Gc(ea,ga)|0;b=Fc(da,1)|0;rd(b,c[db>>2]|0);ae(b);ae(c[da>>2]|0);ae(c[ga>>2]|0);ae(c[ea>>2]|0);ae(c[fa>>2]|0);b=c[D>>2]|0;c[ia>>2]=Jc(2,bb)|0;c[ha>>2]=Fc(ia,1)|0;db=Ec(ha)|0;rd(db,c[b>>2]|0);ae(db);ae(c[ha>>2]|0);ae(c[ia>>2]|0);db=c[B>>2]|0;c[la>>2]=Jc(6,bb)|0;c[ka>>2]=Kc(la,bb)|0;c[ma>>2]=Jc(2,bb)|0;b=Gc(ka,ma)|0;rd(b,c[db>>2]|0);ae(b);ae(c[ma>>2]|0);ae(c[ka>>2]|0);ae(c[la>>2]|0);b=c[C>>2]|0;c[oa>>2]=Jc(2,bb)|0;c[na>>2]=Fc(oa,1)|0;db=Ec(na)|0;rd(db,c[b>>2]|0);ae(db);ae(c[na>>2]|0);ae(c[oa>>2]|0);db=c[E>>2]|0;c[qa>>2]=Jc(2,bb)|0;c[pa>>2]=Fc(qa,1)|0;b=Ec(pa)|0;rd(b,c[db>>2]|0);ae(b);ae(c[pa>>2]|0);ae(c[qa>>2]|0);b=c[F>>2]|0;c[va>>2]=Jc(6,bb)|0;c[ta>>2]=Kc(va,bb)|0;c[wa>>2]=Jc(4,bb)|0;c[sa>>2]=Gc(ta,wa)|0;c[ra>>2]=Fc(sa,1)|0;db=Ec(ra)|0;rd(db,c[b>>2]|0);ae(db);ae(c[ra>>2]|0);ae(c[sa>>2]|0);ae(c[wa>>2]|0);ae(c[ta>>2]|0);ae(c[va>>2]|0);db=c[f>>2]|0;c[za>>2]=Jc(2,bb)|0;c[ya>>2]=Kc(za,bb)|0;c[Aa>>2]=Jc(3,bb)|0;c[xa>>2]=Gc(ya,Aa)|0;b=Fc(xa,1)|0;rd(b,c[db>>2]|0);ae(b);ae(c[xa>>2]|0);ae(c[Aa>>2]|0);ae(c[ya>>2]|0);ae(c[za>>2]|0);b=c[l>>2]|0;c[Ea>>2]=Jc(12,bb)|0;c[Da>>2]=Kc(Ea,bb)|0;c[Ca>>2]=Kc(Da,bb)|0;c[Ha>>2]=Jc(8,bb)|0;c[Ga>>2]=Kc(Ha,bb)|0;c[Ba>>2]=Gc(Ca,Ga)|0;db=Gc(Ba,bb)|0;rd(db,c[b>>2]|0);ae(db);ae(c[Ba>>2]|0);ae(c[Ga>>2]|0);ae(c[Ha>>2]|0);ae(c[Ca>>2]|0);ae(c[Da>>2]|0);ae(c[Ea>>2]|0);db=c[q>>2]|0;c[La>>2]=Jc(6,bb)|0;c[Ka>>2]=Kc(La,bb)|0;c[Ja>>2]=Kc(Ka,bb)|0;c[Na>>2]=Jc(4,bb)|0;c[Ma>>2]=Kc(Na,bb)|0;c[Ia>>2]=Gc(Ja,Ma)|0;b=Gc(Ia,bb)|0;rd(b,c[db>>2]|0);ae(b);ae(c[Ia>>2]|0);ae(c[Ma>>2]|0);ae(c[Na>>2]|0);ae(c[Ja>>2]|0);ae(c[Ka>>2]|0);ae(c[La>>2]|0);b=c[v>>2]|0;c[Pa>>2]=Jc(-2,bb)|0;c[Oa>>2]=Kc(Pa,bb)|0;db=Ic(Oa,bb)|0;rd(db,c[b>>2]|0);ae(db);ae(c[Oa>>2]|0);ae(c[Pa>>2]|0);db=c[g>>2]|0;b=Fc(bb,1)|0;rd(b,c[db>>2]|0);ae(b);rd(c[bb>>2]|0,c[c[h>>2]>>2]|0);rd(c[bb>>2]|0,c[c[j>>2]>>2]|0);b=c[k>>2]|0;db=Jc(-2,bb)|0;rd(db,c[b>>2]|0);ae(db);db=c[m>>2]|0;c[Ra>>2]=Jc(2,bb)|0;b=Fc(Ra,1)|0;rd(b,c[db>>2]|0);ae(b);ae(c[Ra>>2]|0);b=c[n>>2]|0;db=Ec(bb)|0;rd(db,c[b>>2]|0);ae(db);db=c[o>>2]|0;c[Sa>>2]=Fc(bb,1)|0;b=Ec(Sa)|0;rd(b,c[db>>2]|0);ae(b);ae(c[Sa>>2]|0);b=c[p>>2]|0;db=Ec(bb)|0;rd(db,c[b>>2]|0);ae(db);db=c[r>>2]|0;b=Jc(2,bb)|0;rd(b,c[db>>2]|0);ae(b);b=c[s>>2]|0;c[Ta>>2]=Jc(2,bb)|0;db=Fc(Ta,1)|0;rd(db,c[b>>2]|0);ae(db);ae(c[Ta>>2]|0);db=c[t>>2]|0;c[Ua>>2]=Jc(2,bb)|0;b=Fc(Ua,1)|0;rd(b,c[db>>2]|0);ae(b);ae(c[Ua>>2]|0);b=c[u>>2]|0;c[Va>>2]=Jc(2,bb)|0;db=Fc(Va,1)|0;rd(db,c[b>>2]|0);ae(db);ae(c[Va>>2]|0);db=c[w>>2]|0;b=Hc(bb,1)|0;rd(b,c[db>>2]|0);ae(b);b=c[x>>2]|0;c[Wa>>2]=Jc(4,bb)|0;db=Fc(Wa,2)|0;rd(db,c[b>>2]|0);ae(db);ae(c[Wa>>2]|0);db=c[y>>2]|0;c[Ya>>2]=Jc(2,bb)|0;c[Xa>>2]=Hc(Ya,1)|0;b=Ec(Xa)|0;rd(b,c[db>>2]|0);ae(b);ae(c[Xa>>2]|0);ae(c[Ya>>2]|0);b=c[z>>2]|0;db=Hc(bb,1)|0;rd(db,c[b>>2]|0);ae(db);c[J+704>>2]=107;c[a+504>>2]=d;ae(c[bb>>2]|0);ae(c[ab>>2]|0);i=cb;return}function tc(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+4>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+8>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+12>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+16>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+20>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+24>>2]|0;if(!b)d=0;else{ae(c[b>>2]|0);of(b);d=0}do{b=c[a+92+(d<<2)>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+28+(d<<4)>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+28+(d<<4)+4>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+28+(d<<4)+8>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+28+(d<<4)+12>>2]|0;if(b){ae(c[b>>2]|0);of(b)}d=d+1|0}while((d|0)<4);b=c[a+124>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+108>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+112>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+128>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+116>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+120>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+132>>2]|0;if(b){ae(c[b>>2]|0);of(b)}b=c[a+136>>2]|0;if(!b){ld();return}ae(c[b>>2]|0);ae(c[b+4>>2]|0);of(b);ld();return}function uc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;h=g+8|0;j=g+4|0;k=g;c[h>>2]=ed(0)|0;c[h+4>>2]=ed(0)|0;c[j>>2]=ed(0)|0;l=c[d>>2]|0;m=ed(0)|0;c[k>>2]=m;dd(0,m);l=Mc(l,a,k,b,j)|0;rd(l,c[h>>2]|0);ae(l);ae(c[k>>2]|0);dd(0,c[f>>2]|0);d=c[d+4>>2]|0;l=ed(0)|0;c[k>>2]=l;dd(0,l);b=Mc(d,a,k,b,j)|0;rd(b,c[h+4>>2]|0);ae(b);ae(c[k>>2]|0);b=f+4|0;dd(0,c[b>>2]|0);rd(c[a>>2]|0,c[f>>2]|0);a=Kc(h,c[e>>2]|0)|0;d=c[f>>2]|0;Md(d,a,d);ae(a);a=h+4|0;d=Kc(a,c[e+8>>2]|0)|0;f=c[f>>2]|0;Md(f,d,f);ae(d);f=Kc(h,c[e+4>>2]|0)|0;d=c[b>>2]|0;Md(d,f,d);ae(f);f=Kc(a,c[e+12>>2]|0)|0;b=c[b>>2]|0;Md(b,f,b);ae(f);ae(c[j>>2]|0);ae(c[h+4>>2]|0);ae(c[h>>2]|0);i=g;return}function vc(a,b){a=a|0;b=b|0;var d=0;d=ed(0)|0;cd(d);rd(c[(ef(a)|0)+4>>2]|0,d);xe(d,c[b>>2]|0,d);rd(d,c[(ef(a)|0)+4>>2]|0);ae(d);return}function wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;h=o+32|0;n=o+24|0;k=o+16|0;j=o+8|0;f=o;g=Hd(1)|0;c[a+4>>2]=g;c[a>>2]=Gd(g,0)|0;c[a+8>>2]=0;c[a+12>>2]=0;g=Hd(1)|0;m=h+4|0;c[m>>2]=g;g=Gd(g,0)|0;c[h>>2]=g;l=d+8|0;if(!(c[l>>2]|0)){c[j>>2]=ed(0)|0;c[j+4>>2]=ed(0)|0;Me(c[d>>2]|0,g);uc(e,c[b+12>>2]|0,b+124|0,b+108|0,j);vc(h,c[b+132>>2]|0);gf(f,j,d,j+4|0,h);Me(c[f>>2]|0,c[h>>2]|0);ae(c[f+4>>2]|0);Me(c[h>>2]|0,c[a>>2]|0);ae(c[j+4>>2]|0);ae(c[j>>2]|0);e=c[m>>2]|0;ae(e);i=o;return}b=ed(0)|0;c[n>>2]=b;rd(c[e>>2]|0,b);b=ed(0)|0;dd(0,b);j=wd(c[e>>2]|0,b)|0;ae(b);if((j|0)<=-1){j=Ec(n)|0;rd(j,c[n>>2]|0);ae(j)}h=c[d+12>>2]|0;f=Cd(c[n>>2]|0,h,8,h+-1|0)|0;Me(c[(c[l>>2]|0)+(f<<3)>>2]|0,c[a>>2]|0);f=h+-2|0;if((f|0)>-1)while(1){g=Cd(c[n>>2]|0,h,8,f)|0;d=c[a>>2]|0;Le(d,d)|0;if((g|0)>0)Le(c[(c[l>>2]|0)+(g<<3)>>2]|0,c[a>>2]|0)|0;if((f|0)>0)f=f+-1|0;else break}l=ed(0)|0;dd(0,l);e=wd(c[e>>2]|0,l)|0;ae(l);if((e|0)<=-1){ff(k,a);Me(c[k>>2]|0,c[a>>2]|0);ae(c[k+4>>2]|0)}ae(c[n>>2]|0);e=c[m>>2]|0;ae(e);i=o;return}function xc(a,b){a=a|0;b=b|0;var d=0;d=c[a+504>>2]|0;a=c[a+140>>2]<<1;if(!d){d=Pc(a,2)|0;rd(d,c[b>>2]|0);ae(d);return}else{d=Rc(d,a,2)|0;rd(d,c[b>>2]|0);ae(d);return}}function yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=ed(0)|0;d=c[a+504>>2]|0;a=c[a+8>>2]|0;if(!d){d=Oc(a)|0;rd(d,c[e>>2]|0);ae(d)}else{d=Qc(d,a)|0;rd(d,c[e>>2]|0);ae(d)}while(1){a=Dc(e)|0;d=Dc(e)|0;if(He(a,d,0,c[b>>2]|0)|0)break;d=c[e>>2]|0;Nd(d,1,d)}ae(c[e>>2]|0);i=f;return}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Hd(1)|0;c[a+4>>2]=e;e=Gd(e,0)|0;c[a>>2]=e;c[a+8>>2]=0;c[a+12>>2]=0;Me(c[b>>2]|0,e);Le(c[d>>2]|0,e)|0;return}function Ac(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=Hd(1)|0;c[a+4>>2]=f;f=Gd(f,0)|0;c[a>>2]=f;c[a+8>>2]=0;c[a+12>>2]=0;Me(c[b>>2]|0,f);ff(e,a);Me(c[e>>2]|0,c[a>>2]|0);ae(c[e+4>>2]|0);i=d;return}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=ed(0)|0;c[a+4>>2]=ed(0)|0;ee(b,a);if((b|0)==(d|0)){ge(a,a,a);return}else{ge(a,d,a);return}}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+176|0;l=q+36|0;m=q+32|0;o=q+24|0;p=q+16|0;n=q+40|0;f=q+8|0;h=q;c[o>>2]=ed(0)|0;j=o+4|0;c[j>>2]=ed(0)|0;fe(o);c[p>>2]=ed(0)|0;k=p+4|0;c[k>>2]=ed(0)|0;fe(p);c[n>>2]=ed(0)|0;c[n+4>>2]=ed(0)|0;fe(n);r=n+8|0;c[r>>2]=ed(0)|0;c[n+12>>2]=ed(0)|0;fe(r);r=n+16|0;c[r>>2]=ed(0)|0;c[n+20>>2]=ed(0)|0;fe(r);r=n+24|0;c[r>>2]=ed(0)|0;c[n+28>>2]=ed(0)|0;fe(r);r=n+32|0;c[r>>2]=ed(0)|0;c[n+36>>2]=ed(0)|0;fe(r);r=n+40|0;c[r>>2]=ed(0)|0;c[n+44>>2]=ed(0)|0;fe(r);r=n+48|0;c[r>>2]=ed(0)|0;c[n+52>>2]=ed(0)|0;fe(r);r=n+56|0;c[r>>2]=ed(0)|0;c[n+60>>2]=ed(0)|0;fe(r);r=n+64|0;c[r>>2]=ed(0)|0;c[n+68>>2]=ed(0)|0;fe(r);r=n+72|0;c[r>>2]=ed(0)|0;c[n+76>>2]=ed(0)|0;fe(r);r=n+80|0;c[r>>2]=ed(0)|0;c[n+84>>2]=ed(0)|0;fe(r);r=n+88|0;c[r>>2]=ed(0)|0;c[n+92>>2]=ed(0)|0;fe(r);r=n+96|0;c[r>>2]=ed(0)|0;c[n+100>>2]=ed(0)|0;fe(r);r=n+104|0;c[r>>2]=ed(0)|0;c[n+108>>2]=ed(0)|0;fe(r);r=n+112|0;c[r>>2]=ed(0)|0;c[n+116>>2]=ed(0)|0;fe(r);r=n+120|0;c[r>>2]=ed(0)|0;c[n+124>>2]=ed(0)|0;fe(r);r=(be(b)|0)==0;g=ed(0)|0;do if(r){dd(0,g);r=wd(c[d>>2]|0,g)|0;ae(g);if(!r){c[a>>2]=ed(0)|0;c[a+4>>2]=ed(0)|0;ce(1,a);break}ee(b,o);b=ed(0)|0;dd(1,b);r=wd(c[d>>2]|0,b)|0;ae(b);if(!r){c[a>>2]=ed(0)|0;c[a+4>>2]=ed(0)|0;ee(o,a);break}Bc(f,o,o);ee(f,p);ae(c[f>>2]|0);ae(c[f+4>>2]|0);ee(o,n);f=h+4|0;g=1;do{Bc(h,p,n+(g+-1<<3)|0);ee(h,n+(g<<3)|0);ae(c[h>>2]|0);ae(c[f>>2]|0);g=g+1|0}while((g|0)<16);f=pe(c[d>>2]|0)|0;if((f|0)>1?(e=f+-2|0,(e|0)>-1):0)do{b=Dd(c[d>>2]|0,e,l,m,5)|0;f=c[l>>2]|0;if((f|0)>0){g=0;do{ge(o,o,o);g=g+1|0;f=c[l>>2]|0}while((g|0)<(f|0))}if((b|0)>0){ge(o,n+(((b|0)/2|0)<<3)|0,o);f=c[l>>2]|0}e=e-f|0;f=c[m>>2]|0;if(f){if((f|0)>0){g=0;do{ge(o,o,o);g=g+1|0;f=c[m>>2]|0}while((g|0)<(f|0))}e=e-f|0}}while((e|0)>-1);c[a>>2]=ed(0)|0;c[a+4>>2]=ed(0)|0;ee(o,a)}else{c[a>>2]=g;c[a+4>>2]=ed(0)|0;fe(a)}while(0);ae(c[n+120>>2]|0);ae(c[n+124>>2]|0);ae(c[n+112>>2]|0);ae(c[n+116>>2]|0);ae(c[n+104>>2]|0);ae(c[n+108>>2]|0);ae(c[n+96>>2]|0);ae(c[n+100>>2]|0);ae(c[n+88>>2]|0);ae(c[n+92>>2]|0);ae(c[n+80>>2]|0);ae(c[n+84>>2]|0);ae(c[n+72>>2]|0);ae(c[n+76>>2]|0);ae(c[n+64>>2]|0);ae(c[n+68>>2]|0);ae(c[n+56>>2]|0);ae(c[n+60>>2]|0);ae(c[n+48>>2]|0);ae(c[n+52>>2]|0);ae(c[n+40>>2]|0);ae(c[n+44>>2]|0);ae(c[n+32>>2]|0);ae(c[n+36>>2]|0);ae(c[n+24>>2]|0);ae(c[n+28>>2]|0);ae(c[n+16>>2]|0);ae(c[n+20>>2]|0);ae(c[n+8>>2]|0);ae(c[n+12>>2]|0);ae(c[n>>2]|0);ae(c[n+4>>2]|0);ae(c[p>>2]|0);ae(c[k>>2]|0);ae(c[o>>2]|0);ae(c[j>>2]|0);i=q;return}function Dc(a){a=a|0;return c[a>>2]|0}function Ec(a){a=a|0;var b=0;b=ed(0)|0;sd(c[a>>2]|0,b);return b|0}function Fc(a,b){a=a|0;b=b|0;var d=0;d=ed(0)|0;Nd(c[a>>2]|0,b,d);return d|0}function Gc(a,b){a=a|0;b=b|0;var d=0;d=ed(0)|0;Ld(c[a>>2]|0,c[b>>2]|0,d);return d|0}function Hc(a,b){a=a|0;b=b|0;var d=0;d=ed(0)|0;Od(c[a>>2]|0,b,d);return d|0}function Ic(a,b){a=a|0;b=b|0;var d=0;d=ed(0)|0;Md(c[a>>2]|0,c[b>>2]|0,d);return d|0}function Jc(a,b){a=a|0;b=b|0;var d=0;d=ed(0)|0;Rd(c[b>>2]|0,a,d);return d|0}function Kc(a,b){a=a|0;b=b|0;var d=0;d=ed(0)|0;Xd(c[a>>2]|0,c[b>>2]|0,d);return d|0}function Lc(a,b){a=a|0;b=b|0;var d=0;d=ed(0)|0;Td(c[a>>2]|0,b,d)|0;return d|0}function Mc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=ed(0)|0;Zd(c[a>>2]|0,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,g,c[f>>2]|0);return g|0}function Nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=ed(0)|0;f=(vd(c[a>>2]|0)|0)<0;e=vd(c[a>>2]|0)|0;if(((f?0-e|0:e)|0)<1073741824){ne(e,b,d);return d|0}else{oe(c[a>>2]|0,b,d,d);return d|0}return 0}function Oc(a){a=a|0;var b=0;b=ed(0)|0;re(c[a>>2]|0,b);return b|0}function Pc(a,b){a=a|0;b=b|0;var c=0;c=ed(0)|0;se(a,b,c);return c|0}function Qc(a,b){a=a|0;b=b|0;var d=0;d=ed(0)|0;_e(a,c[b>>2]|0,d);return d|0}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ed(0)|0;$e(a,b,c,d);return d|0}function Sc(){var a=0;a=ed(0)|0;rd(c[(Vc()|0)+312>>2]|0,a);return a|0}function Tc(a,b){a=a|0;b=b|0;var d=0;d=Vc()|0;d=d+584|0;ie(c[b>>2]|0,c[d>>2]|0)|0;b=c[d>>2]|0;nc(a,b,Ti(b)|0)|0;return a|0}function Uc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Ge(c[a>>2]|0,c[b>>2]|0,c[d>>2]|0,e);return}function Vc(){return c[610]|0}function Wc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;a=xt(b|0,0,a|0,0)|0;a=nt(a|0,D|0,d|0,0)|0;b=D;d=yt(a|0,b|0,e|0,0)|0;e=xt(d|0,0,e|0,0)|0;e=lt(a|0,b|0,e|0,D|0)|0;c[f>>2]=e;return d|0}function Xc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=yt(b|0,a|0,d|0,0)|0;d=xt(a|0,0,d|0,0)|0;d=lt(b|0,0,d|0,D|0)|0;c[e>>2]=d;return a|0}function Yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[610]|0;if(c[d+548>>2]|0){c[d+552>>2]=b;return}i=c[1023]|0;e=10;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==27)break;else e=a[15569+d>>0]|0}d=c[610]|0;e=c[d+28>>2]|0;if((e|0)<24){f=c[2444+(c[d+32+(e<<2)>>2]<<2)>>2]|0;d=a[f>>0]|0;if(d<<24>>24){e=0;do{e=e+1|0;zi(d<<24>>24,i)|0;d=a[f+e>>0]|0}while(d<<24>>24!=0)}}else{zi(63,i)|0;zi(63,i)|0;zi(63,i)|0}zi(10,i)|0;d=c[(c[610]|0)+28>>2]|0;if((d|0)>0)while(1){f=32;e=0;while(1){e=e+1|0;zi(f<<24>>24,i)|0;if((e|0)==26)break;else f=a[15597+e>>0]|0}h=d;d=d+-1|0;if((h|0)>=25){zi(63,i)|0;zi(63,i)|0;zi(63,i)|0;zi(10,i)|0;continue}g=c[2444+(c[(c[610]|0)+32+(d<<2)>>2]<<2)>>2]|0;e=a[g>>0]|0;if(e<<24>>24){f=0;do{f=f+1|0;zi(e<<24>>24,i)|0;e=a[g+f>>0]|0}while(e<<24>>24!=0)}zi(10,i)|0;if((h|0)<=1)break}do switch(b|0){case 1:{e=78;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==39)break;else e=a[15624+d>>0]|0}kb(0);break}case 2:{e=68;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==27)break;else e=a[15664+d>>0]|0}kb(0);break}case 3:{e=79;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==26)break;else e=a[15692+d>>0]|0}kb(0);break}case 4:{e=73;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==28)break;else e=a[15719+d>>0]|0}kb(0);break}case 5:{zi(73,i)|0;zi(110,i)|0;zi(112,i)|0;zi(117,i)|0;zi(116,i)|0;zi(32,i)|0;zi(102,i)|0;zi(111,i)|0;zi(114,i)|0;zi(109,i)|0;zi(97,i)|0;zi(116,i)|0;zi(32,i)|0;zi(101,i)|0;zi(114,i)|0;zi(114,i)|0;zi(111,i)|0;zi(114,i)|0;zi(10,i)|0;kb(0);break}case 6:{zi(73,i)|0;zi(108,i)|0;zi(108,i)|0;zi(101,i)|0;zi(103,i)|0;zi(97,i)|0;zi(108,i)|0;zi(32,i)|0;zi(110,i)|0;zi(117,i)|0;zi(109,i)|0;zi(98,i)|0;zi(101,i)|0;zi(114,i)|0;zi(32,i)|0;zi(98,i)|0;zi(97,i)|0;zi(115,i)|0;zi(101,i)|0;zi(10,i)|0;kb(0);break}case 7:{e=73;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==24)break;else e=a[15748+d>>0]|0}kb(0);break}case 8:{zi(79,i)|0;zi(117,i)|0;zi(116,i)|0;zi(32,i)|0;zi(111,i)|0;zi(102,i)|0;zi(32,i)|0;zi(115,i)|0;zi(112,i)|0;zi(97,i)|0;zi(99,i)|0;zi(101,i)|0;zi(10,i)|0;kb(0);break}case 9:{e=69;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==31)break;else e=a[15773+d>>0]|0}kb(0);break}case 10:{e=82;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==34)break;else e=a[15805+d>>0]|0}kb(0);break}case 11:{e=65;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==29)break;else e=a[15840+d>>0]|0}kb(0);break}case 12:{e=73;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==44)break;else e=a[15870+d>>0]|0}kb(0);break}case 13:{zi(70,i)|0;zi(108,i)|0;zi(97,i)|0;zi(115,i)|0;zi(104,i)|0;zi(32,i)|0;zi(111,i)|0;zi(118,i)|0;zi(101,i)|0;zi(114,i)|0;zi(102,i)|0;zi(108,i)|0;zi(111,i)|0;zi(119,i)|0;zi(10,i)|0;kb(0);break}case 14:{zi(78,i)|0;zi(117,i)|0;zi(109,i)|0;zi(98,i)|0;zi(101,i)|0;zi(114,i)|0;zi(115,i)|0;zi(32,i)|0;zi(116,i)|0;zi(111,i)|0;zi(111,i)|0;zi(32,i)|0;zi(98,i)|0;zi(105,i)|0;zi(103,i)|0;zi(10,i)|0;kb(0);break}case 15:{e=76;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==29)break;else e=a[15915+d>>0]|0}kb(0);break}case 16:{e=70;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==35)break;else e=a[15945+d>>0]|0}kb(0);break}case 17:{zi(73,i)|0;zi(47,i)|0;zi(79,i)|0;zi(32,i)|0;zi(98,i)|0;zi(117,i)|0;zi(102,i)|0;zi(102,i)|0;zi(101,i)|0;zi(114,i)|0;zi(32,i)|0;zi(111,i)|0;zi(118,i)|0;zi(101,i)|0;zi(114,i)|0;zi(102,i)|0;zi(108,i)|0;zi(111,i)|0;zi(119,i)|0;zi(10,i)|0;kb(0);break}case 18:{e=77;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==45)break;else e=a[15981+d>>0]|0}kb(0);break}case 19:{zi(73,i)|0;zi(108,i)|0;zi(108,i)|0;zi(101,i)|0;zi(103,i)|0;zi(97,i)|0;zi(108,i)|0;zi(32,i)|0;zi(109,i)|0;zi(111,i)|0;zi(100,i)|0;zi(117,i)|0;zi(108,i)|0;zi(117,i)|0;zi(115,i)|0;zi(32,i)|0;zi(10,i)|0;kb(0);break}case 20:{zi(78,i)|0;zi(111,i)|0;zi(32,i)|0;zi(109,i)|0;zi(111,i)|0;zi(100,i)|0;zi(117,i)|0;zi(108,i)|0;zi(117,i)|0;zi(115,i)|0;zi(32,i)|0;zi(100,i)|0;zi(101,i)|0;zi(102,i)|0;zi(105,i)|0;zi(110,i)|0;zi(101,i)|0;zi(100,i)|0;zi(10,i)|0;kb(0);break}case 21:{zi(69,i)|0;zi(120,i)|0;zi(112,i)|0;zi(111,i)|0;zi(110,i)|0;zi(101,i)|0;zi(110,i)|0;zi(116,i)|0;zi(32,i)|0;zi(116,i)|0;zi(111,i)|0;zi(111,i)|0;zi(32,i)|0;zi(98,i)|0;zi(105,i)|0;zi(103,i)|0;zi(10,i)|0;kb(0);break}case 22:{e=85;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==37)break;else e=a[16027+d>>0]|0}kb(0);break}case 23:{e=83;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==49)break;else e=a[16065+d>>0]|0}kb(0);break}case 24:{e=83;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==35)break;else e=a[16115+d>>0]|0}kb(0);break}case 25:{e=85;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==42)break;else e=a[16151+d>>0]|0}kb(0);break}case 26:{e=66;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==61)break;else e=a[16194+d>>0]|0}kb(0);break}case 27:{e=78;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==29)break;else e=a[16256+d>>0]|0}kb(0);break}case 28:{zi(67,i)|0;zi(111,i)|0;zi(109,i)|0;zi(112,i)|0;zi(111,i)|0;zi(115,i)|0;zi(105,i)|0;zi(116,i)|0;zi(101,i)|0;zi(32,i)|0;zi(109,i)|0;zi(111,i)|0;zi(100,i)|0;zi(117,i)|0;zi(108,i)|0;zi(117,i)|0;zi(115,i)|0;zi(10,i)|0;kb(0);break}case 29:{e=73;d=0;while(1){d=d+1|0;zi(e<<24>>24,i)|0;if((d|0)==53)break;else e=a[16286+d>>0]|0}kb(0);break}default:{zi(85,i)|0;zi(110,i)|0;zi(100,i)|0;zi(101,i)|0;zi(102,i)|0;zi(105,i)|0;zi(110,i)|0;zi(101,i)|0;zi(100,i)|0;zi(32,i)|0;zi(101,i)|0;zi(114,i)|0;zi(114,i)|0;zi(111,i)|0;zi(114,i)|0;zi(10,i)|0;kb(0)}}while(0)}function Zc(){var b=0,d=0,e=0,f=0;f=c[1023]|0;if((c[(c[610]|0)+28>>2]|0)>0){b=0;do{zi(45,f)|0;b=b+1|0}while((b|0)<(c[(c[610]|0)+28>>2]|0))}zi(62,f)|0;e=c[610]|0;e=c[2444+(c[e+32+(c[e+28>>2]<<2)>>2]<<2)>>2]|0;b=a[e>>0]|0;if(!(b<<24>>24)){zi(10,f)|0;return}else d=0;do{d=d+1|0;zi(b<<24>>24,f)|0;b=a[e+d>>0]|0}while(b<<24>>24!=0);zi(10,f)|0;return}function _c(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=c[610]|0;h=i+12|0;a=c[h>>2]|0;e=i+300|0;b=c[e>>2]|0;if((a|0)>32){d=b+2|0;c[e>>2]=d;if((d|0)<36){i=(c[i+152+(b+3<<2)>>2]|0)+(c[i+152+(d<<2)>>2]<>2]=a;if((a|0)<37){i=c[i+152+(a<<2)>>2]|0;return i|0}}c[e>>2]=0;f=i+304|0;g=0;a=13;while(1){a=(a|0)==37?0:a;b=c[i+152+(a<<2)>>2]|0;d=i+152+(g<<2)|0;e=b-(c[d>>2]|0)-(c[f>>2]|0)|0;if(e>>>0>>0)c[f>>2]=0;if(e>>>0>b>>>0)c[f>>2]=1;c[d>>2]=e;g=g+1|0;if((g|0)==37)break;else a=a+1|0}a=c[h>>2]|0;b=c[i+152>>2]|0;if((a|0)<=32){i=b;return i|0}i=(c[i+156>>2]|0)+(b<0?a<>>(0-b|0);return a|0}function ad(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[610]|0;j=i+304|0;c[j>>2]=0;k=i+300|0;c[k>>2]=0;c[i+152>>2]=a;b=1;d=1;while(1){c[i+152+(((b*14|0)%37|0)<<2)>>2]=d;b=b+1|0;if((b|0)==37)break;else{h=d;d=a-d|0;a=h}}g=i+12|0;h=0;do{a=c[k>>2]|0;if((c[g>>2]|0)>32){f=a+2|0;c[k>>2]=f;if((f|0)>=36)l=7}else{f=a+1|0;c[k>>2]=f;if((f|0)>=37)l=7}if((l|0)==7){l=0;c[k>>2]=0;f=0;a=13;while(1){a=(a|0)==37?0:a;b=c[i+152+(a<<2)>>2]|0;d=i+152+(f<<2)|0;e=b-(c[d>>2]|0)-(c[j>>2]|0)|0;if(e>>>0>>0)c[j>>2]=0;if(e>>>0>b>>>0)c[j>>2]=1;c[d>>2]=e;f=f+1|0;if((f|0)==37)break;else a=a+1|0}}h=h+1|0}while((h|0)!=1e3);return}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;do if((a|0)==65536)b=16;else{if(a>>>0<=65536){if((a|0)==256){b=8;break}if(a>>>0<=256){if((a|0)==16){b=4;break}if(a>>>0<=16){if((a|0)==4){b=2;break}if(a>>>0<=4){if((a|0)==2){b=1;break}if(a>>>0<=2){b=c[610]|0;c[b+4>>2]=a;d=b+8|0;c[d>>2]=1;c[b>>2]=a;if(!a)return 0;else{g=b;f=d}}else e=5}else e=5}else e=5}else e=5}else e=5;if((e|0)==5){g=c[610]|0;c[g+4>>2]=a;f=g+8|0;c[f>>2]=1;c[g>>2]=a}e=2147483648/(a>>>0)|0;if(e>>>0>>0)return 0;else{d=a;b=1}do{d=$(d,a)|0;b=b+1|0;e=(e>>>0)/(a>>>0)|0}while(e>>>0>=a>>>0);c[g>>2]=d;c[f>>2]=b;return 0}while(0);g=c[610]|0;c[g+4>>2]=a;c[g+8>>2]=32/(b>>>0)|0;c[g>>2]=0;return 0}function cd(a){a=a|0;var b=0,d=0;if(!a)return;b=c[a>>2]|0;d=b>>>16;if(((d&32767)+(b&65535)|0)>0)mt(c[a+4>>2]|0,0,(b&65535)+(d&32767)<<2|0)|0;c[a>>2]=0;return}function dd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!a){if(!b)return;a=c[b>>2]|0;a=(a>>>16&32767)+(a&65535)|0;if((a|0)>0)mt(c[b+4>>2]|0,0,a<<2|0)|0;c[b>>2]=0;return}d=(a|0)<0?0-a|0:a;i=a&-2147483648;if(b){a=c[b>>2]|0;a=(a>>>16&32767)+(a&65535)|0;if((a|0)>0)mt(c[b+4>>2]|0,0,a<<2|0)|0;c[b>>2]=0}if(!d){d=b;a=c[b>>2]|0}else{g=c[610]|0;a=c[g>>2]|0;h=c[b+4>>2]|0;if(!a){c[h>>2]=d;a=1}else{e=a;f=0;while(1){a=f+1|0;c[h+(f<<2)>>2]=(d>>>0)%(e>>>0)|0;e=c[g>>2]|0;d=(d>>>0)/(e>>>0)|0;if(!d)break;else f=a}}c[b>>2]=a;d=b}c[d>>2]=a|i;return}function ed(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[610]|0;if(c[b+552>>2]|0){i=0;return i|0}i=b+28|0;d=(c[i>>2]|0)+1|0;c[i>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=23,(c[b+576>>2]|0)!=0):0){Zc();b=c[610]|0}if(!(c[b+140>>2]|0)){Yc(18);i=(c[610]|0)+28|0;c[i>>2]=(c[i>>2]|0)+-1;i=0;return i|0}i=$d((c[b+24>>2]<<2)+15&-4,1)|0;if(!i){h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return i|0}f=i+4|0;d=i+(12-(i+8&3))|0;c[f>>2]=d;if(a){e=(a|0)<0?0-a|0:a;h=a&-2147483648;b=c[i>>2]|0;b=(b>>>16&32767)+(b&65535)|0;if((b|0)>0)mt(d|0,0,b<<2|0)|0;c[i>>2]=0;if(!e)b=0;else{g=c[610]|0;b=c[g>>2]|0;f=c[f>>2]|0;if(!b){c[f>>2]=e;b=1}else{d=b;a=0;while(1){b=a+1|0;c[f+(a<<2)>>2]=(e>>>0)%(d>>>0)|0;d=c[g>>2]|0;e=(e>>>0)/(d>>>0)|0;if(!e)break;else a=b}}c[i>>2]=b}c[i>>2]=b|h}h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return i|0}function fd(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[610]|0;if(c[d+552>>2]|0){a=0;return a|0}e=a&3;b=($((c[d+24>>2]<<2)+15&-4,b)|0)+((e|0)==0?0:4-e|0)|0;c[a+(b+4)>>2]=a+(b+12-(a+(b+8)&3));a=a+b|0;return a|0}function gd(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b&-2147483648;e=a+4|0;b=b&2147483647;while(1){if((b|0)<=0){d=0;break}f=b+-1|0;if(!(c[(c[e>>2]|0)+(f<<2)>>2]|0))b=f;else break}c[a>>2]=d|b;return}function hd(a,b){a=a|0;b=b|0;var d=0;d=_d()|0;c[610]=d;return id(d,a,b)|0}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!b){b=0;return b|0}l=b+28|0;c[b+32>>2]=0;c[l>>2]=1;c[b+36>>2]=29;c[b+548>>2]=0;c[b+364>>2]=0;c[b+372>>2]=0;c[b+404>>2]=0;c[b+20>>2]=0;c[b+452>>2]=0;c[b+456>>2]=0;c[b+460>>2]=0;c[b+352>>2]=0;c[b+336>>2]=0;if((e|0)==1|e>>>0>2147483648){Yc(6);c[l>>2]=(c[l>>2]|0)+-1;return b|0}do if((e|0)!=65536){if(e>>>0<=65536){if((e|0)==256){f=8;k=7;break}if(e>>>0<=256){if((e|0)==16){f=4;k=7;break}if(e>>>0<=16){if((e|0)==4){f=2;k=7;break}if(e>>>0<=4){if((e|0)==2){f=1;k=7;break}if(e>>>0<=2){f=c[610]|0;c[f+4>>2]=e;g=f+8|0;c[g>>2]=1;c[f>>2]=e;if(!e)break;else j=g}else k=8}else k=8}else k=8}else k=8}else k=8;if((k|0)==8){f=c[610]|0;c[f+4>>2]=e;j=f+8|0;c[j>>2]=1;c[f>>2]=e}i=2147483648/(e>>>0)|0;if(i>>>0>=e>>>0){h=e;g=1;do{h=$(h,e)|0;g=g+1|0;i=(i>>>0)/(e>>>0)|0}while(i>>>0>=e>>>0);c[f>>2]=h;c[j>>2]=g}}else{f=16;k=7}while(0);if((k|0)==7){k=c[610]|0;c[k+4>>2]=e;c[k+8>>2]=32/(f>>>0)|0;c[k>>2]=0}h=c[b>>2]|0;i=b+12|0;c[i>>2]=0;j=b+16|0;c[j>>2]=1;if(h)if(h>>>0>1){g=0;f=1;while(1){g=g+1|0;f=f<<1;if(h>>>0>3)h=h>>>1;else break}c[i>>2]=g;c[j>>2]=f}else g=0;else{c[i>>2]=32;c[j>>2]=0;g=32}if((d|0)>0)f=(d+-1|0)/(c[b+8>>2]|0)|0;else f=(($(d,-8)|0)+-1|0)/(g|0)|0;f=(f|0)==-1?2:f+2|0;j=b+24|0;c[j>>2]=f;c[b+588>>2]=f;i=b+592|0;c[i>>2]=f;a:do if((f|0)>2){h=52/(g|0)|0;while(1){if((f|0)<=(h|0))break a;g=(f+1|0)/2|0;c[i>>2]=g;if((f|0)>4)f=g;else{f=g;break}}}while(0);if((f|0)<2)c[i>>2]=2;c[b+128>>2]=1;c[b+564>>2]=10;c[b+552>>2]=0;c[b+556>>2]=6;c[b+324>>2]=1;c[b+568>>2]=1;c[b+572>>2]=0;c[b+576>>2]=0;c[b+560>>2]=0;c[b+544>>2]=1024;c[b+580>>2]=0;g=$d(1025,1)|0;c[b+584>>2]=g;a[g>>0]=0;g=b+704|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[b+152>>2]=1431655765;c[b+156>>2]=305419896;c[b+160>>2]=2063821246;g=2063821246;h=3;f=2;while(1){g=g+326745585+(c[b+152+(f+-1<<2)>>2]|0)|0;c[b+152+(h<<2)>>2]=g;f=h+1|0;if((f|0)==37)break;else{d=h;h=f;f=d}}c[b+300>>2]=37;c[b+304>>2]=0;d=c[j>>2]<<1|1;c[j>>2]=d;if((d|0)!=(d&65535|0)){Yc(14);c[j>>2]=((c[j>>2]|0)+-1|0)/2|0;c[l>>2]=(c[l>>2]|0)+-1;return b|0}g=$d(((((c[(c[610]|0)+24>>2]<<2)+11|0)>>>2)*112|0)+116|0,1)|0;c[b+700>>2]=g;c[b+348>>2]=0;c[b+136>>2]=0;c[b+132>>2]=0;c[b+140>>2]=1;c[j>>2]=((c[j>>2]|0)+-1|0)/2|0;if(!(c[(c[610]|0)+552>>2]|0)){f=g&3;f=(f|0)==0?0:4-f|0;c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+464>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(c[f+24>>2]<<3)+30&-8|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+468>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*3|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+472>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(c[f+24>>2]<<4)+60&-16|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+476>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*5|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+480>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*6|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+484>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(c[f+24>>2]<<5)+120&-32|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+488>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*10|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+492>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*12|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+496>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*13|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+500>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*14|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+504>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*15|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+508>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(c[f+24>>2]<<6)+240&-64|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+512>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*17|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+516>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*18|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+520>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*19|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+524>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*20|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+528>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*21|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+312>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*22|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+316>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*24|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f|8)&3));f=g+f|0}else f=0;c[b+536>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*25|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+540>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=((c[f+24>>2]<<2)+15&-4)*26|((d|0)==0?0:4-d|0);c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+532>>2]=f;f=c[610]|0;if(!(c[f+552>>2]|0)){d=g&3;f=(((c[f+24>>2]<<2)+15&-4)*27|0)+((d|0)==0?0:4-d|0)|0;c[g+(f+4)>>2]=g+(f+12-(g+(f+8)&3));f=g+f|0}else f=0;c[b+696>>2]=f;c[l>>2]=(c[l>>2]|0)+-1;return b|0}function jd(a){a=a|0;return $d(($(a<<2,(((c[(c[610]|0)+24>>2]<<2)+11|0)>>>2)+1|0)|0)+4|0,1)|0}function kd(a,b){a=a|0;b=b|0;if(!a)return;mt(a|0,0,($(b<<2,(((c[(c[610]|0)+24>>2]<<2)+11|0)>>>2)+1|0)|0)+4|0)|0;ae(a);return}function ld(){var b=0,d=0,e=0;b=c[610]|0;c[b+548>>2]=0;c[b+140>>2]=0;d=c[b+700>>2]|0;if(d){mt(d|0,0,((((c[b+24>>2]<<2)+11|0)>>>2)*112|0)+116|0)|0;ae(d);b=c[610]|0}mt(b+152|0,0,148)|0;e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=142,(c[b+576>>2]|0)!=0):0){Zc();d=c[610]|0}else d=b;b=c[d+584>>2]|0;if((c[d+544>>2]|0)>0){d=0;do{a[b+d>>0]=0;d=d+1|0;e=c[610]|0;b=c[e+584>>2]|0}while((d|0)<(c[e+544>>2]|0))}ae(b);b=c[610]|0;d=b+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=c[b+580>>2]|0;if(!d){e=b;ae(e);c[610]=0;return}ae(d);e=c[610]|0;ae(e);c[610]=0;return}function md(a){a=a|0;return c[a>>2]>>31|1|0}function nd(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(!d)return;if((a|0)<0){c[b>>2]=d|-2147483648;return}else{c[b>>2]=d&2147483647;return}}function od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+-1|0;f=c[610]|0;e=c[f+8>>2]|0;b=c[(c[a+4>>2]|0)+(((d|0)/(e|0)|0)<<2)>>2]|0;if((e|0)==1){f=b;return f|0}e=(d|0)%(e|0)|0;a=c[f+4>>2]|0;if((e|0)>=1){d=1;while(1){b=(b>>>0)/(a>>>0)|0;if((d|0)==(e|0))break;else d=d+1|0}}f=(b>>>0)%(a>>>0)|0;return f|0}function pd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]|0;if(!b){i=0;return i|0}d=c[610]|0;h=c[d+8>>2]|0;b=$(h,b&2147483647)|0;i=c[a+4>>2]|0;if((h|0)==1){while(1){a=b+-1|0;if(!(c[i+(a<<2)>>2]|0))b=a;else break}return b|0}g=c[d+4>>2]|0;while(1){f=b+-1|0;a=c[i+(((f|0)/(h|0)|0)<<2)>>2]|0;e=(f|0)%(h|0)|0;if((e|0)>=1){d=1;while(1){a=(a>>>0)/(g>>>0)|0;if((d|0)==(e|0))break;else d=d+1|0}}if(!((a>>>0)%(g>>>0)|0))b=f;else break}return b|0}function qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[610]|0;if(c[e+552>>2]|0)return;o=e+28|0;f=(c[o>>2]|0)+1|0;c[o>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=26,(c[e+576>>2]|0)!=0):0){Zc();o=c[610]|0}else o=e;m=c[b>>2]|0;l=m&-2147483648;m=m&2147483647;h=d+-1|0;g=c[o+8>>2]|0;i=(h|0)/(g|0)|0;n=c[b+4>>2]|0;j=n+(i<<2)|0;k=c[j>>2]|0;h=(h|0)%(g|0)|0;if((g|0)==1)f=k;else{d=c[o+4>>2]|0;if((h|0)<1)e=k;else{f=1;e=k;while(1){e=(e>>>0)/(d>>>0)|0;if((f|0)==(h|0))break;else f=f+1|0}}f=(e>>>0)%(d>>>0)|0}if((h|0)<1)e=a;else{g=c[o+4>>2]|0;d=1;e=a;while(1){f=$(g,f)|0;e=$(g,e)|0;if((d|0)==(h|0))break;else d=d+1|0}}a=c[o+24>>2]|0;if((i|0)>=(a|0)?!((i|0)<(a<<1|0)&(c[o+128>>2]|0)==0):0){Yc(3);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}c[j>>2]=e-f+k;if((i|0)<(m|0))e=c[b>>2]|0;else{e=i+1|l;c[b>>2]=e}f=e&-2147483648;e=e&2147483647;while(1){if((e|0)<=0){f=0;break}d=e+-1|0;if(!(c[n+(d<<2)>>2]|0))e=d;else break}c[b>>2]=f|e;b=o+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if((a|0)==(b|0)|(b|0)==0)return;g=c[b>>2]|0;h=g>>>16;i=(h&32767)+(g&65535)|0;if(!a){if((i|0)>0)mt(c[b+4>>2]|0,0,i<<2|0)|0;c[b>>2]=0;return}d=c[a>>2]|0;e=d>>>16;f=(e&32767)+(d&65535)|0;j=c[a+4>>2]|0;k=c[b+4>>2]|0;if((f|0)<(i|0)){l=d&65535;i=e&32767;mt(k+(l+i<<2)|0,0,(g&65535)+(h&32767)-l-i<<2|0)|0}if((f|0)>0){d=(d&65535)+(e&32767)|0;e=0;do{c[k+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}c[b>>2]=c[a>>2];return}function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if((a|0)==(b|0)|(b|0)==0){e=b;d=c[b>>2]|0}else{f=c[b>>2]|0;f=(f>>>16&32767)+(f&65535)|0;if(!a){if((f|0)>0)mt(c[b+4>>2]|0,0,f<<2|0)|0;c[b>>2]=0;return}e=c[a>>2]|0;d=e&65535;e=e>>>16&32767;g=e+d|0;h=c[a+4>>2]|0;i=c[b+4>>2]|0;if((g|0)<(f|0))mt(i+(g<<2)|0,0,f-d-e<<2|0)|0;if((g|0)>0){d=0;do{c[i+(d<<2)>>2]=c[h+(d<<2)>>2];d=d+1|0}while((d|0)!=(g|0))}d=c[a>>2]|0;c[b>>2]=d;e=b}if(!d)return;c[e>>2]=d^-2147483648;return}function td(a){a=a|0;return (c[a>>2]&2147418112|0)!=0|0}function ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=d+4|0;l=c[k>>2]|0;if(c[(c[610]|0)+552>>2]|0)return;if((a|0)==(d|0)){j=d;e=c[d>>2]|0}else{e=c[d>>2]|0;e=(e>>>16&32767)+(e&65535)|0;if(!a){if((e|0)>0)mt(l|0,0,e<<2|0)|0;c[d>>2]=0;return}g=c[a>>2]|0;f=g&65535;g=g>>>16&32767;h=g+f|0;i=c[a+4>>2]|0;if((h|0)<(e|0))mt(l+(h<<2)|0,0,e-f-g<<2|0)|0;if((h|0)>0){e=0;do{c[l+(e<<2)>>2]=c[i+(e<<2)>>2];e=e+1|0}while((e|0)!=(h|0))}e=c[a>>2]|0;c[d>>2]=e;j=d}if((b|0)==0|(e|0)==0)return;e=c[610]|0;d=e+28|0;f=(c[d>>2]|0)+1|0;c[d>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=33,(c[e+576>>2]|0)!=0):0)Zc();e=c[j>>2]|0;if(e&2147418112){Yc(12);e=c[j>>2]|0}i=e&-2147483648;g=e&2147483647;a=g+b|0;if((a|0)<1){e=(e>>>16&32767)+(e&65535)|0;if((e|0)>0)mt(c[k>>2]|0,0,e<<2|0)|0;c[j>>2]=0;b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}f=c[610]|0;if((a|0)>(c[f+24>>2]|0)?(c[f+128>>2]|0)!=0:0){Yc(3);f=c[610]|0}if(c[f+552>>2]|0){b=f+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}if((b|0)<=0){f=0-b|0;if((a|0)>0){g=(e&2147483647)+b|0;h=0;do{c[l+(h<<2)>>2]=c[l+(h-b<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}if((b|0)<0)mt(l+((e&2147483647)+b<<2)|0,0,((f|0)>1?f<<2:4)|0)|0}else{if(g){e=a;do{e=e+-1|0;c[l+(e<<2)>>2]=c[l+(e-b<<2)>>2]}while((e|0)>(b|0))}mt(l|0,0,b<<2|0)|0}c[j>>2]=a|i;b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}function vd(a){a=a|0;var b=0,d=0;if(!a)return 0;b=c[a>>2]|0;switch(b&2147483647|0){case 1:{a=c[c[a+4>>2]>>2]|0;if(a>>>0>=1073741824)d=4;break}case 0:return 0;default:d=4}if((d|0)==4)a=1073741824;return ((b|0)<0?0-a|0:a)|0}function wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;if((a|0)==(b|0)){i=0;return i|0}e=c[a>>2]|0;h=e&-2147483648;f=c[b>>2]|0;i=h>>>30^2;d=i+-1|0;if((h|0)!=(f&-2147483648|0)){i=d;return i|0}g=e&2147483647;e=f&2147483647;if(g>>>0>e>>>0){i=d;return i|0}if(g>>>0>>0){i=1-i|0;return i|0}h=a+4|0;a=b+4|0;while(1){if((g|0)<=0){d=0;e=11;break}g=g+-1|0;e=c[(c[h>>2]|0)+(g<<2)>>2]|0;f=c[(c[a>>2]|0)+(g<<2)>>2]|0;if(e>>>0>f>>>0){e=11;break}if(e>>>0>>0){e=10;break}}if((e|0)==10){i=1-i|0;return i|0}else if((e|0)==11)return d|0;return 0}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[610]|0;if(c[e+552>>2]|0)return;m=e+28|0;f=(c[m>>2]|0)+1|0;c[m>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=31,(c[e+576>>2]|0)!=0):0)Zc();e=c[b>>2]&2147483647;switch(e|0){case 0:{Yc(13);e=0;break}case 1:{e=(c[c[b+4>>2]>>2]|0)!=1&1;break}default:{}}if((d|0)==(b|0))Yc(7);f=c[a>>2]|0;if(!((f&2147418112|0)==0?(c[b>>2]&2147418112|0)==0:0)){Yc(12);f=c[a>>2]|0}g=f&2147483647;if((g|0)==1)g=(c[c[a+4>>2]>>2]|0)!=1&1;l=g+e|0;h=c[610]|0;m=c[h+24>>2]|0;if((l|0)>(m|0)?(l|0)>(m<<1|0)|(c[h+128>>2]|0)!=0:0){Yc(13);h=c[610]|0}if(c[h+552>>2]|0){d=h+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}do if(!((a|0)==(d|0)|(d|0)==0)){h=c[d>>2]|0;h=(h>>>16&32767)+(h&65535)|0;if(!a){if((h|0)>0)mt(c[d+4>>2]|0,0,h<<2|0)|0;c[d>>2]=0;break}j=c[a>>2]|0;i=j&65535;j=j>>>16&32767;k=j+i|0;l=c[a+4>>2]|0;m=c[d+4>>2]|0;if((k|0)<(h|0))mt(m+(k<<2)|0,0,h-i-j<<2|0)|0;if((k|0)>0){h=0;do{c[m+(h<<2)>>2]=c[l+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}c[d>>2]=c[a>>2]}while(0);if(!(c[a>>2]|0)){d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}j=(c[b>>2]^f)&-2147483648;if(!e){e=c[d>>2]|0;if(e)c[d>>2]=e|j;d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}else{f=c[b+4>>2]|0;h=c[d+4>>2]|0;i=0;do{c[h+(i+g<<2)>>2]=c[f+(i<<2)>>2];i=i+1|0}while((i|0)!=(e|0));c[d>>2]=j|g+(e<<16);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}}function yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[610]|0;if(c[d+552>>2]|0)return;i=c[a>>2]|0;if(!(i&2147418112)){if((a|0)==(b|0)|(b|0)==0)return;d=c[b>>2]|0;d=(d>>>16&32767)+(d&65535)|0;f=(i>>>16&32767)+(i&65535)|0;g=c[a+4>>2]|0;e=c[b+4>>2]|0;if((d|0)>(f|0))mt(e+(f<<2)|0,0,d-f<<2|0)|0;if((f|0)>0){d=0;do{c[e+(d<<2)>>2]=c[g+(d<<2)>>2];d=d+1|0}while((d|0)!=(f|0))}c[b>>2]=c[a>>2];return}h=i&65535;if(h){d=i>>>16;if((a|0)!=(b|0)){d=c[a+4>>2]|0;e=c[b+4>>2]|0;f=i&65535;g=0;do{c[e+(g<<2)>>2]=c[d+(g<<2)>>2];g=g+1|0}while((g|0)!=(f|0));a=c[b>>2]|0;if((h|0)<((a>>>16&32767)+(a&65535)|0)){e=c[b+4>>2]|0;d=h;do{c[e+(d<<2)>>2]=0;d=d+1|0;a=c[b>>2]|0}while((d|0)<((a>>>16&32767)+(a&65535)|0));d=b}else d=b}else{if(d&32767)mt((c[a+4>>2]|0)+((i&65535)<<2)|0,0,d<<2&131068|0)|0;d=b}c[d>>2]=i&-2147418113;return}e=(b|0)==0;if((i|0)>=0){if(!e){e=c[b>>2]|0;e=(e>>>16&32767)+(e&65535)|0;if((e|0)>0){mt(c[b+4>>2]|0,0,e<<2|0)|0;d=c[610]|0}c[b>>2]=0}e=c[d>>2]|0;a=c[b+4>>2]|0;if(!e){c[a>>2]=1;d=1}else{h=1;g=0;while(1){f=g+1|0;c[a+(g<<2)>>2]=(h>>>0)%(e>>>0)|0;e=c[d>>2]|0;h=(h>>>0)/(e>>>0)|0;if(!h){d=f;break}else g=f}}c[b>>2]=d;return}if(e)h=d;else{e=c[b>>2]|0;e=(e>>>16&32767)+(e&65535)|0;if((e|0)>0){mt(c[b+4>>2]|0,0,e<<2|0)|0;d=c[610]|0}c[b>>2]=0;h=d}d=c[h>>2]|0;a=c[b+4>>2]|0;if(!d){c[a>>2]=1;d=-2147483647}else{g=1;e=d;f=0;while(1){d=f+1|0;c[a+(f<<2)>>2]=(g>>>0)%(e>>>0)|0;e=c[h>>2]|0;g=(g>>>0)/(e>>>0)|0;if(!g)break;else f=d}d=d|-2147483648}c[b>>2]=d;return}function zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=c[610]|0;if(c[d+552>>2]|0)return;j=c[a>>2]|0;if(!(j&2147418112)){if(b){e=c[b>>2]|0;e=(e>>>16&32767)+(e&65535)|0;if((e|0)>0){mt(c[b+4>>2]|0,0,e<<2|0)|0;d=c[610]|0}c[b>>2]=0}e=c[d>>2]|0;i=c[b+4>>2]|0;if(!e){c[i>>2]=1;d=1}else{h=1;g=0;while(1){f=g+1|0;c[i+(g<<2)>>2]=(h>>>0)%(e>>>0)|0;e=c[d>>2]|0;h=(h>>>0)/(e>>>0)|0;if(!h){d=f;break}else g=f}}c[b>>2]=d;return}d=j&65535;e=j>>>16;k=e&32767;if(k){f=c[a+4>>2]|0;g=c[b+4>>2]|0;h=e&32767;i=0;do{c[g+(i<<2)>>2]=c[f+(i+d<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}if((a|0)!=(b|0)){a=c[b>>2]|0;if((k|0)<((a>>>16&32767)+(a&65535)|0)){d=c[b+4>>2]|0;e=k;do{c[d+(e<<2)>>2]=0;e=e+1|0;a=c[b>>2]|0}while((e|0)<((a>>>16&32767)+(a&65535)|0));d=b}else d=b}else{if(d)mt((c[a+4>>2]|0)+((e&32767)<<2)|0,0,j<<2&262140|0)|0;d=b}c[d>>2]=k;return}function Ad(a,b){a=a|0;b=b|0;var d=0;d=c[(c[610]|0)+12>>2]|0;return (1<<((b|0)%(d|0)|0)&c[(c[a+4>>2]|0)+(((b|0)/(d|0)|0)<<2)>>2]|0)!=0|0}function Bd(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[(c[610]|0)+12>>2]|0;d=(b|0)/(e|0)|0;b=(b|0)%(e|0)|0;if(!b)b=1;else b=(b|0)>0?1<>>(0-b|0);e=(c[a+4>>2]|0)+(d<<2)|0;c[e>>2]=(c[e>>2]|0)+b;b=d+1|0;if((c[a>>2]|0)>>>0>=b>>>0)return;c[a>>2]=b;return}function Cd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((d|0)<=0){b=0;return b|0}g=c[(c[610]|0)+12>>2]|0;f=c[a+4>>2]|0;a=0;do{h=d;d=d+-1|0;i=($(d,b)|0)+e|0;a=(1<<((i|0)%(g|0)|0)&c[f+(((i|0)/(g|0)|0)<<2)>>2]|0)!=0|a<<1}while((h|0)>1);return a|0}function Dd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[d>>2]=1;c[e>>2]=0;i=(c[610]|0)+12|0;g=c[i>>2]|0;h=c[a+4>>2]|0;if(!(1<<((b|0)%(g|0)|0)&c[h+(((b|0)/(g|0)|0)<<2)>>2])){j=0;return j|0}g=b-((b-f|0)<-1?b+1|0:f)|0;a=1;while(1){b=b+-1|0;if((b|0)<=(g|0))break;f=c[d>>2]|0;c[d>>2]=f+1;k=c[i>>2]|0;a=(1<<((b|0)%(k|0)|0)&c[h+(((b|0)/(k|0)|0)<<2)>>2]|0)!=0|a<<1;if(!(a&3)){j=5;break}}if((j|0)==5){c[d>>2]=f+-1;c[e>>2]=2;a=(a|0)/4|0}if(a&1){k=a;return k|0}c[e>>2]=1;c[d>>2]=(c[d>>2]|0)+-1;k=(a|0)/2|0;return k|0}function Ed(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=(c[610]|0)+12|0;h=c[k>>2]|0;m=(d|0)/(h|0)|0;j=c[b+4>>2]|0;h=1<<((d|0)%(h|0)|0);l=(h&c[j+(m<<2)>>2]|0)!=0;i=c[a+4>>2]|0;h=(c[i+(m<<2)>>2]&h|0)!=0;b=(l&1)-(h&1)|0;c[e>>2]=1;c[f>>2]=0;if(!(l^h)){m=0;return m|0}if(!d){m=b;return m|0}h=(g<<1)+-1|0;a=b;b=(b|0)>0?1:-1;while(1){g=d+-1|0;if((d|0)<=1)break;c[e>>2]=(c[e>>2]|0)+1;a=c[k>>2]|0;m=(g|0)/(a|0)|0;a=1<<((g|0)%(a|0)|0);a=((a&c[j+(m<<2)>>2]|0)!=0&1)-((c[i+(m<<2)>>2]&a|0)!=0&1)|0;b=((a|0)>0|b<<1)+(a>>31)|0;if((((b|0)>-1?b:0-b|0)|0)>(h|0))break;else d=g}if((g|0)!=0&(b&1|0)!=0){b=(a|0)>0?(b+-1|0)/2|0:b;c[e>>2]=(c[e>>2]|0)+-1;b=(a|0)<0?(b+1|0)/2|0:b}if(b&1){m=b;return m|0}do{b=(b|0)/2|0;c[f>>2]=(c[f>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+-1}while((b&1|0)==0);return b|0}function Fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=a&3;k=d<<2;d=((k+15|0)>>>2)+1|0;if((c[(c[610]|0)+336>>2]|0)==1)d=((d<<3|4)+15|0)>>>2|1;else d=(((d*12|0)+19|0)>>>2)+1|0;i=($(b<<2,d)|0)+((e|0)==0?0:4-e|0)|0;j=a+i|0;f=i+16|0;b=a+f&3;b=(b|0)==0?0:4-b|0;g=i+20|0;h=i+28|0;c[a+(g+b)>>2]=a+(h+b-(a+((b|8)+f)&3));c[a+(i+4)>>2]=a+(b+f);e=k+19&-4;k=b+e|0;d=i+24|0;c[a+(g+k)>>2]=a+(h+k-(a+(d+k)&3));c[a+(i+8)>>2]=a+(k+f);if((c[(c[610]|0)+336>>2]|0)==1){c[j>>2]=2;return j|0}k=b|e<<1;c[a+(g+k)>>2]=a+(h+k-(a+(d+k)&3));c[a+(i+12)>>2]=a+(k+f);c[j>>2]=2;return j|0}function Gd(a,b){a=a|0;b=b|0;var d=0;d=c[610]|0;if(c[d+552>>2]|0){a=0;return a|0}a=Fd(a,b,(c[d+24>>2]|0)+-1|0)|0;return a|0}function Hd(a){a=a|0;var b=0,d=0;d=c[610]|0;b=(((c[d+24>>2]<<2)+11|0)>>>2)+1|0;if((c[d+336>>2]|0)==1){d=$d(($(a<<2,((b<<3|4)+15|0)>>>2|1)|0)+4|0,1)|0;return d|0}else{d=$d(($(a<<2,(((b*12|0)+19|0)>>>2)+1|0)|0)+4|0,1)|0;return d|0}return 0}function Id(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a)return;e=c[610]|0;d=(((c[e+24>>2]<<2)+11|0)>>>2)+1|0;if((c[e+336>>2]|0)==1)mt(a|0,0,($(b<<2,((d<<3|4)+15|0)>>>2|1)|0)+4|0)|0;else mt(a|0,0,($(b<<2,(((d*12|0)+19|0)>>>2)+1|0)|0)+4|0)|0;ae(a);return}function Jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=c[a>>2]|0;f=c[b>>2]|0;if((f|0)>(e|0))if((a|0)==(d|0)){k=f;e=f}else{rd(b,d);k=f}else if((b|0)==(d|0))k=e;else{rd(a,d);k=e;e=f}c[d>>2]=k;h=c[a+4>>2]|0;g=c[b+4>>2]|0;l=c[d+4>>2]|0;i=c[610]|0;j=i+24|0;if(!((k|0)>=(c[j>>2]|0)?(c[i+128>>2]|0)!=0:0))c[d>>2]=k+1;b=c[i>>2]|0;f=(e|0)>0;if(!b){if(f){f=0;a=0;do{m=c[h+(a<<2)>>2]|0;b=m+f+(c[g+(a<<2)>>2]|0)|0;f=b>>>0>m>>>0?0:b>>>0>>0?1:f;c[l+(a<<2)>>2]=b;a=a+1|0}while((a|0)!=(e|0));if((f|0)!=0&(e|0)<(k|0))do{b=c[h+(e<<2)>>2]|0;m=b+f+(c[g+(e<<2)>>2]|0)|0;f=m>>>0>b>>>0?0:m>>>0>>0?1:f;c[l+(e<<2)>>2]=m;e=e+1|0}while((f|0)!=0&(e|0)<(k|0));if(f){if((c[i+128>>2]|0)!=0?(e|0)>=(c[j>>2]|0):0){Yc(3);return}c[l+(e<<2)>>2]=f}}}else if(f){m=(c[h>>2]|0)+(c[g>>2]|0)|0;a=m>>>0>>0;f=a&1^1;c[l>>2]=m-(a?0:b);if((e|0)!=1){b=1;do{m=c[i>>2]|0;n=(c[h+(b<<2)>>2]|0)+f+(c[g+(b<<2)>>2]|0)|0;a=n>>>0>>0;f=a&1^1;c[l+(b<<2)>>2]=n-(a?0:m);b=b+1|0}while((b|0)!=(e|0))}if((e|0)<(k|0)&(a^1))do{b=(c[h+(e<<2)>>2]|0)+f+(c[g+(e<<2)>>2]|0)|0;m=c[i>>2]|0;n=b>>>0>>0;f=n&1^1;c[l+(e<<2)>>2]=b-(n?0:m);e=e+1|0}while((e|0)<(k|0)&(n^1));if(f){if((c[i+128>>2]|0)!=0?(e|0)>=(c[j>>2]|0):0){Yc(3);return}c[l+(e<<2)>>2]=f}}e=(c[d>>2]|0)+-1|0;if(c[l+(e<<2)>>2]|0)return;c[d>>2]=e;return}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c[a>>2]|0;e=c[b>>2]|0;if((e|0)>(l|0)){Yc(4);return}if((b|0)==(d|0))e=l;else rd(a,d);c[d>>2]=l;k=c[a+4>>2]|0;i=c[b+4>>2]|0;j=c[d+4>>2]|0;h=c[610]|0;a=(e|0)>0;a:do if(!(c[h>>2]|0)){if(a){a=0;b=0;while(1){if((b|0)>(l|0))break;g=c[k+(b<<2)>>2]|0;h=g-(c[i+(b<<2)>>2]|0)-a|0;a=h>>>0>>0?0:h>>>0>g>>>0?1:a;c[j+(b<<2)>>2]=h;b=b+1|0;if(!((a|0)!=0|(b|0)<(e|0)))break a}Yc(4);return}}else if(a){a=0;g=0;while(1){if((g|0)>(l|0))break;f=(c[i+(g<<2)>>2]|0)+a|0;a=c[k+(g<<2)>>2]|0;if(a>>>0>>0){b=(c[h>>2]|0)+a|0;a=1}else{b=a;a=0}c[j+(g<<2)>>2]=b-f;g=g+1|0;if(!((a|0)!=0|(g|0)<(e|0)))break a}Yc(4);return}while(0);gd(d);return}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=27,(c[e+576>>2]|0)!=0):0)Zc();Pd(a,1,b,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=28,(c[e+576>>2]|0)!=0):0)Zc();Pd(a,-1,b,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=7,(c[e+576>>2]|0)!=0):0){Zc();e=c[610]|0}dd(b,c[e+464>>2]|0);Pd(a,1,c[(c[610]|0)+464>>2]|0,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=8,(c[e+576>>2]|0)!=0):0){Zc();e=c[610]|0}dd(b,c[e+464>>2]|0);Pd(a,-1,c[(c[610]|0)+464>>2]|0,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((td(a)|0)==0?(td(d)|0)==0:0){g=md(a)|0;h=md(d)|0;c[a>>2]=c[a>>2]&2147483647;c[d>>2]=c[d>>2]&2147483647;f=wd(a,d)|0;a:do switch(g+1+((($(h,b)|0)+1|0)/2|0)|0){case 0:if((f|0)>-1){Jd(a,d,e);i=17;break a}else{Jd(d,a,e);i=17;break a}case 1:if((f|0)<1){Kd(d,a,e);break a}else{Kd(a,d,e);i=17;break a}case 2:if((f|0)>-1){Kd(a,d,e);break a}else{Kd(d,a,e);i=17;break a}case 3:if((f|0)>-1){Jd(a,d,e);break a}else{Jd(d,a,e);break a}default:{}}while(0);if((i|0)==17)c[e>>2]=c[e>>2]^-2147483648;if((a|0)!=(e|0)&(g|0)<0)c[a>>2]=c[a>>2]^-2147483648;if((d|0)==(e|0))return;if(!((d|0)!=(a|0)&(h|0)<0))return;c[d>>2]=c[d>>2]^-2147483648;return}Yc(12);return}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((a|0)==(d|0)){if(!b){cd(a);return}}else{cd(d);if(!b)return}f=c[a>>2]|0;r=f&-2147483648;e=f&2147483647;q=c[610]|0;a:do if(!(c[q>>2]|0)){j=d+4|0;if(e){h=c[a+4>>2]|0;i=c[j>>2]|0;a=f&2147483647;f=0;g=0;do{p=xt(c[h+(g<<2)>>2]|0,0,b|0,0)|0;p=nt(p|0,D|0,f|0,0)|0;f=D;c[i+(g<<2)>>2]=p;g=g+1|0}while((g|0)!=(a|0));if(f){if((e|0)>=(c[q+24>>2]|0)?(c[q+128>>2]|0)!=0:0){Yc(3);return}c[(c[j>>2]|0)+(e<<2)>>2]=f;e=e+1|0;c[d>>2]=e;f=d;break}}c[d>>2]=e;f=d;k=25}else{if(!e){f=d;e=c[d>>2]|0;k=25;break}o=q+24|0;p=q+128|0;k=a+4|0;l=q+16|0;m=q+12|0;n=d+4|0;f=0;a=0;while(1){if((a|0)>(c[o>>2]|0)?(c[p>>2]|0)!=0:0)break;i=xt(c[(c[k>>2]|0)+(a<<2)>>2]|0,0,b|0,0)|0;i=nt(i|0,D|0,f|0,0)|0;j=D;g=c[q>>2]|0;if((g|0)==(c[l>>2]|0)){f=ot(i|0,j|0,c[m>>2]|0)|0;h=0}else{f=yt(i|0,j|0,g|0,0)|0;h=0}h=xt(g|0,h|0,f|0,0)|0;j=lt(i|0,j|0,h|0,D|0)|0;c[(c[n>>2]|0)+(a<<2)>>2]=j;a=a+1|0;c[d>>2]=a;if(!((f|0)!=0|(a|0)<(e|0))){f=d;e=a;k=25;break a}}Yc(3);return}while(0);if((k|0)==25)if(!e)return;c[f>>2]=e|r;return}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=9,(c[e+576>>2]|0)!=0):0)Zc();if(td(a)|0){Yc(12);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}switch(b|0){case 0:{cd(d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}case 1:{rd(a,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}default:{if((b|0)<0){Qd(a,0-b|0,d);e=c[d>>2]|0;if(e)c[d>>2]=e^-2147483648}else Qd(a,b,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}}}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[a>>2]&2147483647;if((a|0)!=(d|0))cd(d);k=c[610]|0;g=c[k>>2]|0;e=(f|0)==0;if(!g){if(e){b=0;a=c[a>>2]|0;c[d>>2]=a;gd(d);return b|0}g=c[a+4>>2]|0;h=c[d+4>>2]|0;e=0;do{k=f;f=f+-1|0;j=c[g+(f<<2)>>2]|0;e=yt(j|0,e|0,b|0,0)|0;c[h+(f<<2)>>2]=e;e=j-($(e,b)|0)|0}while((k|0)>1);a=c[a>>2]|0;c[d>>2]=a;gd(d);return e|0}if(e){b=0;a=c[a>>2]|0;c[d>>2]=a;gd(d);return b|0}j=c[a+4>>2]|0;i=c[d+4>>2]|0;e=0;while(1){h=f+-1|0;l=xt(g|0,0,e|0,0)|0;l=nt(c[j+(h<<2)>>2]|0,0,l|0,D|0)|0;g=D;e=yt(l|0,g|0,b|0,0)|0;c[i+(h<<2)>>2]=e;e=xt(e|0,0,b|0,0)|0;e=lt(l|0,g|0,e|0,D|0)|0;if((f|0)<=1)break;g=c[k>>2]|0;f=h}l=c[a>>2]|0;c[d>>2]=l;gd(d);return e|0}function Td(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[610]|0;if(c[e+552>>2]|0){d=0;return d|0}i=e+28|0;f=(c[i>>2]|0)+1|0;c[i>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=10,(c[e+576>>2]|0)!=0):0)Zc();if(td(a)|0)Yc(12);if(!b)Yc(2);f=c[610]|0;if(c[f+552>>2]|0){d=f+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=0;return d|0}e=c[a>>2]|0;if(!e){cd(d);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=0;return d|0}if((b|0)==1){rd(a,d);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=0;return d|0}i=e&-2147483648;if((b|0)==2)if(!(c[f>>2]|0)){rd(a,d);f=c[d>>2]|0;a=(f&2147483647)+-1|0;g=c[d+4>>2]|0;e=c[g>>2]|0;h=e&1;e=e>>>1;c[g>>2]=e;if(a){b=f&2147483647;f=0;do{l=f;f=f+1|0;j=g+(f<<2)|0;k=c[j>>2]|0;c[g+(l<<2)>>2]=e|k<<31;e=k>>>1;c[j>>2]=e}while((f|0)!=(a|0));e=c[g+(b+-1<<2)>>2]|0}if(e){k=c[610]|0;k=k+28|0;l=c[k>>2]|0;l=l+-1|0;c[k>>2]=l;k=(i|0)==0;l=0-h|0;l=k?h:l;return l|0}gd(d);k=c[610]|0;k=k+28|0;l=c[k>>2]|0;l=l+-1|0;c[k>>2]=l;k=(i|0)==0;l=0-h|0;l=k?h:l;return l|0}else g=27;else if((b|0)<0){e=Sd(a,0-b|0,d)|0;f=c[d>>2]|0;if(f)c[d>>2]=f^-2147483648}else g=27;if((g|0)==27)e=Sd(a,b,d)|0;l=(c[610]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;l=(i|0)==0?e:0-e|0;return l|0}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[610]|0;if(c[d+552>>2]|0){a=0;return a|0}f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=88,(c[d+576>>2]|0)!=0):0)Zc();e=c[a>>2]&-2147483648;switch(b|0){case 2:{d=c[610]|0;if(!(c[d>>2]&1)){f=d+28|0;c[f>>2]=(c[f>>2]|0)+-1;if(!(c[c[a+4>>2]>>2]&1)){f=0;return f|0}f=(e>>>30^2)+-1|0;return f|0}break}case 8:{d=c[610]|0;if(!(c[d>>2]&7)){f=d+28|0;c[f>>2]=(c[f>>2]|0)+-1;f=c[c[a+4>>2]>>2]&7;f=(e|0)==0?f:0-f|0;return f|0}break}default:d=c[610]|0}rd(a,c[d+464>>2]|0);f=c[(c[610]|0)+464>>2]|0;f=Td(f,b,f)|0;a=(c[610]|0)+28|0;c[a>>2]=(c[a>>2]|0)+-1;return f|0}function Vd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[610]|0;if(c[h+552>>2]|0)return;l=h+28|0;i=(c[l>>2]|0)+1|0;c[l>>2]=i;if((i|0)<24?(c[h+32+(i<<2)>>2]=191,(c[h+576>>2]|0)!=0):0){Zc();h=c[610]|0}dd(1,c[h+468>>2]|0);rd(a,c[(c[610]|0)+472>>2]|0);rd(b,c[(c[610]|0)+476>>2]|0);cd(d);cd(e);cd(f);cd(g);h=c[610]|0;a:do if(!(c[h+552>>2]|0)){i=0;a=0;l=0;b:while(1){j=i;k=a;while(1){if((vd(c[h+472>>2]|0)|0|j|0)==0?(vd(c[(c[610]|0)+476>>2]|0)|0|k|0)==0:0)break b;a=(Ud(c[(c[610]|0)+472>>2]|0,8)|0)+j|0;i=(Ud(c[(c[610]|0)+476>>2]|0,8)|0)+k|0;b=i&7;c:do if(!(a&1))h=0;else{h=2-(a&3)|0;switch(a&7|0){case 3:case 5:break;default:break c}h=(i&3|0)==2?0-h|0:h}while(0);d:do if(!(i&1))i=0;else{i=2-(i&3)|0;switch(b|0){case 3:case 5:break;default:break d}i=(a&3|0)==2?0-i|0:i}while(0);a=c[610]|0;b=(h|0)>0;do if((c[a>>2]|0)==(c[a+16>>2]|0)){if(!b){if((h|0)<0)Bd(e,l)}else Bd(d,l);if((i|0)>0){Bd(f,l);break}if((i|0)<0)Bd(g,l)}else{if(!b){if((h|0)<0)Ld(e,c[a+468>>2]|0,e)}else Ld(d,c[a+468>>2]|0,d);if((i|0)>0){Ld(f,c[(c[610]|0)+468>>2]|0,f);break}if((i|0)<0)Ld(g,c[(c[610]|0)+468>>2]|0,g)}while(0);j=(j<<1|0)==(h+1|0)?1-j|0:j;k=(k<<1|0)==(i+1|0)?1-k|0:k;h=c[(c[610]|0)+472>>2]|0;Td(h,2,h)|0;h=c[(c[610]|0)+476>>2]|0;Td(h,2,h)|0;h=c[610]|0;if((c[h>>2]|0)==(c[h+16>>2]|0)){i=j;a=k;break}i=c[h+468>>2]|0;do if(!(c[h+552>>2]|0)){b=h+28|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;if((a|0)<24?(c[h+32+(a<<2)>>2]=9,(c[h+576>>2]|0)!=0):0)Zc();if(!(td(i)|0)){Qd(i,2,i);h=c[610]|0;b=h+28|0;c[b>>2]=(c[b>>2]|0)+-1;break}else{Yc(12);h=c[610]|0;b=h+28|0;c[b>>2]=(c[b>>2]|0)+-1;break}}while(0);if(c[h+552>>2]|0)break a}if(!(c[h+552>>2]|0))l=l+1|0;else break a}h=c[610]|0}while(0);f=h+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[610]|0;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=4,(c[e+576>>2]|0)!=0):0)Zc();if((a|0)!=(b|0))rd(a,b);e=c[c[610]>>2]|0;f=(c[(c[b+4>>2]|0)+((c[b>>2]&2147483647)+-1<<2)>>2]|0)+1|0;if(!e)if((f|0)!=0?(d=yt(0,1,f|0,0)|0,(d|0)!=1):0)Qd(b,d,b);else d=1;else{d=(e>>>0)/(f>>>0)|0;if((d|0)==1)d=1;else Qd(b,d,b)}g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return d|0}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=c[610]|0;if(c[e+552>>2]|0)return;if((c[b>>2]|0)!=0?(c[a>>2]|0)!=0:0){z=c[e+484>>2]|0;if((z|0)==(d|0)&((z|0)!=(b|0)&(z|0)!=(a|0)))z=d;else z=c[e+464>>2]|0;y=e+28|0;f=(c[y>>2]|0)+1|0;c[y>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=5,(c[e+576>>2]|0)!=0):0)Zc();if((td(a)|0)==0?(td(b)|0)==0:0){v=c[a>>2]|0;f=c[b>>2]|0;w=(f^v)&-2147483648;x=v&2147483647;y=f&2147483647;cd(z);u=c[610]|0;if((c[u+128>>2]|0)!=0?(y+x|0)>(c[u+24>>2]|0):0){Yc(3);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}a:do if(!(c[u>>2]|0)){n=a+4|0;e=b+4|0;m=z+4|0;if(!((a|0)==(b|0)&x>>>0>5)){if(!x)break;l=c[m>>2]|0;k=f&2147483647;if(!y){mt(l+(k<<2)|0,0,v<<2|0)|0;break}j=v&2147483647;i=c[n>>2]|0;g=c[e>>2]|0;h=0;while(1){f=i+(h<<2)|0;e=0;a=0;do{u=xt(c[g+(a<<2)>>2]|0,0,c[f>>2]|0,0)|0;u=nt(u|0,D|0,e|0,0)|0;v=l+(a+h<<2)|0;u=nt(u|0,D|0,c[v>>2]|0,0)|0;e=D;c[v>>2]=u;a=a+1|0}while((a|0)!=(k|0));c[l+(h+y<<2)>>2]=e;h=h+1|0;if((h|0)==(j|0))break a}}h=x+-1|0;if(x>>>0>1){i=c[m>>2]|0;j=v&2147483647;k=0;do{l=k;k=k+1|0;if((k|0)<(x|0)){f=c[n>>2]|0;a=f+(l<<2)|0;e=0;g=k;do{b=xt(c[f+(g<<2)>>2]|0,0,c[a>>2]|0,0)|0;b=nt(b|0,D|0,e|0,0)|0;u=i+(g+l<<2)|0;b=nt(b|0,D|0,c[u>>2]|0,0)|0;e=D;c[u>>2]=b;g=g+1|0}while((g|0)!=(j|0))}else e=0;c[i+(l+x<<2)>>2]=e}while((k|0)<(h|0))}c[z>>2]=(x<<1)+-1;Jd(z,z,z);if(x){i=c[n>>2]|0;h=c[m>>2]|0;a=v&2147483647;e=0;g=0;while(1){v=g<<1;u=c[i+(g<<2)>>2]|0;u=xt(u|0,0,u|0,0)|0;u=nt(u|0,D|0,e|0,0)|0;f=h+(v<<2)|0;u=nt(u|0,D|0,c[f>>2]|0,0)|0;e=D;c[f>>2]=u;v=h+((v|1)<<2)|0;f=e+(c[v>>2]|0)|0;c[v>>2]=f;g=g+1|0;if((g|0)==(a|0))break;else e=f>>>0>>0&1}}}else{if(!((a|0)==(b|0)&x>>>0>5)){if(!x)break;q=c[z+4>>2]|0;r=u+16|0;s=u+12|0;p=f&2147483647;if(!y){mt(q+(p<<2)|0,0,v<<2|0)|0;break}o=v&2147483647;n=c[a+4>>2]|0;l=c[b+4>>2]|0;m=0;while(1){i=n+(m<<2)|0;e=0;k=0;do{h=xt(c[l+(k<<2)>>2]|0,0,c[i>>2]|0,0)|0;j=q+(k+m<<2)|0;g=c[j>>2]|0;h=nt(h|0,D|0,e|0,0)|0;g=nt(h|0,D|0,g|0,0)|0;h=D;f=c[u>>2]|0;if((f|0)==(c[r>>2]|0)){e=ot(g|0,h|0,c[s>>2]|0)|0;a=0}else{e=yt(g|0,h|0,f|0,0)|0;a=0}v=xt(f|0,a|0,e|0,0)|0;v=lt(g|0,h|0,v|0,D|0)|0;c[j>>2]=v;k=k+1|0}while((k|0)!=(p|0));c[q+(m+y<<2)>>2]=e;m=m+1|0;if((m|0)==(o|0))break a}}m=x+-1|0;if(x>>>0>1){n=c[z+4>>2]|0;o=b+4|0;p=u+16|0;q=u+12|0;r=v&2147483647;s=0;do{t=s;s=s+1|0;if((s|0)<(x|0)){i=c[o>>2]|0;j=i+(t<<2)|0;e=0;l=s;do{h=xt(c[i+(l<<2)>>2]|0,0,c[j>>2]|0,0)|0;k=n+(l+t<<2)|0;g=c[k>>2]|0;h=nt(h|0,D|0,e|0,0)|0;g=nt(h|0,D|0,g|0,0)|0;h=D;f=c[u>>2]|0;if((f|0)==(c[p>>2]|0)){e=ot(g|0,h|0,c[q>>2]|0)|0;a=0}else{e=yt(g|0,h|0,f|0,0)|0;a=0}a=xt(f|0,a|0,e|0,0)|0;h=lt(g|0,h|0,a|0,D|0)|0;c[k>>2]=h;l=l+1|0}while((l|0)!=(r|0))}else e=0;c[n+(t+x<<2)>>2]=e}while((s|0)<(m|0))}c[z>>2]=(x<<1)+-1;Jd(z,z,z);if(x){m=c[b+4>>2]|0;n=c[z+4>>2]|0;o=c[610]|0;p=o+16|0;q=o+12|0;k=v&2147483647;e=0;l=0;do{i=l<<1;g=c[m+(l<<2)>>2]|0;g=xt(g|0,0,g|0,0)|0;j=n+(i<<2)|0;a=c[j>>2]|0;g=nt(g|0,D|0,e|0,0)|0;a=nt(g|0,D|0,a|0,0)|0;g=D;e=c[o>>2]|0;if((e|0)==(c[p>>2]|0)){h=ot(a|0,g|0,c[q>>2]|0)|0;f=0}else{h=yt(a|0,g|0,e|0,0)|0;f=0}e=xt(e|0,f|0,h|0,0)|0;a=lt(a|0,g|0,e|0,D|0)|0;c[j>>2]=a;a=n+((i|1)<<2)|0;e=(c[a>>2]|0)+h|0;c[a>>2]=e;f=c[o>>2]|0;if(e>>>0>>0)e=0;else{c[a>>2]=e-f;e=1}l=l+1|0}while((l|0)!=(k|0))}}while(0);c[z>>2]=w|y+x;gd(z);rd(z,d);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}Yc(12);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}cd(d);return}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;e=c[610]|0;if(c[e+552>>2]|0)return;L=c[e+464>>2]|0;K=e+28|0;f=(c[K>>2]|0)+1|0;c[K>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=6,(c[e+576>>2]|0)!=0):0)Zc();if((a|0)==(b|0))Yc(7);if(!((td(a)|0)==0?(td(b)|0)==0:0))Yc(12);if(!(c[b>>2]|0))Yc(2);e=c[610]|0;if(c[e+552>>2]|0){b=e+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}f=c[a>>2]|0;J=f&-2147483648;K=c[b>>2]&-2147483648;I=K^J;c[a>>2]=f&2147483647;f=c[b>>2]|0;H=f&2147483647;c[b>>2]=H;e=c[a>>2]|0;rd(a,L);h=c[L>>2]|0;G=c[610]|0;if((c[G+128>>2]|0)!=0?(h-H|0)>=(c[G+24>>2]|0):0){Yc(3);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}do if((e|0)==(H|0)){if((H|0)==1){F=c[L+4>>2]|0;G=c[F>>2]|0;e=c[c[b+4>>2]>>2]|0;c[F>>2]=(G>>>0)%(e>>>0)|0;gd(L);e=(G>>>0)/(e>>>0)|0;break}G=H+-1|0;if((c[(c[L+4>>2]|0)+(G<<2)>>2]|0)>>>2>>>0<(c[(c[b+4>>2]|0)+(G<<2)>>2]|0)>>>0?(wd(L,b)|0)>-1:0){e=0;do{Kd(L,b,L);e=e+1|0}while((wd(L,b)|0)>-1)}else e=0}else e=0;while(0);if((wd(L,b)|0)<0){if((a|0)!=(d|0)?(rd(L,a),g=c[a>>2]|0,(g|0)!=0):0)c[a>>2]=g|J;if((b|0)!=(d|0)?(cd(d),c[c[d+4>>2]>>2]=e,(e|0)!=0):0)c[d>>2]=I|1;c[b>>2]=c[b>>2]|K;b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}if((H|0)==1){e=Sd(L,c[c[b+4>>2]>>2]|0,L)|0;if((b|0)!=(d|0)){rd(L,d);c[d>>2]=c[d>>2]|I}if((a|0)!=(d|0)?(cd(a),c[c[a+4>>2]>>2]=e,(e|0)!=0):0)c[a>>2]=J|1;c[b>>2]=c[b>>2]|K;b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}C=(b|0)!=(d|0);if(C)cd(d);E=Wd(b,b)|0;B=c[610]|0;G=B+128|0;F=c[G>>2]|0;c[G>>2]=0;G=(E|0)!=1;a:do if(!(c[B>>2]|0)){if(G)Qd(L,E,L);q=H+-1|0;r=c[b+4>>2]|0;s=c[r+(q<<2)>>2]|0;if((h|0)>(q|0)){t=c[r+(H+-2<<2)>>2]|0;u=c[L+4>>2]|0;v=d+4|0;w=(H|0)==0;p=f&2147483647;f=h;e=h;do{while(1){o=f;f=f+-1|0;n=u+(o<<2)|0;j=c[n>>2]|0;g=c[u+(f<<2)>>2]|0;if((j|0)==(s|0)){h=g+s|0;if(h>>>0>>0){h=f-H+1|0;g=-1;m=56}else{g=-1;m=50}}else{m=yt(g|0,j|0,s|0,0)|0;h=xt(m|0,0,s|0,0)|0;h=lt(g|0,0,h|0,D|0)|0;g=m;m=50}if((m|0)==50){m=0;l=u+(o+-2<<2)|0;do{i=xt(g|0,0,t|0,0)|0;k=D;if(k>>>0>>0)break;if((k|0)==(h|0)?i>>>0<=(c[l>>2]|0)>>>0:0)break;g=g+-1|0;h=h+s|0}while(h>>>0>=s>>>0);h=f-H+1|0;if(!g)g=0;else m=56}b:do if((m|0)==56){do if(w)i=0;else{i=0;j=0;do{A=xt(c[r+(j<<2)>>2]|0,0,g|0,0)|0;A=nt(A|0,D|0,i|0,0)|0;B=u+(j+h<<2)|0;z=c[B>>2]|0;i=(z>>>0>>0&1)+D|0;c[B>>2]=z-A;j=j+1|0}while((j|0)!=(p|0));j=c[n>>2]|0;if(j>>>0>=i>>>0)break;c[n>>2]=0;if(!w){k=0;l=0;while(1){B=u+(l+h<<2)|0;i=c[r+(l<<2)>>2]|0;j=(c[B>>2]|0)+k+i|0;c[B>>2]=j;l=l+1|0;if((l|0)==(p|0))break;else k=j>>>0>>0?1:j>>>0>i>>>0?0:k}}g=g+-1|0;break b}while(0);c[n>>2]=j-i}while(0);if((o|0)==(e|0)&(g|0)==0)break;if(C)c[(c[v>>2]|0)+(h<<2)>>2]=g;if((f|0)<=(q|0))break a}e=e+-1|0}while((f|0)>(q|0))}else e=h}else{if(G)Qd(L,E,L);s=H+-1|0;t=c[b+4>>2]|0;u=c[t+(s<<2)>>2]|0;if((h|0)>(s|0)){v=c[t+(H+-2<<2)>>2]|0;w=c[L+4>>2]|0;x=c[610]|0;y=d+4|0;z=(H|0)==0;A=x+16|0;B=x+12|0;r=f&2147483647;f=h;e=h;do{while(1){q=f;f=f+-1|0;p=w+(q<<2)|0;h=c[p>>2]|0;if((h|0)==(u|0)){g=c[x>>2]|0;n=g;g=g+-1|0;i=(c[w+(f<<2)>>2]|0)+u|0}else{n=c[x>>2]|0;m=xt(n|0,0,h|0,0)|0;m=nt(m|0,D|0,c[w+(f<<2)>>2]|0,0)|0;o=D;g=yt(m|0,o|0,u|0,0)|0;i=xt(g|0,0,u|0,0)|0;i=lt(m|0,o|0,i|0,D|0)|0}c:do if(i>>>0>>0){m=w+(q+-2<<2)|0;o=(n|0)==(c[A>>2]|0);do{j=xt(g|0,0,v|0,0)|0;k=D;if(o)l=ot(j|0,k|0,c[B>>2]|0)|0;else l=yt(j|0,k|0,n|0,0)|0;M=xt(n|0,0,l|0,0)|0;j=lt(j|0,k|0,M|0,D|0)|0;if(l>>>0>>0)break c;if((l|0)==(i|0)?j>>>0<=(c[m>>2]|0)>>>0:0)break c;g=g+-1|0;i=i+u|0}while(i>>>0>>0)}while(0);o=f-H+1|0;d:do if(!g)g=0;else{do if(z)i=0;else{i=0;h=0;while(1){j=xt(c[t+(h<<2)>>2]|0,0,g|0,0)|0;j=nt(j|0,D|0,i|0,0)|0;k=D;if((n|0)==(c[A>>2]|0)){i=ot(j|0,k|0,c[B>>2]|0)|0;l=n;m=0}else{i=yt(j|0,k|0,n|0,0)|0;l=n;m=0}m=xt(l|0,m|0,i|0,0)|0;m=lt(j|0,k|0,m|0,D|0)|0;M=w+(h+o<<2)|0;k=c[M>>2]|0;l=k>>>0>>0;i=i+(l&1)|0;c[M>>2]=k+(l?n:0)-m;h=h+1|0;if((h|0)==(r|0))break;n=c[x>>2]|0}h=c[p>>2]|0;if(h>>>0>=i>>>0)break;c[p>>2]=0;if(!z){h=0;i=0;while(1){M=w+(i+o<<2)|0;n=(c[M>>2]|0)+h+(c[t+(i<<2)>>2]|0)|0;p=c[x>>2]|0;h=n>>>0

    >>0;c[M>>2]=n-(h?0:p);i=i+1|0;if((i|0)==(r|0))break;else h=h&1^1}}g=g+-1|0;break d}while(0);c[p>>2]=h-i}while(0);if((q|0)==(e|0)&(g|0)==0)break;if(C)c[(c[y>>2]|0)+(o<<2)>>2]=g;if((f|0)<=(s|0))break a}e=e+-1|0}while((f|0)>(s|0))}else e=h}while(0);if(C)c[d>>2]=1-H+e|I;c[L>>2]=H;gd(b);gd(d);if((a|0)!=(d|0)){gd(L);if(G)Sd(L,E,a)|0;else rd(L,a);e=c[a>>2]|0;if(e)c[a>>2]=e|J}if(G)Sd(b,E,b)|0;c[b>>2]=c[b>>2]|K;M=c[610]|0;c[M+128>>2]=F;M=M+28|0;c[M>>2]=(c[M>>2]|0)+-1;return}function Zd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[610]|0;if(c[h+552>>2]|0)return;j=h+28|0;i=(c[j>>2]|0)+1|0;c[j>>2]=i;if((i|0)<24?(c[h+32+(i<<2)>>2]=24,(c[h+576>>2]|0)!=0):0)Zc();if((e|0)==(g|0)){Yc(7);j=(c[610]|0)+28|0;c[j>>2]=(c[j>>2]|0)+-1;return}j=c[610]|0;i=j+128|0;h=c[i>>2]|0;c[i>>2]=0;Xd(a,b,c[j+464>>2]|0);if(!((a|0)==(d|0)|(b|0)==(d|0))){j=c[(c[610]|0)+464>>2]|0;Ld(j,d,j)}Yd(c[(c[610]|0)+464>>2]|0,e,f);if((f|0)!=(g|0))rd(c[(c[610]|0)+464>>2]|0,g);j=c[610]|0;c[j+128>>2]=h;j=j+28|0;c[j>>2]=(c[j>>2]|0)+-1;return}function _d(){return kj(1,728)|0}function $d(a,b){a=a|0;b=b|0;var d=0;d=c[610]|0;if(d)if(!(c[d+552>>2]|0)){d=kj(a,b)|0;if(!d){Yc(8);d=0}}else d=0;else d=kj(a,b)|0;return d|0}function ae(a){a=a|0;if(!a)return;jj(a);return}function be(a){a=a|0;if((vd(c[a>>2]|0)|0)==0?(vd(c[a+4>>2]|0)|0)==0:0){a=1;return a|0}a=0;return a|0}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[610]|0;if(c[d+552>>2]|0)return;f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=156,(c[d+576>>2]|0)!=0):0){Zc();d=c[610]|0}if((a|0)==1)rd(c[d+532>>2]|0,c[b>>2]|0);else{dd(a,c[d+468>>2]|0);ue(c[(c[610]|0)+468>>2]|0,c[b>>2]|0)}cd(c[b+4>>2]|0);f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}function de(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=166,(c[e+576>>2]|0)!=0):0)Zc();ue(a,c[d>>2]|0);ue(b,c[d+4>>2]|0);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function ee(a,b){a=a|0;b=b|0;if((a|0)==(b|0))return;rd(c[a>>2]|0,c[b>>2]|0);rd(c[a+4>>2]|0,c[b+4>>2]|0);return}function fe(a){a=a|0;cd(c[a>>2]|0);cd(c[a+4>>2]|0);return}function ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;g=(f|0)<24;if((a|0)==(b|0)){if(g?(c[e+32+(f<<2)>>2]=210,(c[e+576>>2]|0)!=0):0)Zc();we(c[a>>2]|0,c[a+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}if(g?(c[e+32+(f<<2)>>2]=162,(c[e+576>>2]|0)!=0):0)Zc();if((vd(c[a>>2]|0)|0)==0?(vd(c[a+4>>2]|0)|0)==0:0)g=14;else g=12;do if((g|0)==12){if((vd(c[b>>2]|0)|0)==0?(vd(c[b+4>>2]|0)|0)==0:0){g=14;break}f=c[a>>2]|0;e=a+4|0;if((((c[f>>2]|0)!=0?(h=c[e>>2]|0,(c[h>>2]|0)!=0):0)?(i=c[b>>2]|0,(c[i>>2]|0)!=0):0)?(j=c[b+4>>2]|0,(c[j>>2]|0)!=0):0){Ae(f,h,i,j,c[d>>2]|0,c[d+4>>2]|0);break}xe(f,c[b>>2]|0,c[(c[610]|0)+468>>2]|0);j=b+4|0;xe(c[e>>2]|0,c[j>>2]|0,c[(c[610]|0)+472>>2]|0);ye(c[a>>2]|0,c[e>>2]|0,c[(c[610]|0)+484>>2]|0);e=d+4|0;ye(c[b>>2]|0,c[j>>2]|0,c[e>>2]|0);b=c[e>>2]|0;xe(b,c[(c[610]|0)+484>>2]|0,b);b=c[e>>2]|0;ze(b,c[(c[610]|0)+468>>2]|0,b);e=c[e>>2]|0;ze(e,c[(c[610]|0)+472>>2]|0,e);e=c[610]|0;ze(c[e+468>>2]|0,c[e+472>>2]|0,c[d>>2]|0);e=c[610]|0;if((c[e+708>>2]|0)==-2){d=c[d>>2]|0;ze(d,c[e+472>>2]|0,d)}}while(0);if((g|0)==14){cd(c[d>>2]|0);cd(c[d+4>>2]|0)}d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}function he(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[610]|0;if(c[d+552>>2]|0){a=0;return a|0}f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=78,(c[d+576>>2]|0)!=0):0){Zc();d=c[610]|0}f=c[d+4>>2]|0;bd(c[d+564>>2]|0)|0;d=c[610]|0;e=c[d>>2]|0;c[d+128>>2]=0;d=bf(c[d+484>>2]|0,b)|0;b=c[610]|0;c[b+128>>2]=1;g=c[c[b+484>>2]>>2]|0;b=c[b+24>>2]|0;if((g&65535|0)<=(b|0)?(g>>>16&32767|0)<=(b|0):0){bd(f)|0;je(c[(c[610]|0)+484>>2]|0,e,a);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=d;return g|0}Yc(3);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=0;return g|0}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[610]|0;if(c[d+552>>2]|0){a=0;return a|0}f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=77,(c[d+576>>2]|0)!=0):0){Zc();d=c[610]|0}e=c[d+4>>2]|0;g=c[d>>2]|0;bd(c[d+564>>2]|0)|0;f=c[610]|0;c[f+128>>2]=0;je(a,g,c[f+484>>2]|0);f=c[610]|0;c[f+128>>2]=1;f=cf(c[f+484>>2]|0,b)|0;cd(c[(c[610]|0)+484>>2]|0);bd(e)|0;a=(c[610]|0)+28|0;c[a>>2]=(c[a>>2]|0)+-1;return f|0}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[610]|0;if(c[e+552>>2]|0)return;if((c[e>>2]|0)==(b|0)){rd(a,d);return}i=e+28|0;f=(c[i>>2]|0)+1|0;c[i>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=13,(c[e+576>>2]|0)!=0):0)Zc();i=md(a)|0;yd(a,c[(c[610]|0)+468>>2]|0);zd(a,c[(c[610]|0)+472>>2]|0);nd(1,c[(c[610]|0)+468>>2]|0);g=(b|0)==0;h=0;while(1){cd(c[(c[610]|0)+488>>2]|0);dd(1,c[(c[610]|0)+464>>2]|0);e=c[610]|0;f=c[e+468>>2]|0;if((c[f>>2]|0)>0)if(g){a=0;do{Qd(c[e+464>>2]|0,c[(c[f+4>>2]|0)+(a<<2)>>2]|0,c[e+484>>2]|0);e=c[610]|0;f=c[e+488>>2]|0;Ld(f,c[e+484>>2]|0,f);f=$c(1,16)|0;e=c[(c[610]|0)+464>>2]|0;Qd(e,f,e);e=c[(c[610]|0)+464>>2]|0;Qd(e,f,e);a=a+1|0;e=c[610]|0;f=c[e+468>>2]|0}while((a|0)<(c[f>>2]|0))}else{a=0;do{Qd(c[e+464>>2]|0,c[(c[f+4>>2]|0)+(a<<2)>>2]|0,c[e+484>>2]|0);f=c[610]|0;e=c[f+488>>2]|0;Ld(e,c[f+484>>2]|0,e);e=c[(c[610]|0)+464>>2]|0;Qd(e,b,e);a=a+1|0;e=c[610]|0;f=c[e+468>>2]|0}while((a|0)<(c[f>>2]|0))}if(c[e+552>>2]|h)break;rd(c[e+472>>2]|0,f);h=c[610]|0;rd(c[h+488>>2]|0,c[h+492>>2]|0);h=1}xd(c[e+492>>2]|0,c[e+488>>2]|0,d);nd(i,d);d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(c[(c[610]|0)+552>>2]|0){f=0;return f|0}if(!(vd(a)|0)){f=0;return f|0}if((vd(b)|0)<1){f=0;return f|0}d=c[610]|0;f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=3,(c[d+576>>2]|0)!=0):0){Zc();d=c[610]|0}rd(b,c[d+472>>2]|0);e=Ud(c[(c[610]|0)+472>>2]|0,8)|0;if(!(e&1)){f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;f=0;return f|0}if((vd(a)|0)<0){sd(a,c[(c[610]|0)+468>>2]|0);d=((e|0)%4|0|0)==3?-1:1}else{rd(a,c[(c[610]|0)+468>>2]|0);d=1}a:do if(vd(c[(c[610]|0)+468>>2]|0)|0)while(1){f=(e|0)==3;b:do if((e|0)==5){f=(Ud(c[(c[610]|0)+468>>2]|0,2)|0)==0;b=c[610]|0;a=c[b+468>>2]|0;if(f)do{Td(a,2,a)|0;d=0-d|0;f=(Ud(c[(c[610]|0)+468>>2]|0,2)|0)==0;b=c[610]|0;a=c[b+468>>2]|0}while(f)}else while(1){c:do if(f){g=(Ud(c[(c[610]|0)+468>>2]|0,2)|0)==0;b=c[610]|0;a=c[b+468>>2]|0;if(!g)break b;Td(a,2,a)|0}else while(1){g=(Ud(c[(c[610]|0)+468>>2]|0,2)|0)==0;b=c[610]|0;a=c[b+468>>2]|0;if(!g)break b;Td(a,2,a)|0;switch(e|0){case 3:case 5:break c;default:{}}}while(0);d=0-d|0}while(0);if((wd(a,c[b+472>>2]|0)|0)<0){f=c[610]|0;b=f+468|0;g=c[b>>2]|0;c[b>>2]=c[f+472>>2];c[(c[610]|0)+472>>2]=g;g=Ud(c[(c[610]|0)+472>>2]|0,8)|0;b=g;d=((e|0)%4|0|0)==3&((g|0)%4|0|0)==3?0-d|0:d}else b=e;f=c[610]|0;g=c[f+468>>2]|0;Kd(g,c[f+472>>2]|0,g);g=c[(c[610]|0)+468>>2]|0;Td(g,2,g)|0;switch(b|0){case 3:case 5:{d=0-d|0;break}default:{}}if(!(vd(c[(c[610]|0)+468>>2]|0)|0))break a;else e=b}while(0);g=c[610]|0;f=g+28|0;c[f>>2]=(c[f>>2]|0)+-1;g=(vd(c[g+472>>2]|0)|0)==1;g=g?d:0;return g|0}function le(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+16|0;A=B;g=c[610]|0;if(c[g+552>>2]|0){f=0;i=B;return f|0}z=g+28|0;h=(c[z>>2]|0)+1|0;c[z>>2]=h;if((h|0)<24?(c[g+32+(h<<2)>>2]=30,(c[g+576>>2]|0)!=0):0){Zc();g=c[610]|0}rd(a,c[g+468>>2]|0);rd(b,c[(c[610]|0)+472>>2]|0);z=md(c[(c[610]|0)+468>>2]|0)|0;nd(1,c[(c[610]|0)+468>>2]|0);nd(1,c[(c[610]|0)+472>>2]|0);dd(1,c[(c[610]|0)+476>>2]|0);cd(c[(c[610]|0)+480>>2]|0);a:do if(!(vd(c[(c[610]|0)+472>>2]|0)|0))g=0;else{o=0;n=0;k=0;l=0;m=1;g=0;r=0;while(1){h=c[610]|0;j=c[h+468>>2]|0;if(!n){Yd(j,c[h+472>>2]|0,c[h+484>>2]|0);y=c[610]|0;w=y+468|0;x=c[w>>2]|0;c[w>>2]=c[y+472>>2];c[(c[610]|0)+472>>2]=x;x=c[610]|0;Xd(c[x+480>>2]|0,c[x+484>>2]|0,c[x+464>>2]|0);x=c[610]|0;w=c[x+476>>2]|0;Ld(w,c[x+464>>2]|0,w);w=c[610]|0;x=w+476|0;y=c[x>>2]|0;c[x>>2]=c[w+480>>2];c[(c[610]|0)+480>>2]=y;g=g+1|0}else{Qd(j,k,c[h+484>>2]|0);j=c[(c[610]|0)+468>>2]|0;Qd(j,o,j);j=c[610]|0;Qd(c[j+472>>2]|0,n,c[j+464>>2]|0);j=c[(c[610]|0)+472>>2]|0;Qd(j,l,j);j=c[610]|0;h=c[j+464>>2]|0;j=c[j+468>>2]|0;if(!m){Kd(h,j,j);x=c[610]|0;y=c[x+472>>2]|0;Kd(c[x+484>>2]|0,y,y)}else{Kd(j,h,j);x=c[610]|0;y=c[x+472>>2]|0;Kd(y,c[x+484>>2]|0,y)}j=c[610]|0;Qd(c[j+476>>2]|0,k,c[j+484>>2]|0);j=c[(c[610]|0)+476>>2]|0;Qd(j,o,j);j=c[610]|0;Qd(c[j+480>>2]|0,n,c[j+464>>2]|0);j=c[(c[610]|0)+480>>2]|0;Qd(j,l,j);j=c[610]|0;h=c[j+464>>2]|0;j=c[j+476>>2]|0;if(!o)rd(h,j);else Jd(j,h,j);x=c[610]|0;y=c[x+480>>2]|0;Jd(y,c[x+484>>2]|0,y)}h=c[610]|0;if(c[h+552>>2]|0)break a;if(!(vd(c[h+472>>2]|0)|0))break a;o=c[610]|0;h=c[o+468>>2]|0;n=c[h>>2]|0;do if((n|0)==1){k=c[c[h+4>>2]>>2]|0;l=0;h=c[c[(c[o+472>>2]|0)+4>>2]>>2]|0;j=0;r=1}else{q=n+-1|0;j=c[h+4>>2]|0;l=c[j+(q<<2)>>2]|0;p=l+1|0;h=c[o>>2]|0;m=(n|0)>2;if(h)if(m){x=n+-2|0;l=Wc(l,h,c[j+(x<<2)>>2]|0,p,A)|0;w=c[610]|0;j=c[w>>2]|0;l=xt(j|0,0,l|0,0)|0;k=D;y=n+-3|0;k=nt(Wc(c[A>>2]|0,j,c[(c[(c[w+468>>2]|0)+4>>2]|0)+(y<<2)>>2]|0,p,A)|0,0,l|0,k|0)|0;l=D;w=c[610]|0;j=c[(c[w+472>>2]|0)+4>>2]|0;j=Wc(c[j+(q<<2)>>2]|0,c[w>>2]|0,c[j+(x<<2)>>2]|0,p,A)|0;x=c[610]|0;w=c[x>>2]|0;j=xt(w|0,0,j|0,0)|0;h=D;h=nt(Wc(c[A>>2]|0,w,c[(c[(c[x+472>>2]|0)+4>>2]|0)+(y<<2)>>2]|0,p,A)|0,0,j|0,h|0)|0;j=D;break}else{k=xt(h|0,0,l|0,0)|0;r=n+-2|0;k=nt(c[j+(r<<2)>>2]|0,0,k|0,D|0)|0;l=D;j=c[(c[o+472>>2]|0)+4>>2]|0;h=xt(c[j+(q<<2)>>2]|0,0,h|0,0)|0;h=nt(h|0,D|0,c[j+(r<<2)>>2]|0,0)|0;j=D;r=1;break}h=n+-2|0;k=c[j+(h<<2)>>2]|0;if(m&(p|0)!=0){l=Xc(l,k,p,A)|0;y=n+-3|0;k=Xc(c[A>>2]|0,c[(c[(c[(c[610]|0)+468>>2]|0)+4>>2]|0)+(y<<2)>>2]|0,p,A)|0;j=c[(c[(c[610]|0)+472>>2]|0)+4>>2]|0;j=Xc(c[j+(q<<2)>>2]|0,c[j+(h<<2)>>2]|0,p,A)|0;m=r;h=Xc(c[A>>2]|0,c[(c[(c[(c[610]|0)+472>>2]|0)+4>>2]|0)+(y<<2)>>2]|0,p,A)|0}else{j=c[(c[o+472>>2]|0)+4>>2]|0;m=(n|0)==2?1:r;h=c[j+(h<<2)>>2]|0;j=c[j+(q<<2)>>2]|0}r=m}while(0);x=(r|0)==0;u=1;t=0;v=0;w=1;y=1;b:while(1){do if(x)if(!y){o=nt(h|0,j|0,v|0,0)|0;p=D;if(!o){h=u;j=t;k=v;l=w;m=0;break b}q=lt(h|0,j|0,w|0,0)|0;s=D;if(!q){h=u;j=t;k=v;l=w;m=0;break b}m=lt(k|0,l|0,u|0,0)|0;m=lt(m|0,D|0,o|0,p|0)|0;n=D;do if(!(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0)){m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(!(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0)){m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(!(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0)){m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=4;break}m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=5;break}m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=6;break}m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=7;break}m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=8;break}m=yt(m|0,n|0,o|0,p|0)|0;m=nt(m|0,D|0,8,0)|0;p=D;if(p>>>0>0|(p|0)==0&m>>>0>2147483647|(m|0)==0){h=u;j=t;k=v;l=w;m=0;break b}}else m=3}else m=2}else m=1;while(0);n=nt(k|0,l|0,t|0,0)|0;n=lt(n|0,D|0,q|0,s|0)|0;o=D;do if(!(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0)){n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0)n=2;else{n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=3;break}n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=4;break}n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=5;break}n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=6;break}n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=7;break}n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=8;break}n=yt(n|0,o|0,q|0,s|0)|0;n=nt(n|0,D|0,8,0)|0;s=D;n=s>>>0>0|(s|0)==0&n>>>0>2147483647?0:n}}else n=1;while(0);if((m|0)==(n|0)){q=82;break}else{h=u;j=t;k=v;l=w;m=0;break b}}else{o=lt(h|0,j|0,v|0,0)|0;p=D;if(!o){h=u;j=t;k=v;l=w;m=y;break b}q=nt(h|0,j|0,w|0,0)|0;s=D;if(!q){h=u;j=t;k=v;l=w;m=y;break b}m=nt(k|0,l|0,u|0,0)|0;m=lt(m|0,D|0,o|0,p|0)|0;n=D;do if(!(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0)){m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(!(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0)){m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(!(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0)){m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=4;break}m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=5;break}m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=6;break}m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=7;break}m=lt(m|0,n|0,o|0,p|0)|0;n=D;if(n>>>0

    >>0|(n|0)==(p|0)&m>>>0>>0){m=8;break}m=yt(m|0,n|0,o|0,p|0)|0;m=nt(m|0,D|0,8,0)|0;p=D;if(p>>>0>0|(p|0)==0&m>>>0>2147483647|(m|0)==0){h=u;j=t;k=v;l=w;m=y;break b}}else m=3}else m=2}else m=1;while(0);n=lt(k|0,l|0,t|0,0)|0;n=lt(n|0,D|0,q|0,s|0)|0;o=D;do if(!(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0)){n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0)n=2;else{n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=3;break}n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=4;break}n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=5;break}n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=6;break}n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=7;break}n=lt(n|0,o|0,q|0,s|0)|0;o=D;if(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0){n=8;break}n=yt(n|0,o|0,q|0,s|0)|0;n=nt(n|0,D|0,8,0)|0;s=D;n=s>>>0>0|(s|0)==0&n>>>0>2147483647?0:n}}else n=1;while(0);if((m|0)==(n|0)){q=82;break}else{h=u;j=t;k=v;l=w;m=y;break b}}else{if((h|0)==0&(j|0)==0){h=u;j=t;k=v;l=w;m=y;break b}m=lt(k|0,l|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=lt(m|0,n|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=lt(m|0,n|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=lt(m|0,n|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=lt(m|0,n|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=lt(m|0,n|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=lt(m|0,n|0,h|0,j|0)|0;n=D;if(!(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0)){m=lt(m|0,n|0,h|0,j|0)|0;n=D;if(n>>>0>>0|(n|0)==(j|0)&m>>>0>>0){m=8;q=84;break}m=yt(m|0,n|0,h|0,j|0)|0;m=nt(m|0,D|0,8,0)|0;s=D;if(s>>>0>0|(s|0)==0&m>>>0>2147483647|(m|0)==0){h=u;j=t;k=v;l=w;m=y;break b}else q=82}else{m=7;q=84}}else{m=6;q=84}}else{m=5;q=84}}else{m=4;q=84}}else{m=3;q=84}}else{m=2;q=84}}else q=83}while(0);if((q|0)==82)if((m|0)==1)q=83;else q=84;if((q|0)==83){m=w+t|0;if((m|0)<0){h=u;j=t;k=v;l=w;m=y;break}else{n=h;o=j;p=v}}else if((q|0)==84){if(m>>>0>=(((-2147483648-t|0)>>>0)/(w>>>0)|0)>>>0){h=u;j=t;k=v;l=w;m=y;break}p=$(m,v)|0;t=($(m,w)|0)+t|0;n=xt(m|0,0,h|0,j|0)|0;o=D;m=t}n=lt(k|0,l|0,n|0,o|0)|0;t=w;o=v;q=j;s=h;h=n;j=D;v=p+u|0;w=m;y=y^1;g=g+1|0;u=o;l=q;k=s}g=(g|0)%2|0;if(!(vd(c[(c[610]|0)+472>>2]|0)|0))break;else{o=h;n=j}}}while(0);if(((g+((z|0)==-1&1)|0)%2|0|0)==1){A=c[(c[610]|0)+476>>2]|0;Md(b,A,A)}if((d|0)!=(e|0)){sd(a,c[(c[610]|0)+472>>2]|0);A=c[610]|0;a=c[A+480>>2]|0;Zd(c[A+472>>2]|0,c[A+476>>2]|0,c[A+468>>2]|0,b,a,a);rd(c[(c[610]|0)+480>>2]|0,e)}rd(c[(c[610]|0)+476>>2]|0,d);if(!((f|0)==(d|0)|(f|0)==(e|0)))rd(c[(c[610]|0)+468>>2]|0,f);f=c[610]|0;e=f+28|0;c[e>>2]=(c[e>>2]|0)+-1;f=vd(c[f+468>>2]|0)|0;i=B;return f|0}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=213,(c[e+576>>2]|0)!=0):0)Zc();g=le(a,b,d,d,d)|0;d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return g|0}function ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(c[(c[610]|0)+552>>2]|0)return;dd(1,d);if(!b)return;e=c[610]|0;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=50,(c[e+576>>2]|0)!=0):0)Zc();if((b|0)<0){Yc(10);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}if((a|0)!=2){e=1;while(1)if(e>>>0>b>>>0)break;else e=e<<1;e=e>>>1;if(e)do{Xd(d,d,d);if(e&b)Rd(d,a,d);e=e>>>1}while((e|0)!=0)}else qe(b,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;rd(a,c[(c[610]|0)+484>>2]|0);cd(e);a=c[610]|0;if(c[a+552>>2]|0)return;if(!(vd(c[a+484>>2]|0)|0))return;dd(1,e);if(!b)return;a=c[610]|0;g=a+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[a+32+(f<<2)>>2]=17,(c[a+576>>2]|0)!=0):0)Zc();if((b|0)<0){Yc(10);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}a:do if((e|0)!=(d|0)){f=Wd(d,d)|0;Yd(c[(c[610]|0)+484>>2]|0,d,d);while(1){a=c[(c[610]|0)+20>>2]|0;if(a)tb[a&0]()|0;if(b&1){g=c[(c[610]|0)+484>>2]|0;Zd(e,g,g,d,d,e)}a=c[610]|0;if((b+1|0)>>>0<3|(c[a+552>>2]|0)!=0)break;g=c[a+484>>2]|0;Zd(g,g,g,d,d,g);b=(b|0)/2|0}if((f|0)!=1){Sd(d,f,d)|0;Yd(e,d,d);a=c[610]|0}}else while(1){if(b&1)Xd(e,c[(c[610]|0)+484>>2]|0,e);a=c[610]|0;if((b+1|0)>>>0<3|(c[a+552>>2]|0)!=0)break a;g=c[a+484>>2]|0;Xd(g,g,g);b=(b|0)/2|0}while(0);g=a+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function pe(a){a=a|0;var b=0,d=0,e=0;if(c[(c[610]|0)+552>>2]|0){a=0;return a|0}if(!(vd(a)|0)){a=0;return a|0}b=c[610]|0;e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=49,(c[b+576>>2]|0)!=0):0){Zc();e=c[610]|0}else e=b;if((c[e>>2]|0)==(c[e+16>>2]|0)){d=(c[a>>2]&2147483647)+-1|0;b=$(d,c[e+12>>2]|0)|0;d=c[(c[a+4>>2]|0)+(d<<2)>>2]|0;if(d)do{b=b+1|0;d=d>>>1}while((d|0)!=0)}else{rd(a,c[e+464>>2]|0);nd(1,c[(c[610]|0)+464>>2]|0);b=c[610]|0;d=c[b+464>>2]|0;if((c[d>>2]|0)>>>0>1){e=b;b=0;do{Sd(d,c[e+16>>2]|0,d)|0;e=c[610]|0;b=(c[e+12>>2]|0)+b|0;d=c[e+464>>2]|0}while((c[d>>2]|0)>>>0>1)}else{e=b;b=0}a=c[d+4>>2]|0;d=c[a>>2]|0;if(d){do{b=b+1|0;d=d>>>1}while((d|0)!=0);c[a>>2]=d}}a=e+28|0;c[a>>2]=(c[a>>2]|0)+-1;a=b;return a|0}function qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(c[(c[610]|0)+552>>2]|0)return;dd(1,b);if(!a)return;d=c[610]|0;f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=149,(c[d+576>>2]|0)!=0):0)Zc();if((a|0)<0){Yc(10);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}g=c[610]|0;e=c[g+12>>2]|0;f=(a|0)/(e|0)|0;e=(a|0)%(e|0)|0;d=c[g+16>>2]|0;if((c[g>>2]|0)==(d|0)){ud(b,f,b);g=b+4|0;f=$c(c[(c[g>>2]|0)+((c[b>>2]|0)+-1<<2)>>2]|0,e)|0;c[(c[g>>2]|0)+((c[b>>2]|0)+-1<<2)>>2]=f}else{if((f|0)>=1?(Qd(b,d,b),(f|0)!=1):0){d=1;do{d=d+1|0;Qd(b,c[(c[610]|0)+16>>2]|0,b)}while((d|0)!=(f|0))}Qd(b,$c(1,e)|0,b)}g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[610]|0;if(c[d+552>>2]|0)return;h=d+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=20,(c[d+576>>2]|0)!=0):0){Zc();d=c[610]|0}cd(c[d+464>>2]|0);g=0;do{h=g;g=g+1|0;c[c[(c[610]|0)+464>>2]>>2]=g;d=_c()|0;f=c[610]|0;e=c[f>>2]|0;if(e)d=(d>>>0)%(e>>>0)|0;c[(c[(c[f+464>>2]|0)+4>>2]|0)+(h<<2)>>2]=d}while((wd(c[(c[610]|0)+464>>2]|0,a)|0)<0);gd(c[(c[610]|0)+464>>2]|0);Yd(c[(c[610]|0)+464>>2]|0,a,a);rd(c[(c[610]|0)+464>>2]|0,b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;return}function se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[610]|0;if(c[e+552>>2]|0)return;h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=19,(c[e+576>>2]|0)!=0):0)Zc();if((b+-2|0)>>>0>254){Yc(1);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}while(1){ne(b,a,c[(c[610]|0)+468>>2]|0);re(c[(c[610]|0)+468>>2]|0,d);e=c[(c[610]|0)+468>>2]|0;Td(e,b,e)|0;e=c[610]|0;if(c[e+552>>2]|0)break;if((wd(d,c[e+468>>2]|0)|0)>=0){g=9;break}}if((g|0)==9)e=c[610]|0;h=e+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}function te(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[610]|0;if(c[b+552>>2]|0){a=0;return a|0}if((vd(c[b+312>>2]|0)|0)!=0?(wd(a,c[(c[610]|0)+312>>2]|0)|0)==0:0){a=c[(c[610]|0)+308>>2]|0;return a|0}b=c[610]|0;e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=80,(c[b+576>>2]|0)!=0):0)Zc();if((vd(a)|0)<3){Yc(19);a=(c[610]|0)+28|0;c[a>>2]=(c[a>>2]|0)+-1;a=0;return a|0}cd(c[(c[610]|0)+488>>2]|0);cd(c[(c[610]|0)+524>>2]|0);e=Ud(a,8)|0;b=c[610]|0;c[b+716>>2]=e;switch(e|0){case 6:case 4:case 2:case 1:case 0:{c[b+708>>2]=0;break}case 3:{c[b+708>>2]=-1;break}case 5:{c[b+708>>2]=-2;break}case 7:{c[b+708>>2]=-1;break}default:{}}d=Ud(a,9)|0;b=c[610]|0;c[b+720>>2]=d;d=b+724|0;c[d>>2]=0;e=a+4|0;if((c[(c[e>>2]|0)+((c[a>>2]|0)+-1<<2)>>2]|0)>>>0<1342177280)c[d>>2]=1;c[b+324>>2]=1;dd(1,c[b+532>>2]|0);b=c[610]|0;if(!(c[b+324>>2]|0)){rd(a,c[b+312>>2]|0);a=c[610]|0;c[a+308>>2]=0;a=a+28|0;c[a>>2]=(c[a>>2]|0)+-1;a=0;return a|0}d=c[b+488>>2]|0;c[d>>2]=2;f=c[d+4>>2]|0;c[f>>2]=0;c[f+4>>2]=1;f=c[b+524>>2]|0;c[f>>2]=1;c[c[f+4>>2]>>2]=c[c[e>>2]>>2];if((me(f,d,c[b+520>>2]|0)|0)==1){f=c[610]|0;c[f+308>>2]=(c[f>>2]|0)-(c[c[(c[f+520>>2]|0)+4>>2]>>2]|0);rd(a,c[f+312>>2]|0);f=c[610]|0;c[f+128>>2]=0;a=c[f+312>>2]|0;ud(a,c[a>>2]|0,c[f+316>>2]|0);f=c[610]|0;c[f+128>>2]=1;f=c[f+532>>2]|0;ue(f,f);f=c[610]|0;a=f+28|0;c[a>>2]=(c[a>>2]|0)+-1;f=c[f+308>>2]|0;return f|0}else{Yc(19);f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;f=0;return f|0}return 0}function ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[610]|0;if(c[d+552>>2]|0)return;f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=81,(c[d+576>>2]|0)!=0):0){Zc();d=c[610]|0}if(!(vd(c[d+312>>2]|0)|0)){Yc(20);f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}rd(a,b);f=c[(c[610]|0)+312>>2]|0;Yd(b,f,f);if((vd(b)|0)<0)Ld(b,c[(c[610]|0)+312>>2]|0,b);d=c[610]|0;if(!(c[d+324>>2]|0)){f=d+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}else{c[d+128>>2]=0;ud(b,c[c[d+312>>2]>>2]|0,c[d+464>>2]|0);a=c[610]|0;f=c[a+312>>2]|0;Yd(c[a+464>>2]|0,f,f);f=c[610]|0;c[f+128>>2]=1;rd(c[f+464>>2]|0,b);f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}}function ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+16|0;y=z;d=c[610]|0;if(c[d+552>>2]|0){i=z;return}x=d+28|0;e=(c[x>>2]|0)+1|0;c[x>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=82,(c[d+576>>2]|0)!=0):0){Zc();d=c[610]|0}w=c[d+464>>2]|0;x=c[d+312>>2]|0;t=c[d+308>>2]|0;rd(a,w);d=c[610]|0;if(!(c[d+324>>2]|0)){Yd(w,x,x);rd(w,b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;i=z;return}u=c[x>>2]|0;v=u<<1;d=c[d>>2]|0;a:do if(!d){e=w+4|0;if((u|0)>0){h=c[e>>2]|0;j=c[x+4>>2]|0;d=0;k=0;do{g=$(c[h+(k<<2)>>2]|0,t)|0;c[y>>2]=g;a=0;f=0;while(1){r=xt(c[j+(f<<2)>>2]|0,0,g|0,0)|0;r=nt(r|0,D|0,a|0,0)|0;s=h+(f+k<<2)|0;r=nt(r|0,D|0,c[s>>2]|0,0)|0;a=D;c[s>>2]=r;f=f+1|0;if((f|0)==(u|0))break;g=c[y>>2]|0}q=h+(k+u<<2)|0;s=(c[q>>2]|0)+d|0;r=s+a|0;c[q>>2]=r;d=r>>>0>>0?1:s>>>0>>0&1;k=k+1|0}while((k|0)!=(u|0))}else d=0}else{e=w+4|0;if((u|0)>0){s=x+4|0;g=c[e>>2]|0;a=d;d=0;f=0;while(1){Wc(c[g+(f<<2)>>2]|0,t,0,a,y)|0;m=c[s>>2]|0;q=c[e>>2]|0;r=c[610]|0;n=r+16|0;o=r+12|0;a=0;p=0;do{k=xt(c[m+(p<<2)>>2]|0,0,c[y>>2]|0,0)|0;k=nt(k|0,D|0,a|0,0)|0;j=q+(p+f<<2)|0;k=nt(k|0,D|0,c[j>>2]|0,0)|0;l=D;g=c[r>>2]|0;if((g|0)==(c[n>>2]|0)){a=ot(k|0,l|0,c[o>>2]|0)|0;h=0}else{a=yt(k|0,l|0,g|0,0)|0;h=0}h=xt(g|0,h|0,a|0,0)|0;l=lt(k|0,l|0,h|0,D|0)|0;c[j>>2]=l;p=p+1|0}while((p|0)!=(u|0));g=f+u|0;p=q+(g<<2)|0;d=a+d+(c[p>>2]|0)|0;c[p>>2]=d;a=c[r>>2]|0;if(d>>>0>>0)d=0;else{c[q+(g<<2)>>2]=d-a;d=1}f=f+1|0;if((f|0)==(u|0))break a;g=q;a=c[r>>2]|0}}else d=0}while(0);c[(c[e>>2]|0)+(v<<2)>>2]=d;c[w>>2]=v|1;ud(w,0-u|0,w);gd(w);if((wd(w,x)|0)>-1)Kd(w,x,w);rd(w,b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;i=z;return}function we(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[610]|0;if(c[f+552>>2]|0)return;h=f+28|0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=225,(c[f+576>>2]|0)!=0):0){Zc();f=c[610]|0}if((c[f+724>>2]|0)!=0?(c[f+708>>2]|0)==-1:0){Jd(a,b,c[f+468>>2]|0);f=c[610]|0;Jd(a,c[f+312>>2]|0,c[f+472>>2]|0);f=c[(c[610]|0)+472>>2]|0;Kd(f,b,f);Jd(a,a,d);xe(d,b,e);f=c[610]|0;xe(c[f+468>>2]|0,c[f+472>>2]|0,d);f=c[610]|0}else{g=c[f+468>>2]|0;if(!(c[f+552>>2]|0)){i=f+28|0;h=(c[i>>2]|0)+1|0;c[i>>2]=h;if((h|0)<24?(c[f+32+(h<<2)>>2]=90,(c[f+576>>2]|0)!=0):0)Zc();Jd(a,b,g);if((wd(g,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(g,c[(c[610]|0)+312>>2]|0,g);f=c[610]|0;i=f+28|0;c[i>>2]=(c[i>>2]|0)+-1}ze(a,b,c[f+472>>2]|0);f=c[610]|0;if((c[f+708>>2]|0)==-2){i=c[f+472>>2]|0;ze(i,b,i)}xe(a,b,e);f=c[610]|0;xe(c[f+468>>2]|0,c[f+472>>2]|0,d);f=c[610]|0;if((c[f+708>>2]|0)==-2?(c[f+552>>2]|0)==0:0){i=f+28|0;g=(c[i>>2]|0)+1|0;c[i>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=90,(c[f+576>>2]|0)!=0):0)Zc();Jd(d,e,d);if((wd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(d,c[(c[610]|0)+312>>2]|0,d);f=c[610]|0;i=f+28|0;c[i>>2]=(c[i>>2]|0)+-1}if(!(c[f+552>>2]|0)){i=f+28|0;g=(c[i>>2]|0)+1|0;c[i>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=90,(c[f+576>>2]|0)!=0):0)Zc();Jd(e,e,e);if((wd(e,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(e,c[(c[610]|0)+312>>2]|0,e);f=c[610]|0;i=f+28|0;c[i>>2]=(c[i>>2]|0)+-1}}i=f+28|0;c[i>>2]=(c[i>>2]|0)+-1;return}function xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=(a|0)==0;if(e){if(!d)return}else if((a|0)==(d|0)&(c[a>>2]|0)==0)return;if(!b){if(!d)return}else{f=(c[b>>2]|0)==0;if((b|0)==(d|0)&f)return;if(!e?!((c[a>>2]|0)==0|f):0){e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=83,(c[e+576>>2]|0)!=0):0){Zc();e=c[610]|0}c[e+128>>2]=0;Xd(a,b,c[e+464>>2]|0);ve(c[(c[610]|0)+464>>2]|0,d);g=c[610]|0;c[g+128>>2]=1;g=g+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}}cd(d);return}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=90,(c[e+576>>2]|0)!=0):0)Zc();Jd(a,b,d);if((wd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(d,c[(c[610]|0)+312>>2]|0,d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=91,(c[e+576>>2]|0)!=0):0)Zc();if((wd(a,b)|0)>-1)Kd(a,b,d);else{Kd(b,a,d);Kd(c[(c[610]|0)+312>>2]|0,d,d)}g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function Ae(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[610]|0;if(c[h+552>>2]|0)return;c[h+128>>2]=0;l=h+28|0;i=(c[l>>2]|0)+1|0;c[l>>2]=i;if((i|0)<24?(c[h+32+(i<<2)>>2]=151,(c[h+576>>2]|0)!=0):0){Zc();h=c[610]|0}Xd(a,d,c[h+464>>2]|0);Xd(b,e,c[(c[610]|0)+484>>2]|0);h=c[610]|0;if((c[h+724>>2]|0)!=0?(c[h+708>>2]|0)==-1:0){Jd(c[h+464>>2]|0,c[h+484>>2]|0,c[h+488>>2]|0);Jd(a,b,c[(c[610]|0)+468>>2]|0);Jd(d,e,c[(c[610]|0)+472>>2]|0);h=c[610]|0}else{i=c[h+464>>2]|0;j=c[h+484>>2]|0;k=c[h+488>>2]|0;if(!(c[h+552>>2]|0)){n=h+28|0;l=(c[n>>2]|0)+1|0;c[n>>2]=l;if((l|0)<24?(c[h+32+(l<<2)>>2]=153,(c[h+576>>2]|0)!=0):0)Zc();Jd(i,j,k);if((wd(k,c[(c[610]|0)+316>>2]|0)|0)>-1)Kd(k,c[(c[610]|0)+316>>2]|0,k);h=c[610]|0;n=h+28|0;c[n>>2]=(c[n>>2]|0)+-1}if((c[h+708>>2]|0)==-2?(m=c[h+484>>2]|0,(c[h+552>>2]|0)==0):0){n=h+28|0;i=(c[n>>2]|0)+1|0;c[n>>2]=i;if((i|0)<24?(c[h+32+(i<<2)>>2]=153,(c[h+576>>2]|0)!=0):0)Zc();Jd(m,m,m);if((wd(m,c[(c[610]|0)+316>>2]|0)|0)>-1)Kd(m,c[(c[610]|0)+316>>2]|0,m);h=c[610]|0;n=h+28|0;c[n>>2]=(c[n>>2]|0)+-1}j=c[h+468>>2]|0;if(!(c[h+552>>2]|0)){n=h+28|0;i=(c[n>>2]|0)+1|0;c[n>>2]=i;if((i|0)<24?(c[h+32+(i<<2)>>2]=90,(c[h+576>>2]|0)!=0):0)Zc();Jd(a,b,j);if((wd(j,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(j,c[(c[610]|0)+312>>2]|0,j);h=c[610]|0;i=h+28|0;c[i>>2]=(c[i>>2]|0)+-1;i=c[h+472>>2]|0;if(!(c[h+552>>2]|0)){n=h+28|0;j=(c[n>>2]|0)+1|0;c[n>>2]=j;if((j|0)<24?(c[h+32+(j<<2)>>2]=90,(c[h+576>>2]|0)!=0):0)Zc();Jd(d,e,i);if((wd(i,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(i,c[(c[610]|0)+312>>2]|0,i);h=c[610]|0;n=h+28|0;c[n>>2]=(c[n>>2]|0)+-1}}}n=c[h+464>>2]|0;Be(n,c[h+484>>2]|0,n);ve(c[(c[610]|0)+464>>2]|0,f);h=c[610]|0;Xd(c[h+468>>2]|0,c[h+472>>2]|0,c[h+464>>2]|0);h=c[610]|0;if((c[h+724>>2]|0)!=0?(c[h+708>>2]|0)==-1:0){n=c[h+464>>2]|0;Kd(n,c[h+488>>2]|0,n)}else{n=c[h+464>>2]|0;Be(n,c[h+488>>2]|0,n)}ve(c[(c[610]|0)+464>>2]|0,g);n=c[610]|0;g=n+28|0;c[g>>2]=(c[g>>2]|0)+-1;c[n+128>>2]=1;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0)return;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=154,(c[e+576>>2]|0)!=0):0)Zc();if((wd(a,b)|0)>-1)Kd(a,b,d);else{Kd(b,a,d);Kd(c[(c[610]|0)+316>>2]|0,d,d)}g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[610]|0;f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=198,(c[d+576>>2]|0)!=0):0){Zc();d=c[610]|0}rd(a,c[d+468>>2]|0);if(Ud(c[(c[610]|0)+468>>2]|0,2)|0){a=c[610]|0;f=c[a+468>>2]|0;Ld(f,c[a+312>>2]|0,f)}f=c[(c[610]|0)+468>>2]|0;Td(f,2,f)|0;rd(c[(c[610]|0)+468>>2]|0,b);f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}function De(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[610]|0;if(c[e+552>>2]|0){a=0;return a|0}g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=85,(c[e+576>>2]|0)!=0):0)Zc();if((a|0)==(b|0)){Yc(7);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=0;return g|0}ve(b,c[(c[610]|0)+488>>2]|0);g=c[610]|0;e=c[g+488>>2]|0;e=me(e,c[g+312>>2]|0,e)|0;if((e|0)==1){g=c[(c[610]|0)+488>>2]|0;ue(g,g);xe(a,c[(c[610]|0)+488>>2]|0,d)}else cd(d);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=e;return g|0}function Ee(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!b){cd(d);return}g=(b|0)<0;b=g?0-b|0:b;e=c[610]|0;if(c[e+552>>2]|0)return;h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=102,(c[e+576>>2]|0)!=0):0)Zc();if((b|0)>=7){Qd(a,b,c[(c[610]|0)+464>>2]|0);a=c[610]|0;h=c[a+312>>2]|0;Yd(c[a+464>>2]|0,h,h);rd(c[(c[610]|0)+464>>2]|0,d);do if(g){if(!(vd(d)|0)){cd(d);break}b=c[610]|0;if(!(c[b+552>>2]|0)){h=b+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[b+32+(e<<2)>>2]=92,(c[b+576>>2]|0)!=0):0){Zc();b=c[610]|0}Kd(c[b+312>>2]|0,d,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}}while(0);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}switch(b|0){case 1:{rd(a,d);break}case 2:{b=c[610]|0;if(!(c[b+552>>2]|0)){h=b+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[b+32+(e<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)Zc();Jd(a,a,d);if((wd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(d,c[(c[610]|0)+312>>2]|0,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}break}case 3:{b=c[610]|0;e=c[b+464>>2]|0;if(!(c[b+552>>2]|0)){h=b+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[b+32+(f<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)Zc();Jd(a,a,e);if((wd(e,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(e,c[(c[610]|0)+312>>2]|0,e);e=c[610]|0;b=e+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=c[e+464>>2]|0;if(!(c[e+552>>2]|0)){h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=90,(c[e+576>>2]|0)!=0):0)Zc();Jd(a,b,d);if((wd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(d,c[(c[610]|0)+312>>2]|0,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}}break}case 4:{b=c[610]|0;if(!(c[b+552>>2]|0)){h=b+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[b+32+(e<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)Zc();Jd(a,a,d);if((wd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(d,c[(c[610]|0)+312>>2]|0,d);b=c[610]|0;h=b+28|0;c[h>>2]=(c[h>>2]|0)+-1;if(!(c[b+552>>2]|0)){h=b+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[b+32+(e<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)Zc();Jd(d,d,d);if((wd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(d,c[(c[610]|0)+312>>2]|0,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}}break}case 5:{b=c[610]|0;e=c[b+464>>2]|0;if(!(c[b+552>>2]|0)){h=b+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[b+32+(f<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)Zc();Jd(a,a,e);if((wd(e,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(e,c[(c[610]|0)+312>>2]|0,e);e=c[610]|0;b=e+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=c[e+464>>2]|0;if(!(c[e+552>>2]|0)){h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=90,(c[e+576>>2]|0)!=0):0)Zc();Jd(b,b,b);if((wd(b,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(b,c[(c[610]|0)+312>>2]|0,b);e=c[610]|0;b=e+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=c[e+464>>2]|0;if(!(c[e+552>>2]|0)){h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=90,(c[e+576>>2]|0)!=0):0)Zc();Jd(a,b,d);if((wd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(d,c[(c[610]|0)+312>>2]|0,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}}}break}case 6:{b=c[610]|0;if(!(c[b+552>>2]|0)){h=b+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[b+32+(e<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)Zc();Jd(a,a,d);if((wd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(d,c[(c[610]|0)+312>>2]|0,d);b=c[610]|0;e=b+28|0;c[e>>2]=(c[e>>2]|0)+-1;e=c[b+464>>2]|0;if(!(c[b+552>>2]|0)){h=b+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[b+32+(f<<2)>>2]=90,(c[b+576>>2]|0)!=0):0)Zc();Jd(d,d,e);if((wd(e,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(e,c[(c[610]|0)+312>>2]|0,e);e=c[610]|0;b=e+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=c[e+464>>2]|0;if(!(c[e+552>>2]|0)){h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=90,(c[e+576>>2]|0)!=0):0)Zc();Jd(d,b,d);if((wd(d,c[(c[610]|0)+312>>2]|0)|0)>-1)Kd(d,c[(c[610]|0)+312>>2]|0,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}}}break}default:{}}do if(g){if(!(vd(d)|0)){cd(d);break}b=c[610]|0;if(!(c[b+552>>2]|0)){h=b+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[b+32+(e<<2)>>2]=92,(c[b+576>>2]|0)!=0):0){Zc();b=c[610]|0}Kd(c[b+312>>2]|0,d,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}}while(0);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}function Fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(!a){b=1;return b|0}if((a|0)<0){b=0;return b|0}e=c[610]|0;g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=118,(c[e+576>>2]|0)!=0):0)Zc();if((b|0)==(d|0)){Yc(7);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=0;return g|0}if((a|0)==1){rd(c[(c[610]|0)+532>>2]|0,c[d>>2]|0);g=c[d>>2]|0;De(g,c[b>>2]|0,g)|0;g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=1;return g|0}dd(1,c[d>>2]|0);rd(c[b>>2]|0,c[d+4>>2]|0);if((a|0)>2){e=2;do{g=e+-1|0;xe(c[d+(g<<2)>>2]|0,c[b+(g<<2)>>2]|0,c[d+(e<<2)>>2]|0);e=e+1|0}while((e|0)!=(a|0))}f=a+-1|0;e=d+(f<<2)|0;f=b+(f<<2)|0;xe(c[e>>2]|0,c[f>>2]|0,c[(c[610]|0)+488>>2]|0);if(!(vd(c[(c[610]|0)+488>>2]|0)|0)){Yc(2);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=0;return g|0}h=c[(c[610]|0)+488>>2]|0;ve(h,h);h=c[(c[610]|0)+488>>2]|0;ve(h,h);h=c[610]|0;g=c[h+488>>2]|0;me(g,c[h+312>>2]|0,g)|0;rd(c[f>>2]|0,c[(c[610]|0)+484>>2]|0);e=c[e>>2]|0;xe(e,c[(c[610]|0)+488>>2]|0,e);e=a+-2|0;if(e)do{h=d+(e<<2)|0;g=c[h>>2]|0;xe(g,c[(c[610]|0)+484>>2]|0,g);h=c[h>>2]|0;xe(h,c[(c[610]|0)+488>>2]|0,h);h=c[(c[610]|0)+484>>2]|0;xe(h,c[b+(e<<2)>>2]|0,h);e=e+-1|0}while((e|0)!=0);h=c[610]|0;xe(c[h+484>>2]|0,c[h+488>>2]|0,c[d>>2]|0);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;h=1;return h|0} +function aj(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(Gh()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)Ai(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}while(0);do if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}while(0);e:do if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1;while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[25803+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}fj(ba,s,g)}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=ot(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=26283;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=26283;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=lt(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=26283;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?26283:26285;L=76}else{p=1;s=26284;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=26283;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=26283;n=N;break}case 109:{n=Hh(c[(Gh()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:26293;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){hj(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?26301:26306}else{G=1;H=26303}else{q=-q;G=1;H=26300}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+_h(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v;while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=gj(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[26267+H>>0]|w;q=(q-+(H|0))*16.0;do if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;hj(e,32,K,p,I);if(!(c[e>>2]&32))Ai(y,x,e)|0;hj(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))Ai(da,n,e)|0;o=_-t|0;hj(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))Ai(t,o,e)|0;hj(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0>>0)r=s;else{o=0;do{B=qt(c[r>>2]|0,0,t|0)|0;B=nt(B|0,D|0,o|0,0)|0;o=D;A=zt(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=yt(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do if(w>>>0

    >>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=$(B&o,s)|0;t=t+4|0}while(t>>>0

    >>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do if(w>>>0

    >>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0;while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}while(0);do if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9;while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8;while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=gj(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;hj(e,32,K,y,I);if(!(c[e>>2]&32))Ai(H,G,e)|0;hj(e,48,K,y,I^65536);do if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=gj(c[o>>2]|0,0,R)|0;do if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}while(0);if(!(c[e>>2]&32))Ai(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(x){if(c[e>>2]&32)break;Ai(26335,1,e)|0}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=gj(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))Ai(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}hj(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=gj(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))Ai(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}Ai(26335,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}while(0);p=S-o|0;if(!(c[e>>2]&32))Ai(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}hj(e,48,n+18|0,18,0);if(c[e>>2]&32)break;Ai(u,_-u|0,e)|0}while(0);hj(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;hj(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){Ai(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))Ai(s?(t?26327:26331):t?26319:26323,3,e)|0;hj(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=26283;n=N}}while(0);g:do if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[26267+(o&15)>>0]|s;o=ot(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=26283;L=77}else{o=t;t=2;s=26283+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=26283;L=77}}else if((L|0)==76){n=gj(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=Oi(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=26283;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=ki(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}hj(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=ki(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))Ai(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}while(0);if((L|0)==98){L=0;hj(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;hj(e,32,n,r,p);if(!(c[e>>2]&32))Ai(u,t,e)|0;hj(e,48,n,r,p^65536);hj(e,48,o,s,0);if(!(c[e>>2]&32))Ai(w,s,e)|0;hj(e,32,n,r,p^8192);w=J}h:do if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;fj(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0;while(0);i=ha;return m|0}function bj(a,b,c){a=a|0;b=b|0;c=c|0;return ti(a,b,c)|0}function cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+112|0;h=j;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;Kh(h,0);e=+Ih(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b)c[b>>2]=(d|0)!=0?a+d|0:a;i=j;return +e}function dj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+112|0;j=k;c[j>>2]=0;g=j+4|0;c[g>>2]=a;c[j+44>>2]=a;h=j+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[j+76>>2]=-1;Kh(j,0);e=Jh(j,d,1,e,f)|0;if(b)c[b>>2]=a+((c[g>>2]|0)+(c[j+108>>2]|0)-(c[h>>2]|0));i=k;return e|0}function ej(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;pt(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function gj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=zt(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=yt(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function hj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;mt(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){Ai(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;Ai(h,f,a)|0}while(0);i=j;return}function ij(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[1919]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=7716+(e<<2)|0;e=7716+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[1923]|0)>>>0)Aa();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Aa()}else c[1919]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[1921]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=7716+(e<<2)|0;e=7716+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[1923]|0)>>>0)Aa();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[1921]|0;break}else Aa()}else{c[1919]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[1924]|0;d=k>>>3;b=d<<1;e=7716+(b<<2)|0;a=c[1919]|0;d=1<>2]|0;if(b>>>0<(c[1923]|0)>>>0)Aa();else{l=a;m=b}}else{c[1919]=a|d;l=7716+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[1921]=h;c[1924]=i;M=j;return M|0}a=c[1920]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[7980+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[1923]|0;if(e>>>0>>0)Aa();i=e+o|0;if(e>>>0>=i>>>0)Aa();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Aa();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Aa();b=f+12|0;if((c[b>>2]|0)!=(e|0))Aa();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Aa()}while(0);do if(h){b=c[e+28>>2]|0;a=7980+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[1923]|0;if(n>>>0>>0)Aa();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Aa();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[1923]|0)>>>0)Aa();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[1921]|0;if(b){g=c[1924]|0;d=b>>>3;b=d<<1;f=7716+(b<<2)|0;a=c[1919]|0;d=1<>2]|0;if(a>>>0<(c[1923]|0)>>>0)Aa();else{p=b;q=a}}else{c[1919]=a|d;p=7716+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[1921]=j;c[1924]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[1920]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[7980+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[7980+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[1921]|0)-m|0)>>>0:0){f=c[1923]|0;if(j>>>0>>0)Aa();h=j+m|0;if(j>>>0>=h>>>0)Aa();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Aa();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Aa();b=e+12|0;if((c[b>>2]|0)!=(j|0))Aa();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Aa()}while(0);do if(g){b=c[j+28>>2]|0;a=7980+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[1923]|0;if(o>>>0>>0)Aa();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Aa();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[1923]|0)>>>0)Aa();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=7716+(a<<2)|0;d=c[1919]|0;b=1<>2]|0;if(a>>>0<(c[1923]|0)>>>0)Aa();else{s=b;t=a}}else{c[1919]=d|b;s=7716+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=7980+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[1920]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[1923]|0)>>>0)Aa();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[1923]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Aa()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[1921]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[1924]|0;if(b>>>0>15){c[1924]=a+q;c[1921]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[1921]=0;c[1924]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[1922]|0;if(a>>>0>q>>>0){L=a-q|0;c[1922]=L;M=c[1925]|0;c[1925]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[2037]|0)){a=Qa(30)|0;if(!(a+-1&a)){c[2039]=a;c[2038]=a;c[2040]=-1;c[2041]=-1;c[2042]=0;c[2030]=0;c[2037]=(gb(0)|0)&-16^1431655768;break}else Aa()}while(0);j=q+48|0;i=c[2039]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[2029]|0;if((a|0)!=0?(t=c[2027]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[2030]&4)){a=c[1925]|0;e:do if(a){f=8124;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[1922]|0)&i;if(d>>>0<2147483647){f=La(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=La(0)|0;if((g|0)!=(-1|0)){a=g;d=c[2038]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[2027]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[2029]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=La(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[2039]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((La(u|0)|0)==(-1|0)){La(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[2030]=c[2030]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=La(l|0)|0,x=La(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[2027]|0)+p|0;c[2027]=a;if(a>>>0>(c[2028]|0)>>>0)c[2028]=a;h=c[1925]|0;g:do if(h){g=8124;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[1922]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[1925]=h+L;c[1922]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[1926]=c[2041];break}a=c[1923]|0;if(w>>>0>>0){c[1923]=w;a=w}d=w+p|0;g=8124;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=8124;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[1924]|0)){M=(c[1921]|0)+l|0;c[1921]=M;c[1924]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Aa();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Aa();a=f+12|0;if((c[a>>2]|0)!=(b|0))Aa();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Aa()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=7980+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[1923]|0)>>>0)Aa();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[1920]=c[1920]&~(1<>>0>>0)Aa();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Aa();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[1923]|0)>>>0)Aa();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=7716+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Aa();if((c[e+12>>2]|0)==(b|0))break;Aa()}while(0);if((f|0)==(e|0)){c[1919]=c[1919]&~(1<>>0>>0)Aa();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Aa()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=7716+(a<<2)|0;d=c[1919]|0;b=1<>2]|0;if(a>>>0>=(c[1923]|0)>>>0){K=b;L=a;break}Aa()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=7980+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[1920]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[1923]|0)>>>0)Aa();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[1923]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Aa()}else{M=(c[1922]|0)+l|0;c[1922]=M;c[1925]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=8124;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[1925]=w+d;c[1922]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[1926]=c[2041];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2031];c[b+4>>2]=c[2032];c[b+8>>2]=c[2033];c[b+12>>2]=c[2034];c[2031]=w;c[2032]=p;c[2034]=0;c[2033]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=7716+(a<<2)|0;d=c[1919]|0;b=1<>2]|0;if(a>>>0<(c[1923]|0)>>>0)Aa();else{G=b;H=a}}else{c[1919]=d|b;G=7716+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=7980+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[1920]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[1923]|0)>>>0)Aa();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[1923]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Aa()}}else{M=c[1923]|0;if((M|0)==0|w>>>0>>0)c[1923]=w;c[2031]=w;c[2032]=p;c[2034]=0;c[1928]=c[2037];c[1927]=-1;b=0;do{M=b<<1;L=7716+(M<<2)|0;c[7716+(M+3<<2)>>2]=L;c[7716+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[1925]=w+M;c[1922]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[1926]=c[2041]}while(0);b=c[1922]|0;if(b>>>0>q>>>0){L=b-q|0;c[1922]=L;M=c[1925]|0;c[1925]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(Gh()|0)>>2]=12;M=0;return M|0}function jj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[1923]|0;if(b>>>0>>0)Aa();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Aa();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Aa();if((l|0)==(c[1924]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[1921]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=7716+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Aa();if((c[e+12>>2]|0)!=(l|0))Aa()}if((d|0)==(e|0)){c[1919]=c[1919]&~(1<>>0>>0)Aa();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Aa()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Aa();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Aa();b=f+12|0;if((c[b>>2]|0)!=(l|0))Aa();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Aa()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=7980+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[1923]|0;if(k>>>0>>0)Aa();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Aa();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[1923]|0)>>>0)Aa();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Aa();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Aa();if(!(d&2)){if((q|0)==(c[1925]|0)){t=(c[1922]|0)+g|0;c[1922]=t;c[1925]=u;c[u+4>>2]=t|1;if((u|0)!=(c[1924]|0))return;c[1924]=0;c[1921]=0;return}if((q|0)==(c[1924]|0)){t=(c[1921]|0)+g|0;c[1921]=t;c[1924]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[1923]|0)>>>0)Aa();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[1923]|0)>>>0)Aa();e=d+12|0;if((c[e>>2]|0)!=(q|0))Aa();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Aa()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=7980+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[1923]|0;if(p>>>0>>0)Aa();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Aa();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[1923]|0)>>>0)Aa();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=7716+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[1923]|0)>>>0)Aa();if((c[e+12>>2]|0)!=(q|0))Aa()}if((d|0)==(e|0)){c[1919]=c[1919]&~(1<>>0<(c[1923]|0)>>>0)Aa();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Aa()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[1924]|0)){c[1921]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=7716+(d<<2)|0;e=c[1919]|0;b=1<>2]|0;if(d>>>0<(c[1923]|0)>>>0)Aa();else{r=b;s=d}}else{c[1919]=e|b;r=7716+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=7980+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[1920]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[1923]|0)>>>0)Aa();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[1923]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Aa()}else{c[1920]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[1927]|0)+-1|0;c[1927]=u;if(!u)b=8132;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[1927]=-1;return}function kj(a,b){a=a|0;b=b|0;var d=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=ij(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;mt(b|0,0,d|0)|0;return b|0}function lj(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=ij(b)|0;return a|0}if(b>>>0>4294967231){c[(Gh()|0)>>2]=12;a=0;return a|0}d=mj(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=ij(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;pt(d|0,a|0,(e>>>0>>0?e:b)|0)|0;jj(a);a=d;return a|0}function mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[1923]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Aa();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Aa();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[2039]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;nj(a+b|0,d);return a|0}if((l|0)==(c[1925]|0)){d=(c[1922]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[1925]=a+b;c[1922]=n;return a|0}if((l|0)==(c[1924]|0)){e=(c[1921]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[1921]=d;c[1924]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Aa();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Aa();d=f+12|0;if((c[d>>2]|0)!=(l|0))Aa();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Aa()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=7980+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[1923]|0;if(k>>>0>>0)Aa();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Aa();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[1923]|0)>>>0)Aa();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=7716+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Aa();if((c[f+12>>2]|0)!=(l|0))Aa()}if((e|0)==(f|0)){c[1919]=c[1919]&~(1<>>0>>0)Aa();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Aa()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;nj(a+b|0,n);return a|0}return 0}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[1923]|0;if(n>>>0>>0)Aa();if((n|0)==(c[1924]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[1921]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=7716+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Aa();if((c[f+12>>2]|0)!=(n|0))Aa()}if((e|0)==(f|0)){c[1919]=c[1919]&~(1<>>0>>0)Aa();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Aa()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Aa();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Aa();d=g+12|0;if((c[d>>2]|0)!=(n|0))Aa();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Aa()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=7980+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[1923]|0;if(l>>>0>>0)Aa();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Aa();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[1923]|0)>>>0)Aa();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[1923]|0;if(q>>>0>>0)Aa();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[1925]|0)){s=(c[1922]|0)+h|0;c[1922]=s;c[1925]=t;c[t+4>>2]=s|1;if((t|0)!=(c[1924]|0))return;c[1924]=0;c[1921]=0;return}if((q|0)==(c[1924]|0)){s=(c[1921]|0)+h|0;c[1921]=s;c[1924]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Aa();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Aa();d=g+12|0;if((c[d>>2]|0)!=(q|0))Aa();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Aa()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=7980+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[1920]=c[1920]&~(1<>>0<(c[1923]|0)>>>0)Aa();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[1923]|0;if(p>>>0>>0)Aa();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Aa();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[1923]|0)>>>0)Aa();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=7716+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Aa();if((c[f+12>>2]|0)!=(q|0))Aa()}if((e|0)==(f|0)){c[1919]=c[1919]&~(1<>>0>>0)Aa();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Aa()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[1924]|0)){c[1921]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=7716+(e<<2)|0;f=c[1919]|0;d=1<>2]|0;if(e>>>0<(c[1923]|0)>>>0)Aa();else{r=d;s=e}}else{c[1919]=f|d;r=7716+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=7980+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[1920]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[1923]|0)>>>0)Aa();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[1923]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Aa();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function oj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[1022]|0;qj(8852,b,8908);c[2043]=9600;c[2045]=9620;c[2044]=0;e=c[2397]|0;uk(8172+e|0,8852);c[8172+(e+72)>>2]=0;c[8172+(e+76)>>2]=-1;e=c[1023]|0;rj(8956,e,8916);c[2065]=9680;c[2066]=9700;h=c[2417]|0;uk(8260+h|0,8956);f=h+72|0;c[8260+f>>2]=0;a=h+76|0;c[8260+a>>2]=-1;d=c[1021]|0;rj(9004,d,8924);c[2086]=9680;c[2087]=9700;uk(8344+h|0,9004);c[8344+f>>2]=0;c[8344+a>>2]=-1;g=c[8344+((c[(c[2086]|0)+-12>>2]|0)+24)>>2]|0;c[2107]=9680;c[2108]=9700;uk(8428+h|0,g);c[8428+f>>2]=0;c[8428+a>>2]=-1;c[8172+((c[(c[2043]|0)+-12>>2]|0)+72)>>2]=8260;a=8344+((c[(c[2086]|0)+-12>>2]|0)+4)|0;c[a>>2]=c[a>>2]|8192;c[8344+((c[(c[2086]|0)+-12>>2]|0)+72)>>2]=8260;sj(9052,b,8932);c[2128]=9640;c[2130]=9660;c[2129]=0;b=c[2407]|0;uk(8512+b|0,9052);c[8512+(b+72)>>2]=0;c[8512+(b+76)>>2]=-1;tj(9108,e,8940);c[2150]=9720;c[2151]=9740;e=c[2427]|0;uk(8600+e|0,9108);b=e+72|0;c[8600+b>>2]=0;a=e+76|0;c[8600+a>>2]=-1;tj(9156,d,8948);c[2171]=9720;c[2172]=9740;uk(8684+e|0,9156);c[8684+b>>2]=0;c[8684+a>>2]=-1;d=c[8684+((c[(c[2171]|0)+-12>>2]|0)+24)>>2]|0;c[2192]=9720;c[2193]=9740;uk(8768+e|0,d);c[8768+b>>2]=0;c[8768+a>>2]=-1;c[8512+((c[(c[2128]|0)+-12>>2]|0)+72)>>2]=8600;a=8684+((c[(c[2171]|0)+-12>>2]|0)+4)|0;c[a>>2]=c[a>>2]|8192;c[8684+((c[(c[2171]|0)+-12>>2]|0)+72)>>2]=8600;return}function pj(a){a=a|0;dl(8260)|0;dl(8428)|0;jl(8600)|0;jl(8768)|0;return}function qj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;xk(b);c[b>>2]=9404;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Jp(h,b+4|0);c[g>>2]=c[h>>2];Mj(b,g);Kp(g);i=f;return}function rj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;xk(b);c[b>>2]=9340;c[b+32>>2]=d;Jp(h,b+4|0);c[g>>2]=c[h>>2];d=Mp(g,10928)|0;Kp(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(xb[c[(c[d>>2]|0)+28>>2]&63](d)|0)&1;i=f;return}function sj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;Mk(b);c[b>>2]=9276;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=-1;a[b+52>>0]=0;Jp(h,b+4|0);c[g>>2]=c[h>>2];Bj(b,g);Kp(g);i=f;return}function tj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;Mk(b);c[b>>2]=9212;c[b+32>>2]=d;Jp(h,b+4|0);c[g>>2]=c[h>>2];d=Mp(g,10936)|0;Kp(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(xb[c[(c[d>>2]|0)+28>>2]&63](d)|0)&1;i=f;return}function uj(){oj(0);ab(107,26337,n|0)|0;return}function vj(){return}function wj(a){a=a|0;Kk(a);of(a);return}function xj(b,d){b=b|0;d=d|0;xb[c[(c[b>>2]|0)+24>>2]&63](b)|0;d=Mp(d,10936)|0;c[b+36>>2]=d;a[b+44>>0]=(xb[c[(c[d>>2]|0)+28>>2]&63](d)|0)&1;return}function yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Fb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Bi(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((xi(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function zj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do if(!(a[b+44>>0]|0))if((e|0)>0){f=d;d=0;while(1){if((Db[c[(c[b>>2]|0)+52>>2]&31](b,c[f>>2]|0)|0)==-1)break a;d=d+1|0;if((d|0)<(e|0))f=f+4|0;else break}}else d=0;else d=Bi(d,4,e,c[b+32>>2]|0)|0;while(0);return d|0}function Aj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do if(!q){c[e>>2]=d;if(a[b+44>>0]|0)if((Bi(e,4,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;l=e+4|0;m=b+36|0;g=b+40|0;h=p+8|0;j=p;k=b+32|0;while(1){b=c[m>>2]|0;b=Ab[c[(c[b>>2]|0)+12>>2]&15](b,c[g>>2]|0,e,l,n,p,h,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-j|0;if((Bi(p,1,b,c[k>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Bi(e,1,1,c[k>>2]|0)|0)!=1)e=-1;else r=11}else r=11;while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function Bj(b,d){b=b|0;d=d|0;var e=0,f=0;f=Mp(d,10936)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=xb[c[(c[f>>2]|0)+24>>2]&63](f)|0;e=c[e>>2]|0;a[b+53>>0]=(xb[c[(c[e>>2]|0)+28>>2]&63](e)|0)&1;return}function Cj(a){a=a|0;Kk(a);of(a);return}function Dj(a){a=a|0;return Gj(a,0)|0}function Ej(a){a=a|0;return Gj(a,1)|0}function Fj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+8|0;f=m+4|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do if(e){c[f>>2]=c[j>>2];e=c[b+36>>2]|0;switch(Ab[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((Fi(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}while(0);c[j>>2]=d;a[h>>0]=1}while(0);i=m;return d|0}function Gj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+32|0;q=r+16|0;p=r+8|0;m=r+4|0;n=r;g=b+52|0;a:do if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=-1;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;if((e|0)>0){g=0;do{f=Ci(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[q+g>>0]=f;g=g+1|0}while((g|0)<(e|0))}b:do if(!(a[b+53>>0]|0)){j=b+40|0;k=b+36|0;l=p+4|0;c:while(1){s=c[j>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[k>>2]|0;h=q+e|0;switch(Ab[c[(c[t>>2]|0)+16>>2]&15](t,s,q,h,m,p,l,n)|0){case 2:{e=-1;break a}case 3:break c;case 1:break;default:break b}t=c[j>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){e=-1;break a}f=Ci(c[o>>2]|0)|0;if((f|0)==-1){e=-1;break a}a[h>>0]=f;e=e+1|0}c[p>>2]=a[q>>0]}else c[p>>2]=a[q>>0];while(0);if(d){e=c[p>>2]|0;c[b+48>>2]=e;break}while(1){if((e|0)<=0)break;e=e+-1|0;if((Fi(a[q+e>>0]|0,c[o>>2]|0)|0)==-1){e=-1;break a}}e=c[p>>2]|0}while(0);i=r;return e|0}function Hj(a){a=a|0;vk(a);of(a);return}function Ij(b,d){b=b|0;d=d|0;xb[c[(c[b>>2]|0)+24>>2]&63](b)|0;d=Mp(d,10928)|0;c[b+36>>2]=d;a[b+44>>0]=(xb[c[(c[d>>2]|0)+28>>2]&63](d)|0)&1;return}function Jj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+8|0;h=l;d=a+36|0;e=a+40|0;f=j+8|0;g=j;b=a+32|0;a:while(1){a=c[d>>2]|0;a=Fb[c[(c[a>>2]|0)+20>>2]&31](a,c[e>>2]|0,j,f,h)|0;m=(c[h>>2]|0)-g|0;if((Bi(j,1,m,c[b>>2]|0)|0)!=(m|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{k=4;break a}}}if((k|0)==4)a=((xi(c[b>>2]|0)|0)!=0)<<31>>31;i=l;return a|0}function Kj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;a:do if(!(a[b+44>>0]|0))if((f|0)>0){g=e;e=0;while(1){if((Db[c[(c[b>>2]|0)+52>>2]&31](b,d[g>>0]|0)|0)==-1)break a;e=e+1|0;if((e|0)<(f|0))g=g+1|0;else break}}else e=0;else e=Bi(e,1,f,c[b+32>>2]|0)|0;while(0);return e|0}function Lj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;p=s+16|0;e=s+8|0;o=s+4|0;n=s;q=(d|0)==-1;a:do if(!q){a[e>>0]=d;if(a[b+44>>0]|0)if((Bi(e,1,1,c[b+32>>2]|0)|0)==1){r=11;break}else{e=-1;break}c[o>>2]=p;m=e+1|0;g=b+36|0;h=b+40|0;j=p+8|0;k=p;l=b+32|0;while(1){b=c[g>>2]|0;b=Ab[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,e,m,n,p,j,o)|0;if((c[n>>2]|0)==(e|0)){e=-1;break a}if((b|0)==3)break;f=(b|0)==1;if(b>>>0>=2){e=-1;break a}b=(c[o>>2]|0)-k|0;if((Bi(p,1,b,c[l>>2]|0)|0)!=(b|0)){e=-1;break a}if(f)e=f?c[n>>2]|0:e;else{r=11;break a}}if((Bi(e,1,1,c[l>>2]|0)|0)!=1)e=-1;else r=11}else r=11;while(0);if((r|0)==11)e=q?0:d;i=s;return e|0}function Mj(b,d){b=b|0;d=d|0;var e=0,f=0;f=Mp(d,10928)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=xb[c[(c[f>>2]|0)+24>>2]&63](f)|0;e=c[e>>2]|0;a[b+53>>0]=(xb[c[(c[e>>2]|0)+28>>2]&63](e)|0)&1;return}function Nj(a){a=a|0;vk(a);of(a);return}function Oj(a){a=a|0;return Rj(a,0)|0}function Pj(a){a=a|0;return Rj(a,1)|0}function Qj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+16|0;k=m+4|0;f=m+8|0;g=m;h=b+52|0;e=(a[h>>0]|0)!=0;a:do if((d|0)==-1)if(e)d=-1;else{d=c[b+48>>2]|0;a[h>>0]=(d|0)!=-1&1}else{j=b+48|0;b:do if(e){a[f>>0]=c[j>>2];e=c[b+36>>2]|0;switch(Ab[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,l,l+8|0,k)|0){case 1:case 2:{d=-1;break a}case 3:{a[l>>0]=c[j>>2];c[k>>2]=l+1;break}default:{}}e=b+32|0;while(1){f=c[k>>2]|0;if(f>>>0<=l>>>0)break b;b=f+-1|0;c[k>>2]=b;if((Fi(a[b>>0]|0,c[e>>2]|0)|0)==-1){d=-1;break a}}}while(0);c[j>>2]=d;a[h>>0]=1}while(0);i=m;return d|0}function Rj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+32|0;r=s+16|0;q=s+8|0;n=s+4|0;o=s;h=b+52|0;a:do if(a[h>>0]|0){g=b+48|0;f=c[g>>2]|0;if(e){c[g>>2]=-1;a[h>>0]=0}}else{f=c[b+44>>2]|0;f=(f|0)>1?f:1;p=b+32|0;if((f|0)>0){h=0;do{g=Ci(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[r+h>>0]=g;h=h+1|0}while((h|0)<(f|0))}b:do if(!(a[b+53>>0]|0)){k=b+40|0;l=b+36|0;m=q+1|0;c:while(1){t=c[k>>2]|0;h=t;g=c[h>>2]|0;h=c[h+4>>2]|0;u=c[l>>2]|0;j=r+f|0;switch(Ab[c[(c[u>>2]|0)+16>>2]&15](u,t,r,j,n,q,m,o)|0){case 2:{f=-1;break a}case 3:break c;case 1:break;default:break b}u=c[k>>2]|0;c[u>>2]=g;c[u+4>>2]=h;if((f|0)==8){f=-1;break a}g=Ci(c[p>>2]|0)|0;if((g|0)==-1){f=-1;break a}a[j>>0]=g;f=f+1|0}a[q>>0]=a[r>>0]|0}else a[q>>0]=a[r>>0]|0;while(0);if(e){f=a[q>>0]|0;c[b+48>>2]=f&255}else{while(1){if((f|0)<=0)break;f=f+-1|0;if((Fi(d[r+f>>0]|0,c[p>>2]|0)|0)==-1){f=-1;break a}}f=a[q>>0]|0}f=f&255}while(0);i=s;return f|0}function Sj(b,d){b=b|0;d=d|0;if(!(a[d>>0]&1)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}else Tj(b,c[d+8>>2]|0,c[d+4>>2]|0);return}function Tj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)kf(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=mf(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}pt(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function Uj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>4294967279)kf(b);if(d>>>0<11){a[b>>0]=d<<1;b=b+1|0}else{g=d+16&-16;f=mf(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}mt(b|0,e|0,d|0)|0;a[b+d>>0]=0;return}function Vj(b){b=b|0;if(a[b>>0]&1)of(c[b+8>>2]|0);return}function Wj(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;Yj(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)|0}return b|0}function Xj(a,b){a=a|0;b=b|0;return Yj(a,b,Ti(b)|0)|0}function Yj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=10;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do if(h>>>0>=e>>>0){if(g)f=b+1|0;else f=c[b+8>>2]|0;rt(f|0,d|0,e|0)|0;a[f+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;bk(b,h,e-h|0,f,0,f,e,d)}while(0);return b|0}function Zj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a[b>>0]|0;g=(f&1)==0;if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;do if(f>>>0>=d>>>0)if(g){a[b+1+d>>0]=0;a[b>>0]=d<<1;break}else{a[(c[b+8>>2]|0)+d>>0]=0;c[b+4>>2]=d;break}else _j(b,d-f|0,e)|0;while(0);return}function _j(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(d){f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>>0){ck(b,g,d-g+h|0,h,h,0,0);f=a[b>>0]|0}if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;mt(g+h|0,e|0,d|0)|0;f=h+d|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}return b|0}function $j(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>4294967279)kf(b);e=a[b>>0]|0;if(!(e&1))f=10;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<11)i=10;else i=(d+16&-16)+-1|0;do if((i|0)!=(f|0)){do if((i|0)!=10){d=mf(i+1|0)|0;if(!(e&1)){f=1;g=b+1|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+1|0;f=0;g=c[b+8>>2]|0;h=1}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;pt(d|0,g|0,e+1|0)|0;if(h)of(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}while(0);return}function ak(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){ck(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+1|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}a[e+h>>0]=d;a[e+f>>0]=0;return}function bk(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((-18-d|0)>>>0>>0)kf(b);if(!(a[b>>0]&1))m=b+1|0;else m=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=mf(k)|0;if(g)pt(l|0,m|0,g|0)|0;if(i)pt(l+g|0,j|0,i|0)|0;e=f-h|0;if((e|0)!=(g|0))pt(l+(i+g)|0,m+(h+g)|0,e-g|0)|0;if((d|0)!=10)of(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;a[l+d>>0]=0;return}function ck(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)kf(b);if(!(a[b>>0]&1))l=b+1|0;else l=c[b+8>>2]|0;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=mf(j)|0;if(g)pt(k|0,l|0,g|0)|0;e=f-h|0;if((e|0)!=(g|0))pt(k+(i+g)|0,l+(h+g)|0,e-g|0)|0;if((d|0)!=10)of(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function dk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>1073741807)kf(b);if(e>>>0<2){a[b>>0]=e<<1;b=b+4|0}else{g=e+4&-4;f=mf(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}Vi(b,d,e)|0;c[b+(e<<2)>>2]=0;return}function ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(d>>>0>1073741807)kf(b);if(d>>>0<2){a[b>>0]=d<<1;b=b+4|0}else{g=d+4&-4;f=mf(g<<2)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=d;b=f}Xi(b,e,d)|0;c[b+(d<<2)>>2]=0;return}function fk(b){b=b|0;if(a[b>>0]&1)of(c[b+8>>2]|0);return}function gk(a,b){a=a|0;b=b|0;return hk(a,b,Ui(b)|0)|0}function hk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=1;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do if(h>>>0>=e>>>0){if(g)f=b+4|0;else f=c[b+8>>2]|0;Wi(f,d,e)|0;c[f+(e<<2)>>2]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;kk(b,h,e-h|0,f,0,f,e,d)}while(0);return b|0}function ik(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(d>>>0>1073741807)kf(b);e=a[b>>0]|0;if(!(e&1))f=1;else{e=c[b>>2]|0;f=(e&-2)+-1|0;e=e&255}if(!(e&1))j=(e&255)>>>1;else j=c[b+4>>2]|0;d=j>>>0>d>>>0?j:d;if(d>>>0<2)i=1;else i=(d+4&-4)+-1|0;do if((i|0)!=(f|0)){do if((i|0)!=1){d=mf((i<<2)+4|0)|0;if(!(e&1)){f=1;g=b+4|0;h=0;break}else{f=1;g=c[b+8>>2]|0;h=1;break}}else{d=b+4|0;f=0;g=c[b+8>>2]|0;h=1}while(0);if(!(e&1))e=(e&255)>>>1;else e=c[b+4>>2]|0;Vi(d,g,e+1|0)|0;if(h)of(g);if(f){c[b>>2]=i+1|1;c[b+4>>2]=j;c[b+8>>2]=d;break}else{a[b>>0]=j<<1;break}}while(0);return}function jk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=1;h=(e&255)>>>1}if((h|0)==(g|0)){lk(b,g,1,g,g,0,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+4|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}c[e+(h<<2)>>2]=d;c[e+(f<<2)>>2]=0;return}function kk(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((1073741806-d|0)>>>0>>0)kf(b);if(!(a[b>>0]&1))m=b+4|0;else m=c[b+8>>2]|0;if(d>>>0<536870887){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<2?2:k+4&-4}else k=1073741807;l=mf(k<<2)|0;if(g)Vi(l,m,g)|0;if(i)Vi(l+(g<<2)|0,j,i)|0;e=f-h|0;if((e|0)!=(g|0))Vi(l+(i+g<<2)|0,m+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)of(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;c[l+(d<<2)>>2]=0;return}function lk(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((1073741807-d|0)>>>0>>0)kf(b);if(!(a[b>>0]&1))l=b+4|0;else l=c[b+8>>2]|0;if(d>>>0<536870887){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<2?2:j+4&-4}else j=1073741807;k=mf(j<<2)|0;if(g)Vi(k,l,g)|0;e=f-h|0;if((e|0)!=(g|0))Vi(k+(i+g<<2)|0,l+(h+g<<2)|0,e-g|0)|0;if((d|0)!=1)of(l);c[b+8>>2]=k;c[b>>2]=j|1;return}function mk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=d;f=e-g|0;if(f>>>0>4294967279)kf(b);if(f>>>0<11){a[b>>0]=f<<1;h=b+1|0}else{i=f+16&-16;h=mf(i)|0;c[b+8>>2]=h;c[b>>2]=i|1;c[b+4>>2]=f}b=e-g|0;if((d|0)!=(e|0)){f=h;while(1){a[f>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else f=f+1|0}}a[h+b>>0]=0;return}function nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d;f=e-h|0;g=f>>2;if(g>>>0>1073741807)kf(b);if(g>>>0<2){a[b>>0]=f>>>1;b=b+4|0}else{i=g+4&-4;f=mf(i<<2)|0;c[b+8>>2]=f;c[b>>2]=i|1;c[b+4>>2]=g;b=f}g=(e-h|0)>>>2;if((d|0)!=(e|0)){f=b;while(1){c[f>>2]=c[d>>2];d=d+4|0;if((d|0)==(e|0))break;else f=f+4|0}}c[b+(g<<2)>>2]=0;return}function ok(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function pk(a){a=a|0;qk(a);return}function qk(a){a=a|0;c[a>>2]=9756;sk(a,0);Kp(a+28|0);jj(c[a+32>>2]|0);jj(c[a+36>>2]|0);jj(c[a+48>>2]|0);jj(c[a+60>>2]|0);return}function rk(a){a=a|0;qk(a);of(a);return}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+40>>2]|0;e=a+32|0;f=a+36|0;if(d)do{d=d+-1|0;yb[c[(c[e>>2]|0)+(d<<2)>>2]&0](b,a,c[(c[f>>2]|0)+(d<<2)>>2]|0)}while((d|0)!=0);return}function tk(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;Jp(b,a+28|0);i=d;return c[b>>2]|0}function uk(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));Ip(d);return}function vk(a){a=a|0;c[a>>2]=9468;Kp(a+4|0);return}function wk(a){a=a|0;c[a>>2]=9468;Kp(a+4|0);of(a);return}function xk(a){a=a|0;c[a>>2]=9468;Ip(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function yk(a,b){a=a|0;b=b|0;return}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Ak(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Bk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Ck(a){a=a|0;return 0}function Dk(a){a=a|0;return 0}function Ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+12|0;i=b+16|0;a:do if((e|0)>0){g=d;d=0;while(1){f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=a[f>>0]|0}else{f=xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;if((f|0)==-1)break a;f=f&255}a[g>>0]=f;d=d+1|0;if((d|0)<(e|0))g=g+1|0;else break}}else d=0;while(0);return d|0}function Fk(a){a=a|0;return -1}function Gk(a){a=a|0;var b=0;if((xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+1;a=d[a>>0]|0}return a|0}function Hk(a,b){a=a|0;b=b|0;return -1}function Ik(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=b+24|0;j=b+28|0;a:do if((f|0)>0){h=e;e=0;while(1){g=c[i>>2]|0;if(g>>>0>=(c[j>>2]|0)>>>0){if((Db[c[(c[b>>2]|0)+52>>2]&31](b,d[h>>0]|0)|0)==-1)break a}else{k=a[h>>0]|0;c[i>>2]=g+1;a[g>>0]=k}e=e+1|0;if((e|0)<(f|0))h=h+1|0;else break}}else e=0;while(0);return e|0}function Jk(a,b){a=a|0;b=b|0;return -1}function Kk(a){a=a|0;c[a>>2]=9532;Kp(a+4|0);return}function Lk(a){a=a|0;c[a>>2]=9532;Kp(a+4|0);of(a);return}function Mk(a){a=a|0;c[a>>2]=9532;Ip(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function Nk(a,b){a=a|0;b=b|0;return}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function Pk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Qk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=a;c[b>>2]=0;c[b+4>>2]=0;b=a+8|0;c[b>>2]=-1;c[b+4>>2]=-1;return}function Rk(a){a=a|0;return 0}function Sk(a){a=a|0;return 0}function Tk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+12|0;h=a+16|0;a:do if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){e=xb[c[(c[a>>2]|0)+40>>2]&63](a)|0;if((e|0)==-1)break a}else{c[g>>2]=e+4;e=c[e>>2]|0}c[f>>2]=e;b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0;while(0);return b|0}function Uk(a){a=a|0;return -1}function Vk(a){a=a|0;var b=0;if((xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)==-1)a=-1;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=c[a>>2]|0}return a|0}function Wk(a,b){a=a|0;b=b|0;return -1}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+24|0;h=a+28|0;a:do if((d|0)>0){f=b;b=0;while(1){e=c[g>>2]|0;if(e>>>0>=(c[h>>2]|0)>>>0){if((Db[c[(c[a>>2]|0)+52>>2]&31](a,c[f>>2]|0)|0)==-1)break a}else{i=c[f>>2]|0;c[g>>2]=e+4;c[e>>2]=i}b=b+1|0;if((b|0)<(d|0))f=f+4|0;else break}}else b=0;while(0);return b|0}function Yk(a,b){a=a|0;b=b|0;return -1}function Zk(a,b){a=a|0;b=b|0;return}function _k(a){a=a|0;qk(a+8|0);return}function $k(a){a=a|0;qk(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function al(a){a=a|0;qk(a+8|0);of(a);return}function bl(a){a=a|0;al(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function cl(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+16|0;l=o;a[e>>0]=0;h=c[(c[f>>2]|0)+-12>>2]|0;j=f+(h+16)|0;k=c[j>>2]|0;if(!k){h=c[f+(h+72)>>2]|0;if(h)dl(h)|0;do if(!g?(m=c[(c[f>>2]|0)+-12>>2]|0,(c[f+(m+4)>>2]&4096|0)!=0):0){c[l>>2]=tk(f+m|0)|0;g=Mp(l,10868)|0;Kp(l);h=c[f+((c[(c[f>>2]|0)+-12>>2]|0)+24)>>2]|0;g=g+8|0;a:do if(!h){h=0;n=9}else while(1){j=h;if((c[j+12>>2]|0)==(c[j+16>>2]|0)){m=(xb[c[(c[h>>2]|0)+36>>2]&63](j)|0)==-1;h=m?0:h;if(m){n=9;break a}}j=h;l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=xb[c[(c[h>>2]|0)+36>>2]&63](j)|0;else k=d[k>>0]|0;if((k&255)<<24>>24<=-1)break a;if(!(b[(c[g>>2]|0)+(k<<24>>24<<1)>>1]&8192))break a;k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))xb[c[(c[h>>2]|0)+40>>2]&63](j)|0;else c[l>>2]=k+1;if(!h){h=0;n=9;break}}while(0);if((n|0)==9)j=h;if(h){if((c[j+12>>2]|0)!=(c[j+16>>2]|0))break;if((xb[c[(c[h>>2]|0)+36>>2]&63](j)|0)!=-1)break}g=c[(c[f>>2]|0)+-12>>2]|0;n=f+(g+16)|0;c[n>>2]=c[n>>2]|(c[f+(g+24)>>2]|0)==0|6}while(0);a[e>>0]=(c[f+((c[(c[f>>2]|0)+-12>>2]|0)+16)>>2]|0)==0&1}else c[j>>2]=k|(c[f+(h+24)>>2]|0)==0|4;i=o;return}function dl(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){pl(d,b);if((a[d>>0]|0)!=0?(f=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0,(xb[c[(c[f>>2]|0)+24>>2]&63](f)|0)==-1):0){f=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[f>>2]=c[f>>2]|1}ql(d)}i=e;return b|0}function el(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;f=m+24|0;e=m+20|0;g=m+16|0;h=m+12|0;n=m+28|0;k=m+8|0;l=m+4|0;j=m;cl(n,b,0);if(a[n>>0]|0){c[k>>2]=0;c[j>>2]=tk(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;o=Mp(j,9908)|0;n=c[(c[b>>2]|0)+-12>>2]|0;p=c[(c[o>>2]|0)+16>>2]|0;c[g>>2]=c[b+(n+24)>>2];c[h>>2]=0;c[e>>2]=c[g>>2];c[f>>2]=c[h>>2];wb[p&63](o,e,f,b+n|0,k,l)|0;Kp(j);c[d>>2]=c[l>>2];l=c[(c[b>>2]|0)+-12>>2]|0;n=b+(l+16)|0;c[n>>2]=c[n>>2]|c[k>>2]|(c[b+(l+24)>>2]|0)==0}i=m;return b|0}function fl(a){a=a|0;qk(a+8|0);return}function gl(a){a=a|0;qk(a+((c[(c[a>>2]|0)+-12>>2]|0)+8)|0);return}function hl(a){a=a|0;qk(a+8|0);of(a);return}function il(a){a=a|0;hl(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function jl(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;if(c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0){xl(d,b);if((a[d>>0]|0)!=0?(f=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0,(xb[c[(c[f>>2]|0)+24>>2]&63](f)|0)==-1):0){f=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[f>>2]=c[f>>2]|1}yl(d)}i=e;return b|0}function kl(a,b){a=a|0;b=b|0;return}function ll(a){a=a|0;qk(a+4|0);return}function ml(a){a=a|0;qk(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function nl(a){a=a|0;qk(a+4|0);of(a);return}function ol(a){a=a|0;nl(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function pl(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)dl(e)|0;a[b>>0]=1}return}function ql(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;if(((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Fa()|0):0)?(d=c[a>>2]|0,d=c[d+((c[(c[d>>2]|0)+-12>>2]|0)+24)>>2]|0,(xb[c[(c[d>>2]|0)+24>>2]&63](d)|0)==-1):0){d=c[a>>2]|0;d=d+((c[(c[d>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|1}return}function rl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+4|0;m=n+8|0;e=n;pl(m,b);if(a[m>>0]|0){c[e>>2]=tk(b+(c[(c[b>>2]|0)+-12>>2]|0)|0)|0;l=Mp(e,10040)|0;Kp(e);f=c[(c[b>>2]|0)+-12>>2]|0;g=c[b+(f+24)>>2]|0;h=b+f|0;f=b+(f+76)|0;e=c[f>>2]|0;if((e|0)==-1){c[j>>2]=tk(h)|0;e=Mp(j,10868)|0;e=Db[c[(c[e>>2]|0)+28>>2]&31](e,32)|0;Kp(j);e=e<<24>>24;c[f>>2]=e}f=c[(c[l>>2]|0)+16>>2]|0;c[k>>2]=g;c[j>>2]=c[k>>2];if(!(Fb[f&31](l,j,h,e&255,d)|0)){d=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|5}}ql(m);i=n;return b|0}function sl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;pl(j,b);a:do if(a[j>>0]|0){f=c[b+((c[(c[b>>2]|0)+-12>>2]|0)+24)>>2]|0;g=f;do if(f){h=g+24|0;e=c[h>>2]|0;if((e|0)==(c[g+28>>2]|0))if((Db[c[(c[f>>2]|0)+52>>2]&31](g,d&255)|0)==-1)break;else break a;else{c[h>>2]=e+1;a[e>>0]=d;break a}}while(0);d=b+((c[(c[b>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|1}while(0);ql(j);i=k;return b|0}function tl(a){a=a|0;qk(a+4|0);return}function ul(a){a=a|0;qk(a+((c[(c[a>>2]|0)+-12>>2]|0)+4)|0);return}function vl(a){a=a|0;qk(a+4|0);of(a);return}function wl(a){a=a|0;vl(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function xl(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=0;c[b+4>>2]=d;e=c[(c[d>>2]|0)+-12>>2]|0;if(!(c[d+(e+16)>>2]|0)){e=c[d+(e+72)>>2]|0;if(e)jl(e)|0;a[b>>0]=1}return}function yl(a){a=a|0;var b=0,d=0;a=a+4|0;d=c[a>>2]|0;b=c[(c[d>>2]|0)+-12>>2]|0;if(((((c[d+(b+24)>>2]|0)!=0?(c[d+(b+16)>>2]|0)==0:0)?(c[d+(b+4)>>2]&8192|0)!=0:0)?!(Fa()|0):0)?(d=c[a>>2]|0,d=c[d+((c[(c[d>>2]|0)+-12>>2]|0)+24)>>2]|0,(xb[c[(c[d>>2]|0)+24>>2]&63](d)|0)==-1):0){d=c[a>>2]|0;d=d+((c[(c[d>>2]|0)+-12>>2]|0)+16)|0;c[d>>2]=c[d>>2]|1}return}function zl(a){a=a|0;qk(a);of(a);return}function Al(a){a=a|0;a=a+16|0;c[a>>2]=c[a>>2]|1;return}function Bl(a){a=a|0;return}function Cl(a){a=a|0;return}function Dl(a){a=a|0;of(a);return}function El(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((e|0)==(f|0))h=6;else while(1){if((c|0)==(d|0)){c=-1;break a}b=a[c>>0]|0;g=a[e>>0]|0;if(b<<24>>24>24){c=-1;break a}if(g<<24>>24>24){c=1;break a}c=c+1|0;e=e+1|0;if((e|0)==(f|0)){h=6;break}}while(0);if((h|0)==6)c=(c|0)!=(d|0)&1;return c|0}function Fl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mk(a,c,d);return}function Gl(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)==(d|0))b=0;else{b=0;do{b=(a[c>>0]|0)+(b<<4)|0;e=b&-268435456;b=(e>>>24|e)^b;c=c+1|0}while((c|0)!=(d|0))}return b|0}function Hl(a){a=a|0;return}function Il(a){a=a|0;of(a);return}function Jl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((e|0)==(f|0))h=6;else while(1){if((b|0)==(d|0)){b=-1;break a}a=c[b>>2]|0;g=c[e>>2]|0;if((a|0)<(g|0)){b=-1;break a}if((g|0)<(a|0)){b=1;break a}b=b+4|0;e=e+4|0;if((e|0)==(f|0)){h=6;break}}while(0);if((h|0)==6)b=(b|0)!=(d|0)&1;return b|0}function Kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;nk(a,c,d);return}function Ll(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))a=0;else{a=0;do{a=(c[b>>2]|0)+(a<<4)|0;e=a&-268435456;a=(e>>>24|e)^a;b=b+4|0}while((b|0)!=(d|0))}return a|0}function Ml(a){a=a|0;return}function Nl(a){a=a|0;of(a);return}function Ol(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;k=s+56|0;j=s+52|0;r=s+48|0;l=s+44|0;m=s+40|0;n=s+36|0;o=s+32|0;q=s+8|0;p=s;a:do if(!(c[f+4>>2]&1)){c[r>>2]=-1;q=c[(c[b>>2]|0)+16>>2]|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];j=wb[q&63](b,j,k,f,g,r)|0;c[d>>2]=j;switch(c[r>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{b=tk(f)|0;c[n>>2]=b;j=Mp(n,10868)|0;it(b)|0;b=tk(f)|0;c[o>>2]=b;r=Mp(o,11008)|0;it(b)|0;vb[c[(c[r>>2]|0)+24>>2]&63](q,r);vb[c[(c[r>>2]|0)+28>>2]&63](q+12|0,r);c[p>>2]=c[e>>2];c[k>>2]=c[p>>2];a[h>>0]=(yr(d,k,q,q+24|0,j,g,1)|0)==(q|0)&1;j=c[d>>2]|0;Vj(q+12|0);Vj(q)}while(0);i=s;return j|0}function Pl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=zr(a,k,j,e,f,g)|0;i=h;return a|0}function Ql(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Ar(a,k,j,e,f,g)|0;i=h;return a|0}function Rl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Br(a,k,j,e,f,g)|0;i=h;return a|0}function Sl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Cr(a,k,j,e,f,g)|0;i=h;return a|0}function Tl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Dr(a,k,j,e,f,g)|0;i=h;return a|0}function Ul(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Er(a,k,j,e,f,g)|0;i=h;return a|0}function Vl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Fr(a,k,j,e,f,g)|0;i=h;return a|0}function Wl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Gr(a,k,j,e,f,g)|0;i=h;return a|0}function Xl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Hr(a,k,j,e,f,g)|0;i=h;return a|0}function Yl(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+240|0;w=z;p=z+208|0;y=z+32|0;t=z+28|0;x=z+16|0;v=z+12|0;r=z+48|0;s=z+8|0;q=z+4|0;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;u=tk(g)|0;c[t>>2]=u;t=Mp(t,10868)|0;Bb[c[(c[t>>2]|0)+32>>2]&7](t,26862,26888,p)|0;it(u)|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Zj(x,b,0);t=x+8|0;u=x+1|0;g=(a[x>>0]&1)==0?u:c[t>>2]|0;c[v>>2]=g;c[s>>2]=r;c[q>>2]=0;o=x+4|0;b=c[e>>2]|0;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;l=(b|0)==0;k=c[f>>2]|0;do if(k){if((c[k+12>>2]|0)!=(c[k+16>>2]|0))if(l)break;else break a;if((xb[c[(c[k>>2]|0)+36>>2]&63](k)|0)!=-1)if(l)break;else break a;else{c[f>>2]=0;A=13;break}}else A=13;while(0);if((A|0)==13){A=0;if(l){k=0;break}else k=0}l=a[x>>0]|0;l=(l&1)==0?(l&255)>>>1:c[o>>2]|0;if((c[v>>2]|0)==(g+l|0)){Zj(x,l<<1,0);if(!(a[x>>0]&1))g=10;else g=(c[x>>2]&-2)+-1|0;Zj(x,g,0);g=(a[x>>0]&1)==0?u:c[t>>2]|0;c[v>>2]=g+l}m=b+12|0;l=c[m>>2]|0;n=b+16|0;if((l|0)==(c[n>>2]|0))l=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else l=d[l>>0]|0;if(Zl(l&255,16,g,v,q,0,y,r,s,p)|0)break;k=c[m>>2]|0;if((k|0)==(c[n>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[m>>2]=k+1;continue}}Zj(x,(c[v>>2]|0)-g|0,0);u=(a[x>>0]&1)==0?u:c[t>>2]|0;v=_l()|0;c[w>>2]=j;if((Ir(u,v,28246,w)|0)!=1)c[h>>2]=4;if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(xb[c[(c[k>>2]|0)+36>>2]&63](k)|0)==-1:0){c[f>>2]=0;A=37;break}if(!b)A=38}else A=37;while(0);if((A|0)==37?b:0)A=38;if((A|0)==38)c[h>>2]=c[h>>2]|2;A=c[e>>2]|0;Vj(x);Vj(y);i=z;return A|0}function Zl(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i>>0]|0;if(b<<24>>24==h<<24>>24?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+26|0;m=l;while(1){if((a[m>>0]|0)==b<<24>>24)break;m=m+1|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[26862+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[26862+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function _l(){if((a[1312]|0)==0?(Ba(1312)|0)!=0:0){c[2858]=Th(2147483647,28249,0)|0;Ha(1312)}return c[2858]|0}function $l(a){a=a|0;return}function am(a){a=a|0;of(a);return}function bm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;k=s+56|0;j=s+52|0;r=s+48|0;l=s+44|0;m=s+40|0;n=s+36|0;o=s+32|0;q=s+8|0;p=s;a:do if(!(c[f+4>>2]&1)){c[r>>2]=-1;q=c[(c[b>>2]|0)+16>>2]|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];j=wb[q&63](b,j,k,f,g,r)|0;c[d>>2]=j;switch(c[r>>2]|0){case 0:{a[h>>0]=0;break a}case 1:{a[h>>0]=1;break a}default:{a[h>>0]=1;c[g>>2]=4;break a}}}else{b=tk(f)|0;c[n>>2]=b;j=Mp(n,10860)|0;it(b)|0;b=tk(f)|0;c[o>>2]=b;r=Mp(o,11016)|0;it(b)|0;vb[c[(c[r>>2]|0)+24>>2]&63](q,r);vb[c[(c[r>>2]|0)+28>>2]&63](q+12|0,r);c[p>>2]=c[e>>2];c[k>>2]=c[p>>2];a[h>>0]=(Jr(d,k,q,q+24|0,j,g,1)|0)==(q|0)&1;j=c[d>>2]|0;fk(q+12|0);fk(q)}while(0);i=s;return j|0}function cm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Kr(a,k,j,e,f,g)|0;i=h;return a|0}function dm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Lr(a,k,j,e,f,g)|0;i=h;return a|0}function em(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Mr(a,k,j,e,f,g)|0;i=h;return a|0}function fm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Nr(a,k,j,e,f,g)|0;i=h;return a|0}function gm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Or(a,k,j,e,f,g)|0;i=h;return a|0}function hm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Pr(a,k,j,e,f,g)|0;i=h;return a|0}function im(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Qr(a,k,j,e,f,g)|0;i=h;return a|0}function jm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Rr(a,k,j,e,f,g)|0;i=h;return a|0}function km(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Sr(a,k,j,e,f,g)|0;i=h;return a|0}function lm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=i;i=i+320|0;v=y;o=y+208|0;x=y+32|0;s=y+28|0;w=y+16|0;u=y+12|0;q=y+48|0;r=y+8|0;p=y+4|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;t=tk(f)|0;c[s>>2]=t;s=Mp(s,10860)|0;Bb[c[(c[s>>2]|0)+48>>2]&7](s,26862,26888,o)|0;it(t)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;if(!(a[w>>0]&1))b=10;else b=(c[w>>2]&-2)+-1|0;Zj(w,b,0);s=w+8|0;t=w+1|0;b=(a[w>>0]&1)==0?t:c[s>>2]|0;c[u>>2]=b;c[r>>2]=q;c[p>>2]=0;n=w+4|0;j=c[d>>2]|0;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else f=c[f>>2]|0;if((f|0)==-1){c[d>>2]=0;f=0;l=1}else{f=j;l=0}}else{f=0;l=1}j=c[e>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else k=c[k>>2]|0;if((k|0)!=-1)if(l)break;else break a;else{c[e>>2]=0;z=16;break}}else z=16;while(0);if((z|0)==16){z=0;if(l){j=0;break}else j=0}k=a[w>>0]|0;k=(k&1)==0?(k&255)>>>1:c[n>>2]|0;if((c[u>>2]|0)==(b+k|0)){Zj(w,k<<1,0);if(!(a[w>>0]&1))b=10;else b=(c[w>>2]&-2)+-1|0;Zj(w,b,0);b=(a[w>>0]&1)==0?t:c[s>>2]|0;c[u>>2]=b+k}l=f+12|0;k=c[l>>2]|0;m=f+16|0;if((k|0)==(c[m>>2]|0))k=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else k=c[k>>2]|0;if(mm(k,16,b,u,p,0,x,q,r,o)|0)break;j=c[l>>2]|0;if((j|0)==(c[m>>2]|0)){xb[c[(c[f>>2]|0)+40>>2]&63](f)|0;j=f;continue}else{c[l>>2]=j+4;j=f;continue}}Zj(w,(c[u>>2]|0)-b|0,0);t=(a[w>>0]&1)==0?t:c[s>>2]|0;u=_l()|0;c[v>>2]=h;if((Ir(t,u,28246,v)|0)!=1)c[g>>2]=4;if(f){b=c[f+12>>2]|0;if((b|0)==(c[f+16>>2]|0))b=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{z=45;break}else{c[e>>2]=0;z=43;break}}else z=43;while(0);if((z|0)==43?f:0)z=45;if((z|0)==45)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;Vj(w);Vj(x);i=y;return z|0}function mm(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i>>0]|0;if((b|0)==(h|0)?(((n&1)==0?(n&255)>>>1:c[i+4>>2]|0)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}d=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=d;c[g>>2]=0;m=0;break}i=l+104|0;m=l;while(1){if((c[m>>2]|0)==(b|0))break;m=m+4|0;if((m|0)==(i|0)){m=i;break}}m=m-l|0;i=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((i|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[26862+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[26862+i>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function nm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g;d=tk(d)|0;c[h>>2]=d;j=Mp(h,10868)|0;Bb[c[(c[j>>2]|0)+32>>2]&7](j,26862,26888,e)|0;e=Mp(h,11008)|0;a[f>>0]=xb[c[(c[e>>2]|0)+16>>2]&63](e)|0;vb[c[(c[e>>2]|0)+20>>2]&63](b,e);it(d)|0;i=g;return}function om(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h;d=tk(d)|0;c[j>>2]=d;k=Mp(j,10868)|0;Bb[c[(c[k>>2]|0)+32>>2]&7](k,26862,26894,e)|0;e=Mp(j,11008)|0;a[f>>0]=xb[c[(c[e>>2]|0)+12>>2]&63](e)|0;a[g>>0]=xb[c[(c[e>>2]|0)+16>>2]&63](e)|0;vb[c[(c[e>>2]|0)+20>>2]&63](b,e);it(d)|0;i=h;return}function pm(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do if(b<<24>>24==i<<24>>24)if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if(b<<24>>24==j<<24>>24?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+32|0;p=o;while(1){if((a[p>>0]|0)==b<<24>>24)break;p=p+1|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;if((i|0)>31)p=-1;else{j=a[26862+i>>0]|0;switch(i|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=j;p=0;break a}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>21){p=0;break a}c[n>>2]=(c[n>>2]|0)+1;p=0;break a}}}}while(0);return p|0}function qm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;b=tk(b)|0;c[g>>2]=b;h=Mp(g,10860)|0;Bb[c[(c[h>>2]|0)+48>>2]&7](h,26862,26888,d)|0;d=Mp(g,11016)|0;c[e>>2]=xb[c[(c[d>>2]|0)+16>>2]&63](d)|0;vb[c[(c[d>>2]|0)+20>>2]&63](a,d);it(b)|0;i=f;return}function rm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+16|0;h=g;b=tk(b)|0;c[h>>2]=b;j=Mp(h,10860)|0;Bb[c[(c[j>>2]|0)+48>>2]&7](j,26862,26894,d)|0;d=Mp(h,11016)|0;c[e>>2]=xb[c[(c[d>>2]|0)+12>>2]&63](d)|0;c[f>>2]=xb[c[(c[d>>2]|0)+16>>2]&63](d)|0;vb[c[(c[d>>2]|0)+20>>2]&63](a,d);it(b)|0;i=g;return}function sm(b,e,f,g,h,i,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0;a:do if((b|0)==(i|0))if(a[e>>0]|0){a[e>>0]=0;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=46;f=a[k>>0]|0;if((((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0?(p=c[m>>2]|0,(p-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;p=0}else p=0}else p=-1;else{if((b|0)==(j|0)?(j=a[k>>0]|0,(((j&1)==0?(j&255)>>>1:c[k+4>>2]|0)|0)!=0):0){if(!(a[e>>0]|0)){p=-1;break}p=c[m>>2]|0;if((p-l|0)>=160){p=0;break}l=c[n>>2]|0;c[m>>2]=p+4;c[p>>2]=l;c[n>>2]=0;p=0;break}i=o+128|0;p=o;while(1){if((c[p>>2]|0)==(b|0))break;p=p+4|0;if((p|0)==(i|0)){p=i;break}}i=p-o|0;p=i>>2;if((i|0)<=124){j=a[26862+p>>0]|0;switch(p|0){case 24:case 25:{p=c[h>>2]|0;if((p|0)!=(g|0)?(d[p+-1>>0]&95|0)!=(d[f>>0]&127|0):0){p=-1;break a}c[h>>2]=p+1;a[p>>0]=j;p=0;break a}case 23:case 22:{a[f>>0]=80;break}default:{p=j&95;if((((p|0)==(a[f>>0]|0)?(a[f>>0]=p|128,(a[e>>0]|0)!=0):0)?(a[e>>0]=0,f=a[k>>0]|0,(((f&1)==0?(f&255)>>>1:c[k+4>>2]|0)|0)!=0):0)?(q=c[m>>2]|0,(q-l|0)<160):0){l=c[n>>2]|0;c[m>>2]=q+4;c[q>>2]=l}}}m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=j;if((i|0)>84)p=0;else{c[n>>2]=(c[n>>2]|0)+1;p=0}}else p=-1}while(0);return p|0}function tm(a){a=a|0;return}function um(a){a=a|0;of(a);return}function vm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n;if(!(c[e+4>>2]&1)){m=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Fb[m&31](b,h,e,f,g&1)|0}else{j=tk(e)|0;c[k>>2]=j;h=Mp(k,11008)|0;it(j)|0;j=c[h>>2]|0;if(g)vb[c[j+24>>2]&63](m,h);else vb[c[j+28>>2]&63](m,h);e=a[m>>0]|0;l=(e&1)==0;h=m+1|0;g=m+8|0;b=l?h:m+1|0;h=l?h:c[m+8>>2]|0;l=m+4|0;f=(e&1)==0;if((h|0)!=((f?b:c[g>>2]|0)+(f?(e&255)>>>1:c[l>>2]|0)|0))do{j=a[h>>0]|0;k=c[d>>2]|0;do if(k){f=k+24|0;e=c[f>>2]|0;if((e|0)!=(c[k+28>>2]|0)){c[f>>2]=e+1;a[e>>0]=j;break}if((Db[c[(c[k>>2]|0)+52>>2]&31](k,j&255)|0)==-1)c[d>>2]=0}while(0);h=h+1|0;e=a[m>>0]|0;f=(e&1)==0}while((h|0)!=((f?b:c[g>>2]|0)+(f?(e&255)>>>1:c[l>>2]|0)|0));h=c[d>>2]|0;Vj(m)}i=n;return h|0}function wm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+64|0;k=h;o=h+56|0;q=h+44|0;j=h+20|0;m=h+16|0;b=h+12|0;n=h+8|0;l=h+4|0;a[o>>0]=a[28251]|0;a[o+1>>0]=a[28252]|0;a[o+2>>0]=a[28253]|0;a[o+3>>0]=a[28254]|0;a[o+4>>0]=a[28255]|0;a[o+5>>0]=a[28256]|0;xm(o+1|0,28257,1,c[e+4>>2]|0);p=_l()|0;c[k>>2]=g;o=q+(Tr(q,12,p,o,k)|0)|0;p=ym(q,o,e)|0;g=tk(e)|0;c[n>>2]=g;zm(q,p,o,j,m,b,n);it(g)|0;c[l>>2]=c[d>>2];g=c[m>>2]|0;b=c[b>>2]|0;c[k>>2]=c[l>>2];b=oc(k,j,g,b,e,f)|0;i=h;return b|0}function xm(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=a[c>>0]|0;if(f<<24>>24){g=c;while(1){g=g+1|0;c=b+1|0;a[b>>0]=f;f=a[g>>0]|0;if(!(f<<24>>24)){b=c;break}else b=c}}a:do switch(e&74|0){case 64:{a[b>>0]=111;break}case 8:if(!(e&16384)){a[b>>0]=120;break a}else{a[b>>0]=88;break a}default:if(d){a[b>>0]=100;break a}else{a[b>>0]=117;break a}}while(0);return}function ym(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch(c[e+4>>2]&176|0){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function zm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+16|0;s=t;r=Mp(j,10868)|0;m=Mp(j,11008)|0;vb[c[(c[m>>2]|0)+20>>2]&63](s,m);p=a[s>>0]|0;q=s+4|0;if(((p&1)==0?(p&255)>>>1:c[q>>2]|0)|0){c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{p=Db[c[(c[r>>2]|0)+28>>2]&31](r,j)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=p;k=b+1|0;break}default:k=b}a:do if((e-k|0)>1?(a[k>>0]|0)==48:0){j=k+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}p=Db[c[(c[r>>2]|0)+28>>2]&31](r,48)|0;o=c[h>>2]|0;c[h>>2]=o+1;a[o>>0]=p;o=Db[c[(c[r>>2]|0)+28>>2]&31](r,a[j>>0]|0)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;k=k+2|0}while(0);if((k|0)!=(e|0)?(n=e+-1|0,k>>>0>>0):0){l=k;j=n;do{p=a[l>>0]|0;a[l>>0]=a[j>>0]|0;a[j>>0]=p;l=l+1|0;j=j+-1|0}while(l>>>0>>0)}m=xb[c[(c[m>>2]|0)+16>>2]&63](m)|0;n=s+8|0;o=s+1|0;if(k>>>0>>0){j=0;l=0;p=k;while(1){u=a[((a[s>>0]&1)==0?o:c[n>>2]|0)+l>>0]|0;if(u<<24>>24!=0&(j|0)==(u<<24>>24|0)){u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=m;u=a[s>>0]|0;j=0;l=(l>>>0<(((u&1)==0?(u&255)>>>1:c[q>>2]|0)+-1|0)>>>0&1)+l|0}v=Db[c[(c[r>>2]|0)+28>>2]&31](r,a[p>>0]|0)|0;u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=v;p=p+1|0;if(p>>>0>=e>>>0)break;else j=j+1|0}}j=f+(k-b)|0;k=c[h>>2]|0;if((j|0)!=(k|0)){k=k+-1|0;if(j>>>0>>0)do{v=a[j>>0]|0;a[j>>0]=a[k>>0]|0;a[k>>0]=v;j=j+1|0;k=k+-1|0}while(j>>>0>>0);j=c[h>>2]|0}}else{Bb[c[(c[r>>2]|0)+32>>2]&7](r,b,e,f)|0;j=f+(e-b)|0;c[h>>2]=j}c[g>>2]=(d|0)==(e|0)?j:f+(d-b)|0;Vj(s);i=t;return}function Am(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+96|0;k=h+8|0;o=h;p=h+74|0;j=h+32|0;m=h+28|0;a=h+24|0;n=h+20|0;l=h+16|0;q=o;c[q>>2]=37;c[q+4>>2]=0;xm(o+1|0,28259,1,c[d+4>>2]|0);q=_l()|0;r=k;c[r>>2]=f;c[r+4>>2]=g;f=p+(Tr(p,22,q,o,k)|0)|0;o=ym(p,f,d)|0;g=tk(d)|0;c[n>>2]=g;zm(p,o,f,j,m,a,n);it(g)|0;c[l>>2]=c[b>>2];b=c[m>>2]|0;a=c[a>>2]|0;c[k>>2]=c[l>>2];a=oc(k,j,b,a,d,e)|0;i=h;return a|0}function Bm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+64|0;k=h;o=h+56|0;q=h+44|0;j=h+20|0;m=h+16|0;b=h+12|0;n=h+8|0;l=h+4|0;a[o>>0]=a[28251]|0;a[o+1>>0]=a[28252]|0;a[o+2>>0]=a[28253]|0;a[o+3>>0]=a[28254]|0;a[o+4>>0]=a[28255]|0;a[o+5>>0]=a[28256]|0;xm(o+1|0,28257,0,c[e+4>>2]|0);p=_l()|0;c[k>>2]=g;o=q+(Tr(q,12,p,o,k)|0)|0;p=ym(q,o,e)|0;g=tk(e)|0;c[n>>2]=g;zm(q,p,o,j,m,b,n);it(g)|0;c[l>>2]=c[d>>2];g=c[m>>2]|0;b=c[b>>2]|0;c[k>>2]=c[l>>2];b=oc(k,j,g,b,e,f)|0;i=h;return b|0}function Cm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+112|0;k=h+8|0;o=h;p=h+75|0;j=h+32|0;m=h+28|0;a=h+24|0;n=h+20|0;l=h+16|0;q=o;c[q>>2]=37;c[q+4>>2]=0;xm(o+1|0,28259,0,c[d+4>>2]|0);q=_l()|0;r=k;c[r>>2]=f;c[r+4>>2]=g;f=p+(Tr(p,23,q,o,k)|0)|0;o=ym(p,f,d)|0;g=tk(d)|0;c[n>>2]=g;zm(p,o,f,j,m,a,n);it(g)|0;c[l>>2]=c[b>>2];b=c[m>>2]|0;a=c[a>>2]|0;c[k>>2]=c[l>>2];a=oc(k,j,b,a,d,e)|0;i=h;return a|0}function Dm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;v=i;i=i+160|0;p=v+68|0;l=v+32|0;j=v+24|0;g=v+8|0;k=v;n=v+72|0;m=v+64|0;o=v+102|0;u=v+60|0;t=v+56|0;q=v+52|0;r=v+48|0;B=k;c[B>>2]=37;c[B+4>>2]=0;B=Em(k+1|0,28262,c[d+4>>2]|0)|0;c[m>>2]=n;a=_l()|0;if(B){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=Tr(n,30,a,k,g)|0}else{h[j>>3]=f;a=Tr(n,30,a,k,j)|0}if((a|0)>29){g=_l()|0;c[l>>2]=c[d+8>>2];h[l+8>>3]=f;g=Ur(m,g,k,l)|0;a=c[m>>2]|0;if(!a)Xf();else{w=a;z=a;s=g}}else{w=c[m>>2]|0;z=0;s=a}g=w+s|0;j=ym(w,g,d)|0;if((w|0)!=(n|0)){a=ij(s<<1)|0;if(!a)Xf();else{x=w;y=a;A=a}}else{x=n;y=0;A=o}B=tk(d)|0;c[q>>2]=B;Fm(x,j,g,A,u,t,q);it(B)|0;c[r>>2]=c[b>>2];b=c[u>>2]|0;B=c[t>>2]|0;c[p>>2]=c[r>>2];B=oc(p,A,b,B,d,e)|0;jj(y);jj(z);i=v;return B|0}function Em(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}h=d&260;f=d>>>14;i=(h|0)==260;if(i)g=0;else{a[b>>0]=46;a[b+1>>0]=42;b=b+2|0;g=1}d=a[c>>0]|0;if(d<<24>>24){e=b;while(1){c=c+1|0;b=e+1|0;a[e>>0]=d;d=a[c>>0]|0;if(!(d<<24>>24))break;else e=b}}a:do switch(h|0){case 4:if(!(f&1)){a[b>>0]=102;break a}else{a[b>>0]=70;break a}case 256:if(!(f&1)){a[b>>0]=101;break a}else{a[b>>0]=69;break a}default:{d=(f&1|0)!=0;if(i)if(d){a[b>>0]=65;break a}else{a[b>>0]=97;break a}else if(d){a[b>>0]=71;break a}else{a[b>>0]=103;break a}}}while(0);return g|0}function Fm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+16|0;w=x;v=Mp(j,10868)|0;t=Mp(j,11008)|0;vb[c[(c[t>>2]|0)+20>>2]&63](w,t);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{u=Db[c[(c[v>>2]|0)+28>>2]&31](v,j)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=u;m=b+1|0;break}default:m=b}u=e;a:do if((u-m|0)>1?(a[m>>0]|0)==48:0){j=m+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{n=4;break a}}s=Db[c[(c[v>>2]|0)+28>>2]&31](v,48)|0;r=c[h>>2]|0;c[h>>2]=r+1;a[r>>0]=s;m=m+2|0;r=Db[c[(c[v>>2]|0)+28>>2]&31](v,a[j>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=r;if(m>>>0>>0){j=m;while(1){s=a[j>>0]|0;if(!(Sh(s,_l()|0)|0)){s=m;break a}j=j+1|0;if(j>>>0>=e>>>0){s=m;break}}}else{s=m;j=m}}else n=4;while(0);b:do if((n|0)==4)if(m>>>0>>0){j=m;while(1){s=a[j>>0]|0;if(!(Rh(s,_l()|0)|0)){s=m;break b}j=j+1|0;if(j>>>0>=e>>>0){s=m;break}}}else{s=m;j=m}while(0);q=a[w>>0]|0;r=w+4|0;if(((q&1)==0?(q&255)>>>1:c[r>>2]|0)|0){if((s|0)!=(j|0)?(l=j+-1|0,s>>>0>>0):0){m=s;do{q=a[m>>0]|0;a[m>>0]=a[l>>0]|0;a[l>>0]=q;m=m+1|0;l=l+-1|0}while(m>>>0>>0)}n=xb[c[(c[t>>2]|0)+16>>2]&63](t)|0;o=w+8|0;p=w+1|0;if(s>>>0>>0){l=0;m=0;q=s;while(1){y=a[((a[w>>0]&1)==0?p:c[o>>2]|0)+m>>0]|0;if(y<<24>>24>0&(l|0)==(y<<24>>24|0)){y=c[h>>2]|0;c[h>>2]=y+1;a[y>>0]=n;y=a[w>>0]|0;l=0;m=(m>>>0<(((y&1)==0?(y&255)>>>1:c[r>>2]|0)+-1|0)>>>0&1)+m|0}z=Db[c[(c[v>>2]|0)+28>>2]&31](v,a[q>>0]|0)|0;y=c[h>>2]|0;c[h>>2]=y+1;a[y>>0]=z;q=q+1|0;if(q>>>0>=j>>>0)break;else l=l+1|0}}l=f+(s-b)|0;m=c[h>>2]|0;if((l|0)!=(m|0)?(k=m+-1|0,l>>>0>>0):0){do{z=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=z;l=l+1|0;k=k+-1|0}while(l>>>0>>0);l=v}else l=v}else{Bb[c[(c[v>>2]|0)+32>>2]&7](v,s,j,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(j-s);l=v}c:do if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46)break;y=Db[c[(c[l>>2]|0)+28>>2]&31](v,k)|0;z=c[h>>2]|0;c[h>>2]=z+1;a[z>>0]=y;j=j+1|0;if(j>>>0>=e>>>0)break c}y=xb[c[(c[t>>2]|0)+12>>2]&63](t)|0;z=c[h>>2]|0;c[h>>2]=z+1;a[z>>0]=y;j=j+1|0}while(0);Bb[c[(c[v>>2]|0)+32>>2]&7](v,j,e,c[h>>2]|0)|0;z=(c[h>>2]|0)+(u-j)|0;c[h>>2]=z;c[g>>2]=(d|0)==(e|0)?z:f+(d-b)|0;Vj(w);i=x;return}function Gm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=i;i=i+176|0;r=x+76|0;n=x+48|0;m=x+32|0;j=x+24|0;g=x+8|0;l=x;p=x+80|0;o=x+72|0;q=x+110|0;w=x+68|0;v=x+64|0;s=x+60|0;t=x+56|0;k=l;c[k>>2]=37;c[k+4>>2]=0;k=Em(l+1|0,28263,c[d+4>>2]|0)|0;c[o>>2]=p;a=_l()|0;if(k){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=Tr(p,30,a,l,g)|0}else{h[j>>3]=f;a=Tr(p,30,a,l,j)|0}if((a|0)>29){a=_l()|0;if(k){c[m>>2]=c[d+8>>2];h[m+8>>3]=f;g=Ur(o,a,l,m)|0}else{h[n>>3]=f;g=Ur(o,a,l,n)|0}a=c[o>>2]|0;if(!a)Xf();else{y=a;B=a;u=g}}else{y=c[o>>2]|0;B=0;u=a}g=y+u|0;j=ym(y,g,d)|0;if((y|0)!=(p|0)){a=ij(u<<1)|0;if(!a)Xf();else{z=y;A=a;C=a}}else{z=p;A=0;C=q}y=tk(d)|0;c[s>>2]=y;Fm(z,j,g,C,w,v,s);it(y)|0;c[t>>2]=c[b>>2];z=c[w>>2]|0;b=c[v>>2]|0;c[r>>2]=c[t>>2];b=oc(r,C,z,b,d,e)|0;jj(A);jj(B);i=x;return b|0}function Hm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+80|0;m=h;b=h+70|0;j=h+12|0;k=h+32|0;o=h+8|0;n=h+4|0;a[b>>0]=a[28265]|0;a[b+1>>0]=a[28266]|0;a[b+2>>0]=a[28267]|0;a[b+3>>0]=a[28268]|0;a[b+4>>0]=a[28269]|0;a[b+5>>0]=a[28270]|0;l=_l()|0;c[m>>2]=g;b=Tr(j,20,l,b,m)|0;l=j+b|0;g=ym(j,l,e)|0;p=tk(e)|0;c[o>>2]=p;o=Mp(o,10868)|0;it(p)|0;Bb[c[(c[o>>2]|0)+32>>2]&7](o,j,l,k)|0;b=k+b|0;c[n>>2]=c[d>>2];c[m>>2]=c[n>>2];b=oc(m,k,(g|0)==(l|0)?b:k+(g-j)|0,b,e,f)|0;i=h;return b|0}function Im(a){a=a|0;return}function Jm(a){a=a|0;of(a);return}function Km(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+20|0;j=m+16|0;k=m+12|0;l=m;if(!(c[e+4>>2]&1)){l=c[(c[b>>2]|0)+24>>2]|0;c[j>>2]=c[d>>2];c[h>>2]=c[j>>2];h=Fb[l&31](b,h,e,f,g&1)|0}else{j=tk(e)|0;c[k>>2]=j;h=Mp(k,11016)|0;it(j)|0;j=c[h>>2]|0;if(g)vb[c[j+24>>2]&63](l,h);else vb[c[j+28>>2]&63](l,h);e=a[l>>0]|0;f=(e&1)==0;h=l+4|0;g=l+8|0;b=f?h:l+4|0;h=f?h:c[l+8>>2]|0;f=(e&1)==0;if((h|0)!=((f?b:c[g>>2]|0)+((f?(e&255)>>>1:c[b>>2]|0)<<2)|0))do{j=c[h>>2]|0;k=c[d>>2]|0;if(k){f=k+24|0;e=c[f>>2]|0;if((e|0)==(c[k+28>>2]|0))j=Db[c[(c[k>>2]|0)+52>>2]&31](k,j)|0;else{c[f>>2]=e+4;c[e>>2]=j}if((j|0)==-1)c[d>>2]=0}h=h+4|0;e=a[l>>0]|0;f=(e&1)==0}while((h|0)!=((f?b:c[g>>2]|0)+((f?(e&255)>>>1:c[b>>2]|0)<<2)|0));h=c[d>>2]|0;fk(l)}i=m;return h|0}function Lm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+128|0;k=h;o=h+116|0;q=h+104|0;j=h+20|0;m=h+16|0;b=h+12|0;n=h+8|0;l=h+4|0;a[o>>0]=a[28251]|0;a[o+1>>0]=a[28252]|0;a[o+2>>0]=a[28253]|0;a[o+3>>0]=a[28254]|0;a[o+4>>0]=a[28255]|0;a[o+5>>0]=a[28256]|0;xm(o+1|0,28257,1,c[e+4>>2]|0);p=_l()|0;c[k>>2]=g;o=q+(Tr(q,12,p,o,k)|0)|0;p=ym(q,o,e)|0;g=tk(e)|0;c[n>>2]=g;Mm(q,p,o,j,m,b,n);it(g)|0;c[l>>2]=c[d>>2];g=c[m>>2]|0;b=c[b>>2]|0;c[k>>2]=c[l>>2];b=Vr(k,j,g,b,e,f)|0;i=h;return b|0}function Mm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+16|0;s=t;r=Mp(j,10860)|0;m=Mp(j,11016)|0;vb[c[(c[m>>2]|0)+20>>2]&63](s,m);p=a[s>>0]|0;q=s+4|0;if(((p&1)==0?(p&255)>>>1:c[q>>2]|0)|0){c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{p=Db[c[(c[r>>2]|0)+44>>2]&31](r,j)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=p;k=b+1|0;break}default:k=b}a:do if((e-k|0)>1?(a[k>>0]|0)==48:0){j=k+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}p=Db[c[(c[r>>2]|0)+44>>2]&31](r,48)|0;o=c[h>>2]|0;c[h>>2]=o+4;c[o>>2]=p;o=Db[c[(c[r>>2]|0)+44>>2]&31](r,a[j>>0]|0)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=o;k=k+2|0}while(0);if((k|0)!=(e|0)?(n=e+-1|0,k>>>0>>0):0){l=k;j=n;do{p=a[l>>0]|0;a[l>>0]=a[j>>0]|0;a[j>>0]=p;l=l+1|0;j=j+-1|0}while(l>>>0>>0)}m=xb[c[(c[m>>2]|0)+16>>2]&63](m)|0;n=s+8|0;o=s+1|0;if(k>>>0>>0){j=0;l=0;p=k;while(1){u=a[((a[s>>0]&1)==0?o:c[n>>2]|0)+l>>0]|0;if(u<<24>>24!=0&(j|0)==(u<<24>>24|0)){u=c[h>>2]|0;c[h>>2]=u+4;c[u>>2]=m;u=a[s>>0]|0;j=0;l=(l>>>0<(((u&1)==0?(u&255)>>>1:c[q>>2]|0)+-1|0)>>>0&1)+l|0}v=Db[c[(c[r>>2]|0)+44>>2]&31](r,a[p>>0]|0)|0;u=c[h>>2]|0;c[h>>2]=u+4;c[u>>2]=v;p=p+1|0;if(p>>>0>=e>>>0)break;else j=j+1|0}}j=f+(k-b<<2)|0;l=c[h>>2]|0;if((j|0)!=(l|0)){k=l+-4|0;if(j>>>0>>0){do{v=c[j>>2]|0;c[j>>2]=c[k>>2];c[k>>2]=v;j=j+4|0;k=k+-4|0}while(j>>>0>>0);j=l}else j=l}}else{Bb[c[(c[r>>2]|0)+48>>2]&7](r,b,e,f)|0;j=f+(e-b<<2)|0;c[h>>2]=j}c[g>>2]=(d|0)==(e|0)?j:f+(d-b<<2)|0;Vj(s);i=t;return}function Nm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+224|0;k=h+8|0;o=h;p=h+196|0;j=h+32|0;m=h+28|0;a=h+24|0;n=h+20|0;l=h+16|0;q=o;c[q>>2]=37;c[q+4>>2]=0;xm(o+1|0,28259,1,c[d+4>>2]|0);q=_l()|0;r=k;c[r>>2]=f;c[r+4>>2]=g;f=p+(Tr(p,22,q,o,k)|0)|0;o=ym(p,f,d)|0;g=tk(d)|0;c[n>>2]=g;Mm(p,o,f,j,m,a,n);it(g)|0;c[l>>2]=c[b>>2];b=c[m>>2]|0;a=c[a>>2]|0;c[k>>2]=c[l>>2];a=Vr(k,j,b,a,d,e)|0;i=h;return a|0}function Om(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+128|0;k=h;o=h+116|0;q=h+104|0;j=h+20|0;m=h+16|0;b=h+12|0;n=h+8|0;l=h+4|0;a[o>>0]=a[28251]|0;a[o+1>>0]=a[28252]|0;a[o+2>>0]=a[28253]|0;a[o+3>>0]=a[28254]|0;a[o+4>>0]=a[28255]|0;a[o+5>>0]=a[28256]|0;xm(o+1|0,28257,0,c[e+4>>2]|0);p=_l()|0;c[k>>2]=g;o=q+(Tr(q,12,p,o,k)|0)|0;p=ym(q,o,e)|0;g=tk(e)|0;c[n>>2]=g;Mm(q,p,o,j,m,b,n);it(g)|0;c[l>>2]=c[d>>2];g=c[m>>2]|0;b=c[b>>2]|0;c[k>>2]=c[l>>2];b=Vr(k,j,g,b,e,f)|0;i=h;return b|0}function Pm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+240|0;k=h+8|0;o=h;p=h+204|0;j=h+32|0;m=h+28|0;a=h+24|0;n=h+20|0;l=h+16|0;q=o;c[q>>2]=37;c[q+4>>2]=0;xm(o+1|0,28259,0,c[d+4>>2]|0);q=_l()|0;r=k;c[r>>2]=f;c[r+4>>2]=g;f=p+(Tr(p,23,q,o,k)|0)|0;o=ym(p,f,d)|0;g=tk(d)|0;c[n>>2]=g;Mm(p,o,f,j,m,a,n);it(g)|0;c[l>>2]=c[b>>2];b=c[m>>2]|0;a=c[a>>2]|0;c[k>>2]=c[l>>2];a=Vr(k,j,b,a,d,e)|0;i=h;return a|0}function Qm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;y=i;i=i+336|0;p=y+296|0;l=y+32|0;j=y+24|0;g=y+8|0;k=y;n=y+300|0;m=y+64|0;o=y+68|0;u=y+60|0;t=y+56|0;q=y+52|0;r=y+48|0;B=k;c[B>>2]=37;c[B+4>>2]=0;B=Em(k+1|0,28262,c[d+4>>2]|0)|0;c[m>>2]=n;a=_l()|0;if(B){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=Tr(n,30,a,k,g)|0}else{h[j>>3]=f;a=Tr(n,30,a,k,j)|0}if((a|0)>29){g=_l()|0;c[l>>2]=c[d+8>>2];h[l+8>>3]=f;g=Ur(m,g,k,l)|0;a=c[m>>2]|0;if(!a)Xf();else{v=a;A=a;s=g}}else{v=c[m>>2]|0;A=0;s=a}g=v+s|0;j=ym(v,g,d)|0;if((v|0)!=(n|0)){a=ij(s<<3)|0;if(!a)Xf();else{w=v;z=a;x=a}}else{w=n;z=0;x=o}B=tk(d)|0;c[q>>2]=B;Rm(w,j,g,x,u,t,q);it(B)|0;c[r>>2]=c[b>>2];B=c[u>>2]|0;a=c[t>>2]|0;c[p>>2]=c[r>>2];a=Vr(p,x,B,a,d,e)|0;c[b>>2]=a;if(z)jj(z);jj(A);i=y;return a|0}function Rm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=i;i=i+16|0;v=w;u=Mp(j,10860)|0;s=Mp(j,11016)|0;vb[c[(c[s>>2]|0)+20>>2]&63](v,s);c[h>>2]=f;j=a[b>>0]|0;switch(j<<24>>24){case 43:case 45:{t=Db[c[(c[u>>2]|0)+44>>2]&31](u,j)|0;l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=t;l=b+1|0;break}default:l=b}t=e;a:do if((t-l|0)>1?(a[l>>0]|0)==48:0){j=l+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{m=4;break a}}r=Db[c[(c[u>>2]|0)+44>>2]&31](u,48)|0;q=c[h>>2]|0;c[h>>2]=q+4;c[q>>2]=r;l=l+2|0;q=Db[c[(c[u>>2]|0)+44>>2]&31](u,a[j>>0]|0)|0;r=c[h>>2]|0;c[h>>2]=r+4;c[r>>2]=q;if(l>>>0>>0){j=l;while(1){r=a[j>>0]|0;if(!(Sh(r,_l()|0)|0)){r=l;break a}j=j+1|0;if(j>>>0>=e>>>0){r=l;break}}}else{r=l;j=l}}else m=4;while(0);b:do if((m|0)==4)if(l>>>0>>0){j=l;while(1){r=a[j>>0]|0;if(!(Rh(r,_l()|0)|0)){r=l;break b}j=j+1|0;if(j>>>0>=e>>>0){r=l;break}}}else{r=l;j=l}while(0);p=a[v>>0]|0;q=v+4|0;if(((p&1)==0?(p&255)>>>1:c[q>>2]|0)|0){if((r|0)!=(j|0)?(k=j+-1|0,r>>>0>>0):0){l=r;do{p=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=p;l=l+1|0;k=k+-1|0}while(l>>>0>>0)}m=xb[c[(c[s>>2]|0)+16>>2]&63](s)|0;n=v+8|0;o=v+1|0;if(r>>>0>>0){k=0;l=0;p=r;while(1){x=a[((a[v>>0]&1)==0?o:c[n>>2]|0)+l>>0]|0;if(x<<24>>24>0&(k|0)==(x<<24>>24|0)){x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=m;x=a[v>>0]|0;k=0;l=(l>>>0<(((x&1)==0?(x&255)>>>1:c[q>>2]|0)+-1|0)>>>0&1)+l|0}y=Db[c[(c[u>>2]|0)+44>>2]&31](u,a[p>>0]|0)|0;x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=y;p=p+1|0;if(p>>>0>=j>>>0)break;else k=k+1|0}}k=f+(r-b<<2)|0;m=c[h>>2]|0;if((k|0)!=(m|0)){l=m+-4|0;if(k>>>0>>0){do{y=c[k>>2]|0;c[k>>2]=c[l>>2];c[l>>2]=y;k=k+4|0;l=l+-4|0}while(k>>>0>>0);l=u;k=m}else{l=u;k=m}}else l=u}else{Bb[c[(c[u>>2]|0)+48>>2]&7](u,r,j,c[h>>2]|0)|0;k=(c[h>>2]|0)+(j-r<<2)|0;c[h>>2]=k;l=u}c:do if(j>>>0>>0){while(1){k=a[j>>0]|0;if(k<<24>>24==46)break;x=Db[c[(c[l>>2]|0)+44>>2]&31](u,k)|0;y=c[h>>2]|0;k=y+4|0;c[h>>2]=k;c[y>>2]=x;j=j+1|0;if(j>>>0>=e>>>0)break c}x=xb[c[(c[s>>2]|0)+12>>2]&63](s)|0;y=c[h>>2]|0;k=y+4|0;c[h>>2]=k;c[y>>2]=x;j=j+1|0}while(0);Bb[c[(c[u>>2]|0)+48>>2]&7](u,j,e,k)|0;y=(c[h>>2]|0)+(t-j<<2)|0;c[h>>2]=y;c[g>>2]=(d|0)==(e|0)?y:f+(d-b<<2)|0;Vj(v);i=w;return}function Sm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+352|0;r=A+304|0;n=A+48|0;m=A+32|0;j=A+24|0;g=A+8|0;l=A;p=A+308|0;o=A+72|0;q=A+76|0;w=A+68|0;v=A+64|0;s=A+60|0;t=A+56|0;k=l;c[k>>2]=37;c[k+4>>2]=0;k=Em(l+1|0,28263,c[d+4>>2]|0)|0;c[o>>2]=p;a=_l()|0;if(k){c[g>>2]=c[d+8>>2];h[g+8>>3]=f;a=Tr(p,30,a,l,g)|0}else{h[j>>3]=f;a=Tr(p,30,a,l,j)|0}if((a|0)>29){a=_l()|0;if(k){c[m>>2]=c[d+8>>2];h[m+8>>3]=f;g=Ur(o,a,l,m)|0}else{h[n>>3]=f;g=Ur(o,a,l,n)|0}a=c[o>>2]|0;if(!a)Xf();else{x=a;C=a;u=g}}else{x=c[o>>2]|0;C=0;u=a}g=x+u|0;j=ym(x,g,d)|0;if((x|0)!=(p|0)){a=ij(u<<3)|0;if(!a)Xf();else{y=x;B=a;z=a}}else{y=p;B=0;z=q}a=tk(d)|0;c[s>>2]=a;Rm(y,j,g,z,w,v,s);it(a)|0;c[t>>2]=c[b>>2];y=c[w>>2]|0;a=c[v>>2]|0;c[r>>2]=c[t>>2];a=Vr(r,z,y,a,d,e)|0;c[b>>2]=a;if(B)jj(B);jj(C);i=A;return a|0}function Tm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+192|0;m=h;b=h+180|0;j=h+160|0;k=h+12|0;o=h+8|0;n=h+4|0;a[b>>0]=a[28265]|0;a[b+1>>0]=a[28266]|0;a[b+2>>0]=a[28267]|0;a[b+3>>0]=a[28268]|0;a[b+4>>0]=a[28269]|0;a[b+5>>0]=a[28270]|0;l=_l()|0;c[m>>2]=g;b=Tr(j,20,l,b,m)|0;l=j+b|0;g=ym(j,l,e)|0;p=tk(e)|0;c[o>>2]=p;o=Mp(o,10860)|0;it(p)|0;Bb[c[(c[o>>2]|0)+48>>2]&7](o,j,l,k)|0;b=k+(b<<2)|0;c[n>>2]=c[d>>2];c[m>>2]=c[n>>2];b=Vr(m,k,(g|0)==(l|0)?b:k+(g-j<<2)|0,b,e,f)|0;i=h;return b|0}function Um(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+32|0;u=B+16|0;t=B+12|0;x=B+8|0;v=B+4|0;w=B;y=tk(h)|0;c[x>>2]=y;x=Mp(x,10868)|0;it(y)|0;c[j>>2]=0;y=x+8|0;n=c[f>>2]|0;a:do if((l|0)!=(m|0)){b:while(1){o=n;if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(xb[c[(c[n>>2]|0)+36>>2]&63](n)|0)==-1:0){c[f>>2]=0;n=0;o=0}}else n=0;r=(n|0)==0;q=c[g>>2]|0;p=q;do if(q){if((c[q+12>>2]|0)==(c[q+16>>2]|0)?(xb[c[(c[q>>2]|0)+36>>2]&63](q)|0)==-1:0){c[g>>2]=0;p=0;A=11;break}if(!r){A=12;break b}}else A=11;while(0);if((A|0)==11){A=0;if(r){A=12;break}else q=0}c:do if((pb[c[(c[x>>2]|0)+36>>2]&31](x,a[l>>0]|0,0)|0)<<24>>24==37){q=l+1|0;if((q|0)==(m|0)){A=15;break b}s=pb[c[(c[x>>2]|0)+36>>2]&31](x,a[q>>0]|0,0)|0;switch(s<<24>>24){case 48:case 69:{r=l+2|0;if((r|0)==(m|0)){A=18;break b}l=q;q=pb[c[(c[x>>2]|0)+36>>2]&31](x,a[r>>0]|0,0)|0;n=s;break}default:{q=s;n=0}}s=c[(c[e>>2]|0)+36>>2]|0;c[v>>2]=o;c[w>>2]=p;c[t>>2]=c[v>>2];c[u>>2]=c[w>>2];c[f>>2]=Ab[s&15](e,t,u,h,j,k,q,n)|0;l=l+2|0}else{o=a[l>>0]|0;if(o<<24>>24>-1?(z=c[y>>2]|0,(b[z+(o<<24>>24<<1)>>1]&8192)!=0):0){do{l=l+1|0;if((l|0)==(m|0)){l=m;break}o=a[l>>0]|0;if(o<<24>>24<=-1)break}while((b[z+(o<<24>>24<<1)>>1]&8192)!=0);o=q;while(1){if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(xb[c[(c[n>>2]|0)+36>>2]&63](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;p=(n|0)==0;do if(q){if((c[q+12>>2]|0)!=(c[q+16>>2]|0))if(p){s=o;break}else break c;if((xb[c[(c[q>>2]|0)+36>>2]&63](q)|0)!=-1)if(p^(o|0)==0){s=o;q=o;break}else break c;else{c[g>>2]=0;o=0;A=37;break}}else A=37;while(0);if((A|0)==37){A=0;if(p)break c;else{s=o;q=0}}p=n+12|0;o=c[p>>2]|0;r=n+16|0;if((o|0)==(c[r>>2]|0))o=xb[c[(c[n>>2]|0)+36>>2]&63](n)|0;else o=d[o>>0]|0;if((o&255)<<24>>24<=-1)break c;if(!(b[(c[y>>2]|0)+(o<<24>>24<<1)>>1]&8192))break c;o=c[p>>2]|0;if((o|0)==(c[r>>2]|0)){xb[c[(c[n>>2]|0)+40>>2]&63](n)|0;o=s;continue}else{c[p>>2]=o+1;o=s;continue}}}p=n+12|0;o=c[p>>2]|0;q=n+16|0;if((o|0)==(c[q>>2]|0))o=xb[c[(c[n>>2]|0)+36>>2]&63](n)|0;else o=d[o>>0]|0;s=Db[c[(c[x>>2]|0)+12>>2]&31](x,o&255)|0;if(s<<24>>24!=(Db[c[(c[x>>2]|0)+12>>2]&31](x,a[l>>0]|0)|0)<<24>>24){A=55;break b}o=c[p>>2]|0;if((o|0)==(c[q>>2]|0))xb[c[(c[n>>2]|0)+40>>2]&63](n)|0;else c[p>>2]=o+1;l=l+1|0}while(0);n=c[f>>2]|0;if(!((l|0)!=(m|0)&(c[j>>2]|0)==0))break a}if((A|0)==12){c[j>>2]=4;break}else if((A|0)==15){c[j>>2]=4;break}else if((A|0)==18){c[j>>2]=4;break}else if((A|0)==55){c[j>>2]=4;n=c[f>>2]|0;break}}while(0);if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(xb[c[(c[n>>2]|0)+36>>2]&63](n)|0)==-1:0){c[f>>2]=0;n=0}}else n=0;l=(n|0)==0;o=c[g>>2]|0;do if(o){if((c[o+12>>2]|0)==(c[o+16>>2]|0)?(xb[c[(c[o>>2]|0)+36>>2]&63](o)|0)==-1:0){c[g>>2]=0;A=65;break}if(!l)A=66}else A=65;while(0);if((A|0)==65?l:0)A=66;if((A|0)==66)c[j>>2]=c[j>>2]|2;i=B;return n|0}function Vm(a){a=a|0;return}function Wm(a){a=a|0;of(a);return}function Xm(a){a=a|0;return 2}function Ym(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=Um(a,k,j,e,f,g,28271,28279)|0;i=h;return a|0}function Zm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;o=b+8|0;o=xb[c[(c[o>>2]|0)+20>>2]&63](o)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];e=a[o>>0]|0;p=(e&1)==0;d=p?o+1|0:c[o+8>>2]|0;e=d+(p?(e&255)>>>1:c[o+4>>2]|0)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=Um(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function _m(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=tk(e)|0;c[m>>2]=l;e=Mp(m,10868)|0;it(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];$m(a,g+24|0,b,j,f,e);i=h;return c[b>>2]|0}function $m(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=xb[c[c[a>>2]>>2]&63](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(yr(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function an(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=tk(e)|0;c[m>>2]=l;e=Mp(m,10868)|0;it(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];bn(a,g+16|0,b,j,f,e);i=h;return c[b>>2]|0}function bn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=xb[c[(c[a>>2]|0)+4>>2]&63](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(yr(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function cn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=tk(e)|0;c[m>>2]=l;e=Mp(m,10868)|0;it(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];dn(a,g+20|0,b,j,f,e);i=h;return c[b>>2]|0}function dn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wr(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function en(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;S=i;i=i+144|0;l=S+132|0;k=S+116|0;L=S+128|0;w=S+124|0;H=S+120|0;M=S+112|0;N=S+108|0;O=S+104|0;P=S+100|0;Q=S+96|0;R=S+92|0;m=S+88|0;n=S+84|0;o=S+80|0;p=S+76|0;q=S+72|0;r=S+68|0;s=S+64|0;t=S+60|0;u=S+56|0;v=S+52|0;x=S+48|0;y=S+44|0;z=S+40|0;A=S+36|0;B=S+32|0;C=S+28|0;D=S+24|0;E=S+20|0;F=S+16|0;G=S+12|0;I=S+8|0;J=S+4|0;K=S;c[g>>2]=0;U=tk(f)|0;c[L>>2]=U;L=Mp(L,10868)|0;it(U)|0;do switch(j<<24>>24|0){case 65:case 97:{c[w>>2]=c[e>>2];c[l>>2]=c[w>>2];$m(b,h+24|0,d,l,g,L);T=26;break}case 104:case 66:case 98:{c[H>>2]=c[e>>2];c[l>>2]=c[H>>2];bn(b,h+16|0,d,l,g,L);T=26;break}case 99:{T=b+8|0;T=xb[c[(c[T>>2]|0)+12>>2]&63](T)|0;c[M>>2]=c[d>>2];c[N>>2]=c[e>>2];j=a[T>>0]|0;e=(j&1)==0;U=e?T+1|0:c[T+8>>2]|0;T=U+(e?(j&255)>>>1:c[T+4>>2]|0)|0;c[k>>2]=c[M>>2];c[l>>2]=c[N>>2];c[d>>2]=Um(b,k,l,f,g,h,U,T)|0;T=26;break}case 101:case 100:{c[O>>2]=c[e>>2];c[l>>2]=c[O>>2];fn(b,h+12|0,d,l,g,L);T=26;break}case 68:{c[P>>2]=c[d>>2];c[Q>>2]=c[e>>2];c[k>>2]=c[P>>2];c[l>>2]=c[Q>>2];c[d>>2]=Um(b,k,l,f,g,h,28279,28287)|0;T=26;break}case 70:{c[R>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[m>>2];c[d>>2]=Um(b,k,l,f,g,h,28287,28295)|0;T=26;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];gn(b,h+8|0,d,l,g,L);T=26;break}case 73:{c[o>>2]=c[e>>2];c[l>>2]=c[o>>2];hn(b,h+8|0,d,l,g,L);T=26;break}case 106:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];jn(b,h+28|0,d,l,g,L);T=26;break}case 109:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];kn(b,h+16|0,d,l,g,L);T=26;break}case 77:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];ln(b,h+4|0,d,l,g,L);T=26;break}case 116:case 110:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];mn(b,d,l,g,L);T=26;break}case 112:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];nn(b,h+8|0,d,l,g,L);T=26;break}case 114:{c[u>>2]=c[d>>2];c[v>>2]=c[e>>2];c[k>>2]=c[u>>2];c[l>>2]=c[v>>2];c[d>>2]=Um(b,k,l,f,g,h,28295,28306)|0;T=26;break}case 82:{c[x>>2]=c[d>>2];c[y>>2]=c[e>>2];c[k>>2]=c[x>>2];c[l>>2]=c[y>>2];c[d>>2]=Um(b,k,l,f,g,h,28306,28311)|0;T=26;break}case 83:{c[z>>2]=c[e>>2];c[l>>2]=c[z>>2];on(b,h,d,l,g,L);T=26;break}case 84:{c[A>>2]=c[d>>2];c[B>>2]=c[e>>2];c[k>>2]=c[A>>2];c[l>>2]=c[B>>2];c[d>>2]=Um(b,k,l,f,g,h,28311,28319)|0;T=26;break}case 119:{c[C>>2]=c[e>>2];c[l>>2]=c[C>>2];pn(b,h+24|0,d,l,g,L);T=26;break}case 120:{U=c[(c[b>>2]|0)+20>>2]|0;c[D>>2]=c[d>>2];c[E>>2]=c[e>>2];c[k>>2]=c[D>>2];c[l>>2]=c[E>>2];k=wb[U&63](b,k,l,f,g,h)|0;break}case 88:{T=b+8|0;T=xb[c[(c[T>>2]|0)+24>>2]&63](T)|0;c[F>>2]=c[d>>2];c[G>>2]=c[e>>2];j=a[T>>0]|0;e=(j&1)==0;U=e?T+1|0:c[T+8>>2]|0;T=U+(e?(j&255)>>>1:c[T+4>>2]|0)|0;c[k>>2]=c[F>>2];c[l>>2]=c[G>>2];c[d>>2]=Um(b,k,l,f,g,h,U,T)|0;T=26;break}case 121:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];dn(b,h+20|0,d,l,g,L);T=26;break}case 89:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];qn(b,h+20|0,d,l,g,L);T=26;break}case 37:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];rn(b,d,l,g,L);T=26;break}default:{c[g>>2]=c[g>>2]|4;T=26}}while(0);if((T|0)==26)k=c[d>>2]|0;i=S;return k|0}function fn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wr(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function gn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wr(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function hn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wr(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function jn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wr(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function kn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wr(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function ln(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wr(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return} +function mn(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){h=c[e>>2]|0;do if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((xb[c[(c[h>>2]|0)+36>>2]&63](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0;while(0);h=(h|0)==0;a=c[f>>2]|0;do if(a){if((c[a+12>>2]|0)!=(c[a+16>>2]|0))if(h)break;else break a;if((xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)!=-1)if(h)break;else break a;else{c[f>>2]=0;k=12;break}}else k=12;while(0);if((k|0)==12){k=0;if(h){a=0;break}else a=0}h=c[e>>2]|0;i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else h=d[i>>0]|0;if((h&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(h<<24>>24<<1)>>1]&8192))break;h=c[e>>2]|0;a=h+12|0;i=c[a>>2]|0;if((i|0)==(c[h+16>>2]|0)){xb[c[(c[h>>2]|0)+40>>2]&63](h)|0;continue}else{c[a>>2]=i+1;continue}}h=c[e>>2]|0;do if(h){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((xb[c[(c[h>>2]|0)+36>>2]&63](h)|0)==-1){c[e>>2]=0;h=0;break}else{h=c[e>>2]|0;break}}else h=0;while(0);h=(h|0)==0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)==-1:0){c[f>>2]=0;k=32;break}if(!h)k=33}else k=32;while(0);if((k|0)==32?h:0)k=33;if((k|0)==33)c[g>>2]=c[g>>2]|2;return}function nn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=xb[c[(c[m>>2]|0)+8>>2]&63](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=yr(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4;while(0);i=n;return}function on(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wr(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function pn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wr(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function qn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Wr(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function rn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a=c[b>>2]|0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}}else a=0;while(0);h=(a|0)==0;a=c[e>>2]|0;do if(a){if((c[a+12>>2]|0)==(c[a+16>>2]|0)?(xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)==-1:0){c[e>>2]=0;j=11;break}if(h){i=a;j=13}else j=12}else j=11;while(0);if((j|0)==11)if(h)j=12;else{i=0;j=13}a:do if((j|0)==12)c[f>>2]=c[f>>2]|6;else if((j|0)==13){a=c[b>>2]|0;h=c[a+12>>2]|0;if((h|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=d[h>>0]|0;if((pb[c[(c[g>>2]|0)+36>>2]&31](g,a&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}a=c[b>>2]|0;h=a+12|0;g=c[h>>2]|0;if((g|0)==(c[a+16>>2]|0)){xb[c[(c[a>>2]|0)+40>>2]&63](a)|0;a=c[b>>2]|0;if(!a)a=0;else j=21}else{c[h>>2]=g+1;j=21}do if((j|0)==21)if((c[a+12>>2]|0)==(c[a+16>>2]|0))if((xb[c[(c[a>>2]|0)+36>>2]&63](a)|0)==-1){c[b>>2]=0;a=0;break}else{a=c[b>>2]|0;break}while(0);a=(a|0)==0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(xb[c[(c[i>>2]|0)+36>>2]&63](i)|0)==-1:0){c[e>>2]=0;j=30;break}if(a)break a}else j=30;while(0);if((j|0)==30?!a:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function sn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+32|0;r=w+16|0;q=w+12|0;u=w+8|0;s=w+4|0;t=w;k=tk(e)|0;c[u>>2]=k;u=Mp(u,10860)|0;it(k)|0;c[f>>2]=0;k=c[b>>2]|0;a:do if((h|0)!=(j|0)){b:while(1){m=k;if(k){l=c[k+12>>2]|0;if((l|0)==(c[k+16>>2]|0))l=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else l=c[l>>2]|0;if((l|0)==-1){c[b>>2]=0;k=0;o=1;p=0}else{o=0;p=m}}else{k=0;o=1;p=m}n=c[d>>2]|0;l=n;do if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0))m=xb[c[(c[n>>2]|0)+36>>2]&63](n)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(o)break;else{v=16;break b}else{c[d>>2]=0;l=0;v=14;break}}else v=14;while(0);if((v|0)==14){v=0;if(o){v=16;break}else n=0}c:do if((pb[c[(c[u>>2]|0)+52>>2]&31](u,c[h>>2]|0,0)|0)<<24>>24==37){m=h+4|0;if((m|0)==(j|0)){v=19;break b}o=pb[c[(c[u>>2]|0)+52>>2]&31](u,c[m>>2]|0,0)|0;switch(o<<24>>24){case 48:case 69:{n=h+8|0;if((n|0)==(j|0)){v=22;break b}h=m;m=pb[c[(c[u>>2]|0)+52>>2]&31](u,c[n>>2]|0,0)|0;k=o;break}default:{m=o;k=0}}o=c[(c[a>>2]|0)+36>>2]|0;c[s>>2]=p;c[t>>2]=l;c[q>>2]=c[s>>2];c[r>>2]=c[t>>2];c[b>>2]=Ab[o&15](a,q,r,e,f,g,m,k)|0;h=h+8|0}else{if(!(pb[c[(c[u>>2]|0)+12>>2]&31](u,8192,c[h>>2]|0)|0)){m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else l=c[l>>2]|0;p=Db[c[(c[u>>2]|0)+28>>2]&31](u,l)|0;if((p|0)!=(Db[c[(c[u>>2]|0)+28>>2]&31](u,c[h>>2]|0)|0)){v=59;break b}l=c[m>>2]|0;if((l|0)==(c[n>>2]|0))xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;else c[m>>2]=l+4;h=h+4|0;break}do{h=h+4|0;if((h|0)==(j|0)){h=j;break}}while(pb[c[(c[u>>2]|0)+12>>2]&31](u,8192,c[h>>2]|0)|0);l=n;o=n;while(1){if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))m=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else m=c[m>>2]|0;if((m|0)==-1){c[b>>2]=0;n=1;k=0}else n=0}else{n=1;k=0}do if(o){m=c[o+12>>2]|0;if((m|0)==(c[o+16>>2]|0))m=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else m=c[m>>2]|0;if((m|0)!=-1)if(n^(l|0)==0){p=l;o=l;break}else break c;else{c[d>>2]=0;l=0;v=42;break}}else v=42;while(0);if((v|0)==42){v=0;if(n)break c;else{p=l;o=0}}m=k+12|0;l=c[m>>2]|0;n=k+16|0;if((l|0)==(c[n>>2]|0))l=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else l=c[l>>2]|0;if(!(pb[c[(c[u>>2]|0)+12>>2]&31](u,8192,l)|0))break c;l=c[m>>2]|0;if((l|0)==(c[n>>2]|0)){xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;l=p;continue}else{c[m>>2]=l+4;l=p;continue}}}while(0);k=c[b>>2]|0;if(!((h|0)!=(j|0)&(c[f>>2]|0)==0))break a}if((v|0)==16){c[f>>2]=4;break}else if((v|0)==19){c[f>>2]=4;break}else if((v|0)==22){c[f>>2]=4;break}else if((v|0)==59){c[f>>2]=4;k=c[b>>2]|0;break}}while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}h=c[d>>2]|0;do if(h){l=c[h+12>>2]|0;if((l|0)==(c[h+16>>2]|0))h=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else h=c[l>>2]|0;if((h|0)!=-1)if(m)break;else{v=74;break}else{c[d>>2]=0;v=72;break}}else v=72;while(0);if((v|0)==72?m:0)v=74;if((v|0)==74)c[f>>2]=c[f>>2]|2;i=w;return k|0}function tn(a){a=a|0;return}function un(a){a=a|0;of(a);return}function vn(a){a=a|0;return 2}function wn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;m=h+4|0;l=h;c[m>>2]=c[b>>2];c[l>>2]=c[d>>2];c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];a=sn(a,k,j,e,f,g,11436,11468)|0;i=h;return a|0}function xn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+16|0;k=j+12|0;l=j+8|0;n=j+4|0;m=j;q=b+8|0;q=xb[c[(c[q>>2]|0)+20>>2]&63](q)|0;c[n>>2]=c[d>>2];c[m>>2]=c[e>>2];o=a[q>>0]|0;p=(o&1)==0;e=q+4|0;d=p?e:c[q+8>>2]|0;e=d+((p?(o&255)>>>1:c[e>>2]|0)<<2)|0;c[l>>2]=c[n>>2];c[k>>2]=c[m>>2];b=sn(b,l,k,f,g,h,d,e)|0;i=j;return b|0}function yn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=tk(e)|0;c[m>>2]=l;e=Mp(m,10860)|0;it(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];zn(a,g+24|0,b,j,f,e);i=h;return c[b>>2]|0}function zn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=xb[c[c[a>>2]>>2]&63](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Jr(d,j,a,a+168|0,g,f,0)|0)-a|0;if((d|0)<168)c[b>>2]=((d|0)/12|0|0)%7|0;i=h;return}function An(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=tk(e)|0;c[m>>2]=l;e=Mp(m,10860)|0;it(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Bn(a,g+16|0,b,j,f,e);i=h;return c[b>>2]|0}function Bn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;i=i+16|0;j=h+4|0;k=h;a=a+8|0;a=xb[c[(c[a>>2]|0)+4>>2]&63](a)|0;c[k>>2]=c[e>>2];c[j>>2]=c[k>>2];d=(Jr(d,j,a,a+288|0,g,f,0)|0)-a|0;if((d|0)<288)c[b>>2]=((d|0)/12|0|0)%12|0;i=h;return}function Cn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+8|0;m=h+4|0;k=h;l=tk(e)|0;c[m>>2]=l;e=Mp(m,10860)|0;it(l)|0;c[k>>2]=c[d>>2];c[j>>2]=c[k>>2];Dn(a,g+20|0,b,j,f,e);i=h;return c[b>>2]|0}function Dn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Xr(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a+-69|0)>>>0<31?a+1900|0:a;c[b>>2]=a+-1900}i=h;return}function En(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;S=i;i=i+144|0;l=S+132|0;k=S+116|0;L=S+128|0;w=S+124|0;H=S+120|0;M=S+112|0;N=S+108|0;O=S+104|0;P=S+100|0;Q=S+96|0;R=S+92|0;m=S+88|0;n=S+84|0;o=S+80|0;p=S+76|0;q=S+72|0;r=S+68|0;s=S+64|0;t=S+60|0;u=S+56|0;v=S+52|0;x=S+48|0;y=S+44|0;z=S+40|0;A=S+36|0;B=S+32|0;C=S+28|0;D=S+24|0;E=S+20|0;F=S+16|0;G=S+12|0;I=S+8|0;J=S+4|0;K=S;c[g>>2]=0;U=tk(f)|0;c[L>>2]=U;L=Mp(L,10860)|0;it(U)|0;do switch(j<<24>>24|0){case 65:case 97:{c[w>>2]=c[e>>2];c[l>>2]=c[w>>2];zn(b,h+24|0,d,l,g,L);T=26;break}case 104:case 66:case 98:{c[H>>2]=c[e>>2];c[l>>2]=c[H>>2];Bn(b,h+16|0,d,l,g,L);T=26;break}case 99:{U=b+8|0;U=xb[c[(c[U>>2]|0)+12>>2]&63](U)|0;c[M>>2]=c[d>>2];c[N>>2]=c[e>>2];j=a[U>>0]|0;e=(j&1)==0;T=U+4|0;U=e?T:c[U+8>>2]|0;T=U+((e?(j&255)>>>1:c[T>>2]|0)<<2)|0;c[k>>2]=c[M>>2];c[l>>2]=c[N>>2];c[d>>2]=sn(b,k,l,f,g,h,U,T)|0;T=26;break}case 101:case 100:{c[O>>2]=c[e>>2];c[l>>2]=c[O>>2];Fn(b,h+12|0,d,l,g,L);T=26;break}case 68:{c[P>>2]=c[d>>2];c[Q>>2]=c[e>>2];c[k>>2]=c[P>>2];c[l>>2]=c[Q>>2];c[d>>2]=sn(b,k,l,f,g,h,11468,11500)|0;T=26;break}case 70:{c[R>>2]=c[d>>2];c[m>>2]=c[e>>2];c[k>>2]=c[R>>2];c[l>>2]=c[m>>2];c[d>>2]=sn(b,k,l,f,g,h,11500,11532)|0;T=26;break}case 72:{c[n>>2]=c[e>>2];c[l>>2]=c[n>>2];Gn(b,h+8|0,d,l,g,L);T=26;break}case 73:{c[o>>2]=c[e>>2];c[l>>2]=c[o>>2];Hn(b,h+8|0,d,l,g,L);T=26;break}case 106:{c[p>>2]=c[e>>2];c[l>>2]=c[p>>2];In(b,h+28|0,d,l,g,L);T=26;break}case 109:{c[q>>2]=c[e>>2];c[l>>2]=c[q>>2];Jn(b,h+16|0,d,l,g,L);T=26;break}case 77:{c[r>>2]=c[e>>2];c[l>>2]=c[r>>2];Kn(b,h+4|0,d,l,g,L);T=26;break}case 116:case 110:{c[s>>2]=c[e>>2];c[l>>2]=c[s>>2];Ln(b,d,l,g,L);T=26;break}case 112:{c[t>>2]=c[e>>2];c[l>>2]=c[t>>2];Mn(b,h+8|0,d,l,g,L);T=26;break}case 114:{c[u>>2]=c[d>>2];c[v>>2]=c[e>>2];c[k>>2]=c[u>>2];c[l>>2]=c[v>>2];c[d>>2]=sn(b,k,l,f,g,h,11532,11576)|0;T=26;break}case 82:{c[x>>2]=c[d>>2];c[y>>2]=c[e>>2];c[k>>2]=c[x>>2];c[l>>2]=c[y>>2];c[d>>2]=sn(b,k,l,f,g,h,11576,11596)|0;T=26;break}case 83:{c[z>>2]=c[e>>2];c[l>>2]=c[z>>2];Nn(b,h,d,l,g,L);T=26;break}case 84:{c[A>>2]=c[d>>2];c[B>>2]=c[e>>2];c[k>>2]=c[A>>2];c[l>>2]=c[B>>2];c[d>>2]=sn(b,k,l,f,g,h,11596,11628)|0;T=26;break}case 119:{c[C>>2]=c[e>>2];c[l>>2]=c[C>>2];On(b,h+24|0,d,l,g,L);T=26;break}case 120:{U=c[(c[b>>2]|0)+20>>2]|0;c[D>>2]=c[d>>2];c[E>>2]=c[e>>2];c[k>>2]=c[D>>2];c[l>>2]=c[E>>2];k=wb[U&63](b,k,l,f,g,h)|0;break}case 88:{U=b+8|0;U=xb[c[(c[U>>2]|0)+24>>2]&63](U)|0;c[F>>2]=c[d>>2];c[G>>2]=c[e>>2];j=a[U>>0]|0;e=(j&1)==0;T=U+4|0;U=e?T:c[U+8>>2]|0;T=U+((e?(j&255)>>>1:c[T>>2]|0)<<2)|0;c[k>>2]=c[F>>2];c[l>>2]=c[G>>2];c[d>>2]=sn(b,k,l,f,g,h,U,T)|0;T=26;break}case 121:{c[I>>2]=c[e>>2];c[l>>2]=c[I>>2];Dn(b,h+20|0,d,l,g,L);T=26;break}case 89:{c[J>>2]=c[e>>2];c[l>>2]=c[J>>2];Pn(b,h+20|0,d,l,g,L);T=26;break}case 37:{c[K>>2]=c[e>>2];c[l>>2]=c[K>>2];Qn(b,d,l,g,L);T=26;break}default:{c[g>>2]=c[g>>2]|4;T=26}}while(0);if((T|0)==26)k=c[d>>2]|0;i=S;return k|0}function Fn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Xr(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Gn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Xr(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Hn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Xr(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function In(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Xr(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Jn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Xr(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;i=h;return}function Kn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Xr(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Ln(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=c[g>>2]|0;if(!(pb[c[(c[f>>2]|0)+12>>2]&31](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){xb[c[(c[a>>2]|0)+40>>2]&63](a)|0;continue}else{c[g>>2]=h+4;continue}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break;else{i=39;break}else{c[d>>2]=0;i=37;break}}else i=37;while(0);if((i|0)==37?g:0)i=39;if((i|0)==39)c[e>>2]=c[e>>2]|2;return}function Mn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;k=n+4|0;l=n;m=b+8|0;m=xb[c[(c[m>>2]|0)+8>>2]&63](m)|0;b=a[m>>0]|0;if(!(b&1))j=(b&255)>>>1;else j=c[m+4>>2]|0;b=a[m+12>>0]|0;if(!(b&1))b=(b&255)>>>1;else b=c[m+16>>2]|0;do if((j|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=Jr(e,k,m,m+24|0,h,g,0)|0;j=c[d>>2]|0;if((b|0)==(m|0)&(j|0)==12){c[d>>2]=0;break}if((j|0)<12&(b-m|0)==12)c[d>>2]=j+12}else c[g>>2]=c[g>>2]|4;while(0);i=n;return}function Nn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Xr(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function On(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Xr(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;i=h;return}function Pn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;i=i+16|0;a=h+4|0;j=h;c[j>>2]=c[e>>2];c[a>>2]=c[j>>2];a=Xr(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;i=h;return}function Qn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=c[g>>2]|0;if((pb[c[(c[f>>2]|0)+52>>2]&31](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0)){xb[c[(c[a>>2]|0)+40>>2]&63](a)|0;a=c[b>>2]|0;if(!a)g=1;else j=25}else{c[g>>2]=h+4;j=25}do if((j|0)==25){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=xb[c[(c[a>>2]|0)+36>>2]&63](a)|0;else a=c[g>>2]|0;if((a|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=xb[c[(c[i>>2]|0)+36>>2]&63](i)|0;else a=c[a>>2]|0;if((a|0)!=-1)if(g)break a;else break;else{c[d>>2]=0;j=37;break}}else j=37;while(0);if((j|0)==37?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function Rn(a){a=a|0;Sn(a+8|0);return}function Sn(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(_l()|0))Qh(c[a>>2]|0);return}function Tn(a){a=a|0;Sn(a+8|0);of(a);return}function Un(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;i=i+112|0;k=l+4|0;e=l;c[e>>2]=k+100;Vn(b+8|0,k,e,g,h,j);g=c[e>>2]|0;e=c[d>>2]|0;if((k|0)!=(g|0))do{j=a[k>>0]|0;do if(e){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){d=(Db[c[(c[e>>2]|0)+52>>2]&31](e,j&255)|0)==-1;e=d?0:e;break}else{c[f>>2]=h+1;a[h>>0]=j;break}}else e=0;while(0);k=k+1|0}while((k|0)!=(g|0));i=l;return e|0}function Vn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;a[l>>0]=37;j=l+1|0;a[j>>0]=g;k=l+2|0;a[k>>0]=h;a[l+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}c[e>>2]=d+(Ja(d|0,(c[e>>2]|0)-d|0,l|0,f|0,c[b>>2]|0)|0);i=m;return}function Wn(a){a=a|0;Sn(a+8|0);return}function Xn(a){a=a|0;Sn(a+8|0);of(a);return}function Yn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;i=i+416|0;e=j+8|0;d=j;c[d>>2]=e+400;Zn(a+8|0,e,d,f,g,h);a=c[d>>2]|0;d=c[b>>2]|0;if((e|0)!=(a|0)){f=e;do{e=c[f>>2]|0;if(!d)d=0;else{g=d+24|0;h=c[g>>2]|0;if((h|0)==(c[d+28>>2]|0))e=Db[c[(c[d>>2]|0)+52>>2]&31](d,e)|0;else{c[g>>2]=h+4;c[h>>2]=e}d=(e|0)==-1?0:d}f=f+4|0}while((f|0)!=(a|0))}i=j;return d|0}function Zn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+128|0;l=h+16|0;m=h+12|0;j=h;k=h+8|0;c[m>>2]=l+100;Vn(a,l,m,e,f,g);g=j;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=l;g=(c[d>>2]|0)-b>>2;f=Uh(c[a>>2]|0)|0;g=fi(b,k,g,j)|0;if(f)Uh(f)|0;c[d>>2]=b+(g<<2);i=h;return}function _n(a){a=a|0;return}function $n(a){a=a|0;of(a);return}function ao(a){a=a|0;return 127}function bo(a){a=a|0;return 127}function co(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function eo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function fo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function go(a,b){a=a|0;b=b|0;Uj(a,1,45);return}function ho(a){a=a|0;return 0}function io(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function jo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function ko(a){a=a|0;return}function lo(a){a=a|0;of(a);return}function mo(a){a=a|0;return 127}function no(a){a=a|0;return 127}function oo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function po(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function qo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ro(a,b){a=a|0;b=b|0;Uj(a,1,45);return}function so(a){a=a|0;return 0}function to(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function uo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function vo(a){a=a|0;return}function wo(a){a=a|0;of(a);return}function xo(a){a=a|0;return 2147483647}function yo(a){a=a|0;return 2147483647}function zo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ao(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Bo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Co(a,b){a=a|0;b=b|0;ek(a,1,45);return}function Do(a){a=a|0;return 0}function Eo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Fo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Go(a){a=a|0;return}function Ho(a){a=a|0;of(a);return}function Io(a){a=a|0;return 2147483647}function Jo(a){a=a|0;return 2147483647}function Ko(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Lo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Mo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function No(a,b){a=a|0;b=b|0;ek(a,1,45);return}function Oo(a){a=a|0;return 0}function Po(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Qo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ro(a){a=a|0;return}function So(a){a=a|0;of(a);return}function To(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+240|0;x=E+24|0;y=E;u=E+136|0;D=E+16|0;w=E+12|0;A=E+8|0;k=E+134|0;s=E+4|0;v=E+124|0;c[D>>2]=u;C=D+4|0;c[C>>2]=108;c[A>>2]=tk(g)|0;b=Mp(A,10868)|0;a[k>>0]=0;c[s>>2]=c[e>>2];t=c[g+4>>2]|0;c[x>>2]=c[s>>2];if(Vo(d,x,f,A,t,h,k,b,D,w,u+100|0)|0){Bb[c[(c[b>>2]|0)+32>>2]&7](b,28319,28329,v)|0;f=c[w>>2]|0;g=c[D>>2]|0;b=f-g|0;if((b|0)>98){b=ij(b+2|0)|0;if(!b)Xf();else{z=b;l=b}}else{z=0;l=x}if(!(a[k>>0]|0))b=l;else{a[l>>0]=45;b=l+1|0}t=v+10|0;u=v;if(g>>>0>>0){k=v+1|0;l=k+1|0;m=l+1|0;n=m+1|0;o=n+1|0;p=o+1|0;q=p+1|0;r=q+1|0;s=r+1|0;do{f=a[g>>0]|0;if((a[v>>0]|0)!=f<<24>>24)if((a[k>>0]|0)!=f<<24>>24)if((a[l>>0]|0)!=f<<24>>24)if((a[m>>0]|0)!=f<<24>>24)if((a[n>>0]|0)!=f<<24>>24)if((a[o>>0]|0)!=f<<24>>24)if((a[p>>0]|0)!=f<<24>>24)if((a[q>>0]|0)!=f<<24>>24)if((a[r>>0]|0)==f<<24>>24)f=r;else f=(a[s>>0]|0)==f<<24>>24?s:t;else f=q;else f=p;else f=o;else f=n;else f=m;else f=l;else f=k;else f=v;a[b>>0]=a[28319+(f-u)>>0]|0;g=g+1|0;b=b+1|0}while(g>>>0<(c[w>>2]|0)>>>0)}a[b>>0]=0;c[y>>2]=j;Ei(x,28330,y)|0;if(z)jj(z)}b=c[d>>2]|0;do if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0))if((xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}else b=0;while(0);b=(b|0)==0;f=c[e>>2]|0;do if(f){if((c[f+12>>2]|0)==(c[f+16>>2]|0)?(xb[c[(c[f>>2]|0)+36>>2]&63](f)|0)==-1:0){c[e>>2]=0;B=25;break}if(!b)B=26}else B=25;while(0);if((B|0)==25?b:0)B=26;if((B|0)==26)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;it(c[A>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if(b)ub[c[C>>2]&127](b);i=E;return f|0}function Uo(a){a=a|0;return}function Vo(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+512|0;O=ca+88|0;t=ca+96|0;ba=ca+80|0;S=ca+72|0;R=ca+68|0;T=ca+500|0;P=ca+497|0;U=ca+496|0;Y=ca+56|0;aa=ca+44|0;_=ca+32|0;Z=ca+20|0;$=ca+8|0;Q=ca+4|0;W=ca;c[O>>2]=p;c[ba>>2]=t;X=ba+4|0;c[X>>2]=108;c[S>>2]=t;c[R>>2]=t+400;c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;Yo(g,h,T,P,U,Y,aa,_,Z,Q);c[o>>2]=c[n>>2];H=m+8|0;I=_+4|0;J=Z+4|0;K=Z+8|0;L=Z+1|0;M=_+8|0;N=_+1|0;x=(j&512|0)!=0;y=aa+8|0;z=aa+1|0;A=aa+4|0;B=$+4|0;C=$+8|0;D=$+1|0;E=T+3|0;F=Y+4|0;G=0;s=0;a:while(1){p=c[e>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((xb[c[(c[p>>2]|0)+36>>2]&63](p)|0)==-1){c[e>>2]=0;p=0;break}else{p=c[e>>2]|0;break}}else p=0;while(0);p=(p|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(p)break;else{V=202;break a}if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)!=-1)if(p)break;else{V=202;break a}else{c[f>>2]=0;V=12;break}}else V=12;while(0);if((V|0)==12){V=0;if(p){V=202;break}else m=0}b:do switch(a[T+G>>0]|0){case 1:{if((G|0)!=3){p=c[e>>2]|0;g=c[p+12>>2]|0;if((g|0)==(c[p+16>>2]|0))p=xb[c[(c[p>>2]|0)+36>>2]&63](p)|0;else p=d[g>>0]|0;if((p&255)<<24>>24<=-1){V=26;break a}if(!(b[(c[H>>2]|0)+(p<<24>>24<<1)>>1]&8192)){V=26;break a}p=c[e>>2]|0;g=p+12|0;h=c[g>>2]|0;if((h|0)==(c[p+16>>2]|0))p=xb[c[(c[p>>2]|0)+40>>2]&63](p)|0;else{c[g>>2]=h+1;p=d[h>>0]|0}ak($,p&255);p=m;g=m;V=28}break}case 0:{if((G|0)!=3){p=m;g=m;V=28}break}case 3:{h=a[_>>0]|0;p=(h&1)==0?(h&255)>>>1:c[I>>2]|0;g=a[Z>>0]|0;g=(g&1)==0?(g&255)>>>1:c[J>>2]|0;if((p|0)!=(0-g|0)){j=(p|0)==0;q=c[e>>2]|0;r=c[q+12>>2]|0;p=c[q+16>>2]|0;m=(r|0)==(p|0);if(j|(g|0)==0){if(m)p=xb[c[(c[q>>2]|0)+36>>2]&63](q)|0;else p=d[r>>0]|0;p=p&255;if(j){if(p<<24>>24!=(a[((a[Z>>0]&1)==0?L:c[K>>2]|0)>>0]|0))break b;p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))xb[c[(c[p>>2]|0)+40>>2]&63](p)|0;else c[m>>2]=g+1;a[l>>0]=1;w=a[Z>>0]|0;s=((w&1)==0?(w&255)>>>1:c[J>>2]|0)>>>0>1?Z:s;break b}if(p<<24>>24!=(a[((a[_>>0]&1)==0?N:c[M>>2]|0)>>0]|0)){a[l>>0]=1;break b}p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))xb[c[(c[p>>2]|0)+40>>2]&63](p)|0;else c[m>>2]=g+1;w=a[_>>0]|0;s=((w&1)==0?(w&255)>>>1:c[I>>2]|0)>>>0>1?_:s;break b}if(m){j=xb[c[(c[q>>2]|0)+36>>2]&63](q)|0;p=c[e>>2]|0;h=a[_>>0]|0;q=p;g=c[p+12>>2]|0;p=c[p+16>>2]|0}else{j=d[r>>0]|0;g=r}m=q+12|0;p=(g|0)==(p|0);if((j&255)<<24>>24==(a[((h&1)==0?N:c[M>>2]|0)>>0]|0)){if(p)xb[c[(c[q>>2]|0)+40>>2]&63](q)|0;else c[m>>2]=g+1;w=a[_>>0]|0;s=((w&1)==0?(w&255)>>>1:c[I>>2]|0)>>>0>1?_:s;break b}if(p)p=xb[c[(c[q>>2]|0)+36>>2]&63](q)|0;else p=d[g>>0]|0;if((p&255)<<24>>24!=(a[((a[Z>>0]&1)==0?L:c[K>>2]|0)>>0]|0)){V=82;break a}p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))xb[c[(c[p>>2]|0)+40>>2]&63](p)|0;else c[m>>2]=g+1;a[l>>0]=1;w=a[Z>>0]|0;s=((w&1)==0?(w&255)>>>1:c[J>>2]|0)>>>0>1?Z:s}break}case 2:{if(!(G>>>0<2|(s|0)!=0)?!(x|(G|0)==2&(a[E>>0]|0)!=0):0){s=0;break b}v=a[aa>>0]|0;p=(v&1)==0;w=c[y>>2]|0;h=p?z:w;u=h;c:do if((G|0)!=0?(d[T+(G+-1)>>0]|0)<2:0){r=p?(v&255)>>>1:c[A>>2]|0;j=h+r|0;q=c[H>>2]|0;d:do if(!r)g=u;else{r=h;g=u;do{p=a[r>>0]|0;if(p<<24>>24<=-1)break d;if(!(b[q+(p<<24>>24<<1)>>1]&8192))break d;r=r+1|0;g=r}while((r|0)!=(j|0))}while(0);j=g-u|0;q=a[$>>0]|0;p=(q&1)==0;q=p?(q&255)>>>1:c[B>>2]|0;if(q>>>0>=j>>>0){p=p?D:c[C>>2]|0;r=p+q|0;if((g|0)!=(u|0)){p=p+(q-j)|0;while(1){if((a[p>>0]|0)!=(a[h>>0]|0)){g=u;break c}p=p+1|0;if((p|0)==(r|0))break;else h=h+1|0}}}else g=u}else g=u;while(0);p=(v&1)==0;p=(p?z:w)+(p?(v&255)>>>1:c[A>>2]|0)|0;e:do if((g|0)!=(p|0)){j=m;h=m;p=g;while(1){m=c[e>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}else m=0;while(0);g=(m|0)==0;do if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){m=j;q=h;break}else break e;if((xb[c[(c[h>>2]|0)+36>>2]&63](h)|0)!=-1)if(g^(j|0)==0){m=j;q=j;break}else break e;else{c[f>>2]=0;m=0;V=107;break}}else{m=j;V=107}while(0);if((V|0)==107){V=0;if(g)break e;else q=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else g=d[h>>0]|0;if((g&255)<<24>>24!=(a[p>>0]|0))break e;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0))xb[c[(c[g>>2]|0)+40>>2]&63](g)|0;else c[h>>2]=j+1;p=p+1|0;g=a[aa>>0]|0;w=(g&1)==0;g=(w?z:c[y>>2]|0)+(w?(g&255)>>>1:c[A>>2]|0)|0;if((p|0)==(g|0)){p=g;break}else{j=m;h=q}}}while(0);if(x?(w=a[aa>>0]|0,v=(w&1)==0,(p|0)!=((v?z:c[y>>2]|0)+(v?(w&255)>>>1:c[A>>2]|0)|0)):0){V=119;break a}break}case 4:{r=a[U>>0]|0;j=m;h=m;p=0;f:while(1){m=c[e>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}else m=0;while(0);g=(m|0)==0;do if(h){if((c[h+12>>2]|0)!=(c[h+16>>2]|0))if(g){m=j;q=h;break}else{m=j;break f}if((xb[c[(c[h>>2]|0)+36>>2]&63](h)|0)!=-1)if(g^(j|0)==0){m=j;q=j;break}else{m=j;break f}else{c[f>>2]=0;m=0;V=130;break}}else{m=j;V=130}while(0);if((V|0)==130){V=0;if(g)break;else q=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else g=d[h>>0]|0;h=g&255;if(h<<24>>24>-1?(b[(c[H>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[o>>2]|0;if((g|0)==(c[O>>2]|0)){Yr(n,o,O);g=c[o>>2]|0}c[o>>2]=g+1;a[g>>0]=h;p=p+1|0}else{w=a[Y>>0]|0;if(!(h<<24>>24==r<<24>>24&((p|0)!=0?(((w&1)==0?(w&255)>>>1:c[F>>2]|0)|0)!=0:0)))break;if((t|0)==(c[R>>2]|0)){Zr(ba,S,R);t=c[S>>2]|0}w=t+4|0;c[S>>2]=w;c[t>>2]=p;t=w;p=0}g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0)){xb[c[(c[g>>2]|0)+40>>2]&63](g)|0;j=m;h=q;continue}else{c[h>>2]=j+1;j=m;h=q;continue}}if((p|0)!=0?(c[ba>>2]|0)!=(t|0):0){if((t|0)==(c[R>>2]|0)){Zr(ba,S,R);t=c[S>>2]|0}w=t+4|0;c[S>>2]=w;c[t>>2]=p;t=w}q=c[Q>>2]|0;if((q|0)>0){p=c[e>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((xb[c[(c[p>>2]|0)+36>>2]&63](p)|0)==-1){c[e>>2]=0;p=0;break}else{p=c[e>>2]|0;break}}else p=0;while(0);p=(p|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1:0){c[f>>2]=0;V=162;break}if(p)h=m;else{V=167;break a}}else V=162;while(0);if((V|0)==162){V=0;if(p){V=167;break a}else h=0}p=c[e>>2]|0;m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))p=xb[c[(c[p>>2]|0)+36>>2]&63](p)|0;else p=d[m>>0]|0;if((p&255)<<24>>24!=(a[P>>0]|0)){V=167;break a}p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))xb[c[(c[p>>2]|0)+40>>2]&63](p)|0;else c[m>>2]=g+1;if((q|0)>0){j=h;g=h;while(1){p=c[e>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((xb[c[(c[p>>2]|0)+36>>2]&63](p)|0)==-1){c[e>>2]=0;p=0;break}else{p=c[e>>2]|0;break}}else p=0;while(0);m=(p|0)==0;do if(g){if((c[g+12>>2]|0)!=(c[g+16>>2]|0))if(m){p=j;r=g;break}else{V=189;break a}if((xb[c[(c[g>>2]|0)+36>>2]&63](g)|0)!=-1)if(m^(j|0)==0){p=j;r=j;break}else{V=189;break a}else{c[f>>2]=0;p=0;V=182;break}}else{p=j;V=182}while(0);if((V|0)==182){V=0;if(m){V=189;break a}else r=0}m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0))m=xb[c[(c[m>>2]|0)+36>>2]&63](m)|0;else m=d[g>>0]|0;if((m&255)<<24>>24<=-1){V=189;break a}if(!(b[(c[H>>2]|0)+(m<<24>>24<<1)>>1]&2048)){V=189;break a}if((c[o>>2]|0)==(c[O>>2]|0))Yr(n,o,O);m=c[e>>2]|0;g=c[m+12>>2]|0;if((g|0)==(c[m+16>>2]|0))m=xb[c[(c[m>>2]|0)+36>>2]&63](m)|0;else m=d[g>>0]|0;g=c[o>>2]|0;c[o>>2]=g+1;a[g>>0]=m;m=q;q=q+-1|0;c[Q>>2]=q;g=c[e>>2]|0;h=g+12|0;j=c[h>>2]|0;if((j|0)==(c[g+16>>2]|0))xb[c[(c[g>>2]|0)+40>>2]&63](g)|0;else c[h>>2]=j+1;if((m|0)<=1)break;else{j=p;g=r}}}}if((c[o>>2]|0)==(c[n>>2]|0)){V=200;break a}break}default:{}}while(0);g:do if((V|0)==28)while(1){V=0;m=c[e>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1){c[e>>2]=0;m=0;break}else{m=c[e>>2]|0;break}}else m=0;while(0);m=(m|0)==0;do if(g){if((c[g+12>>2]|0)!=(c[g+16>>2]|0))if(m){j=p;h=g;break}else break g;if((xb[c[(c[g>>2]|0)+36>>2]&63](g)|0)!=-1)if(m^(p|0)==0){j=p;h=p;break}else break g;else{c[f>>2]=0;p=0;V=38;break}}else V=38;while(0);if((V|0)==38){V=0;if(m)break g;else{j=p;h=0}}p=c[e>>2]|0;m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))p=xb[c[(c[p>>2]|0)+36>>2]&63](p)|0;else p=d[m>>0]|0;if((p&255)<<24>>24<=-1)break g;if(!(b[(c[H>>2]|0)+(p<<24>>24<<1)>>1]&8192))break g;p=c[e>>2]|0;m=p+12|0;g=c[m>>2]|0;if((g|0)==(c[p+16>>2]|0))p=xb[c[(c[p>>2]|0)+40>>2]&63](p)|0;else{c[m>>2]=g+1;p=d[g>>0]|0}ak($,p&255);p=j;g=h;V=28}while(0);G=G+1|0;if(G>>>0>=4){V=202;break}}h:do if((V|0)==26){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==82){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==119){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==167){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==189){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==200){c[k>>2]=c[k>>2]|4;m=0}else if((V|0)==202){i:do if(s){j=s+1|0;q=s+8|0;r=s+4|0;g=1;j:while(1){p=a[s>>0]|0;if(!(p&1))p=(p&255)>>>1;else p=c[r>>2]|0;if(g>>>0>=p>>>0)break i;p=c[e>>2]|0;do if(p){if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((xb[c[(c[p>>2]|0)+36>>2]&63](p)|0)==-1){c[e>>2]=0;p=0;break}else{p=c[e>>2]|0;break}}else p=0;while(0);p=(p|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1:0){c[f>>2]=0;V=218;break}if(!p)break j}else V=218;while(0);if((V|0)==218?(V=0,p):0)break;p=c[e>>2]|0;m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))p=xb[c[(c[p>>2]|0)+36>>2]&63](p)|0;else p=d[m>>0]|0;if(!(a[s>>0]&1))m=j;else m=c[q>>2]|0;if((p&255)<<24>>24!=(a[m+g>>0]|0))break;p=g+1|0;m=c[e>>2]|0;g=m+12|0;h=c[g>>2]|0;if((h|0)==(c[m+16>>2]|0)){xb[c[(c[m>>2]|0)+40>>2]&63](m)|0;g=p;continue}else{c[g>>2]=h+1;g=p;continue}}c[k>>2]=c[k>>2]|4;m=0;break h}while(0);p=c[ba>>2]|0;if((p|0)!=(t|0)?(c[W>>2]=0,Zo(Y,p,t,W),(c[W>>2]|0)!=0):0){c[k>>2]=c[k>>2]|4;m=0}else m=1}while(0);Vj($);Vj(Z);Vj(_);Vj(aa);Vj(Y);p=c[ba>>2]|0;c[ba>>2]=0;if(p)ub[c[X>>2]&127](p);i=ca;return m|0}function Wo(a){a=a|0;return}function Xo(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+144|0;v=s+24|0;t=s+32|0;r=s+16|0;l=s+8|0;u=s+4|0;k=s+28|0;m=s;c[r>>2]=t;q=r+4|0;c[q>>2]=108;o=tk(g)|0;c[u>>2]=o;b=Mp(u,10868)|0;a[k>>0]=0;n=c[e>>2]|0;c[m>>2]=n;g=c[g+4>>2]|0;c[v>>2]=c[m>>2];m=n;if(Vo(d,v,f,u,g,h,k,b,r,l,t+100|0)|0){if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}if(a[k>>0]|0)ak(j,Db[c[(c[b>>2]|0)+28>>2]&31](b,45)|0);k=Db[c[(c[b>>2]|0)+28>>2]&31](b,48)|0;b=c[r>>2]|0;f=c[l>>2]|0;g=f+-1|0;a:do if(b>>>0>>0)do{if((a[b>>0]|0)!=k<<24>>24)break a;b=b+1|0}while(b>>>0>>0);while(0);_r(j,b,f)|0}b=c[d>>2]|0;do if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0))if((xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1){c[d>>2]=0;b=0;break}else{b=c[d>>2]|0;break}}else b=0;while(0);b=(b|0)==0;do if(n){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[n>>2]|0)+36>>2]&63](m)|0)==-1:0){c[e>>2]=0;p=21;break}if(!b)p=22}else p=21;while(0);if((p|0)==21?b:0)p=22;if((p|0)==22)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;it(o)|0;b=c[r>>2]|0;c[r>>2]=0;if(b)ub[c[q>>2]&127](b);i=s;return g|0}function Yo(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+112|0;n=x+100|0;o=x+88|0;p=x+76|0;q=x+64|0;r=x+52|0;s=x+48|0;t=x+36|0;u=x+24|0;v=x+12|0;w=x;if(b){b=Mp(d,10476)|0;vb[c[(c[b>>2]|0)+44>>2]&63](n,b);w=c[n>>2]|0;a[e>>0]=w;a[e+1>>0]=w>>8;a[e+2>>0]=w>>16;a[e+3>>0]=w>>24;vb[c[(c[b>>2]|0)+32>>2]&63](o,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}$j(l,0);c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Vj(o);vb[c[(c[b>>2]|0)+28>>2]&63](p,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}$j(k,0);c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Vj(p);a[f>>0]=xb[c[(c[b>>2]|0)+12>>2]&63](b)|0;a[g>>0]=xb[c[(c[b>>2]|0)+16>>2]&63](b)|0;vb[c[(c[b>>2]|0)+20>>2]&63](q,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}$j(h,0);c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Vj(q);vb[c[(c[b>>2]|0)+24>>2]&63](r,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}$j(j,0);c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;Vj(r);b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0}else{b=Mp(d,10412)|0;vb[c[(c[b>>2]|0)+44>>2]&63](s,b);s=c[s>>2]|0;a[e>>0]=s;a[e+1>>0]=s>>8;a[e+2>>0]=s>>16;a[e+3>>0]=s>>24;vb[c[(c[b>>2]|0)+32>>2]&63](t,b);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}$j(l,0);c[l>>2]=c[t>>2];c[l+4>>2]=c[t+4>>2];c[l+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Vj(t);vb[c[(c[b>>2]|0)+28>>2]&63](u,b);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}$j(k,0);c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Vj(u);a[f>>0]=xb[c[(c[b>>2]|0)+12>>2]&63](b)|0;a[g>>0]=xb[c[(c[b>>2]|0)+16>>2]&63](b)|0;vb[c[(c[b>>2]|0)+20>>2]&63](v,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}$j(h,0);c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Vj(v);vb[c[(c[b>>2]|0)+24>>2]&63](w,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}$j(j,0);c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Vj(w);b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0}c[m>>2]=b;i=x;return}function Zo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=a[b>>0]|0;i=b+4|0;h=c[i>>2]|0;a:do if(((g&1)==0?(g&255)>>>1:h)|0){if((d|0)!=(e|0)){g=e+-4|0;if(g>>>0>d>>>0){h=d;do{j=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=j;h=h+4|0;g=g+-4|0}while(h>>>0>>0)}g=a[b>>0]|0;h=c[i>>2]|0}j=(g&1)==0;i=j?b+1|0:c[b+8>>2]|0;e=e+-4|0;b=i+(j?(g&255)>>>1:h)|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;b:do if(e>>>0>d>>>0){while(1){if(!g?(h<<24>>24|0)!=(c[d>>2]|0):0)break;i=(b-i|0)>1?i+1|0:i;d=d+4|0;h=a[i>>0]|0;g=h<<24>>24<1|h<<24>>24==127;if(d>>>0>=e>>>0)break b}c[f>>2]=4;break a}while(0);if(!g?((c[e>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function _o(a){a=a|0;return}function $o(a){a=a|0;of(a);return}function ap(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+576|0;v=E+424|0;y=E;u=E+24|0;D=E+16|0;w=E+12|0;A=E+8|0;k=E+464|0;s=E+4|0;x=E+468|0;c[D>>2]=u;C=D+4|0;c[C>>2]=108;c[A>>2]=tk(g)|0;b=Mp(A,10860)|0;a[k>>0]=0;c[s>>2]=c[e>>2];t=c[g+4>>2]|0;c[v>>2]=c[s>>2];if(bp(d,v,f,A,t,h,k,b,D,w,u+400|0)|0){Bb[c[(c[b>>2]|0)+48>>2]&7](b,28334,28344,v)|0;f=c[w>>2]|0;g=c[D>>2]|0;b=f-g|0;if((b|0)>392){b=ij((b>>2)+2|0)|0;if(!b)Xf();else{z=b;l=b}}else{z=0;l=x}if(!(a[k>>0]|0))b=l;else{a[l>>0]=45;b=l+1|0}t=v+40|0;u=v;if(g>>>0>>0){k=v+4|0;l=k+4|0;m=l+4|0;n=m+4|0;o=n+4|0;p=o+4|0;q=p+4|0;r=q+4|0;s=r+4|0;do{f=c[g>>2]|0;if((c[v>>2]|0)!=(f|0))if((c[k>>2]|0)!=(f|0))if((c[l>>2]|0)!=(f|0))if((c[m>>2]|0)!=(f|0))if((c[n>>2]|0)!=(f|0))if((c[o>>2]|0)!=(f|0))if((c[p>>2]|0)!=(f|0))if((c[q>>2]|0)!=(f|0))if((c[r>>2]|0)==(f|0))f=r;else f=(c[s>>2]|0)==(f|0)?s:t;else f=q;else f=p;else f=o;else f=n;else f=m;else f=l;else f=k;else f=v;a[b>>0]=a[28334+(f-u>>2)>>0]|0;g=g+4|0;b=b+1|0}while(g>>>0<(c[w>>2]|0)>>>0)}a[b>>0]=0;c[y>>2]=j;Ei(x,28330,y)|0;if(z)jj(z)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else b=c[f>>2]|0;if((b|0)==-1){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else b=c[f>>2]|0;if((b|0)!=-1)if(g)break;else{B=30;break}else{c[e>>2]=0;B=28;break}}else B=28;while(0);if((B|0)==28?g:0)B=30;if((B|0)==30)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;it(c[A>>2]|0)|0;b=c[D>>2]|0;c[D>>2]=0;if(b)ub[c[C>>2]&127](b);i=E;return f|0}function bp(b,e,f,g,h,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=i;i=i+512|0;J=Z+96|0;s=Z+104|0;Y=Z+88|0;N=Z+80|0;M=Z+76|0;O=Z+504|0;K=Z+72|0;P=Z+68|0;T=Z+56|0;X=Z+44|0;V=Z+32|0;U=Z+20|0;W=Z+8|0;L=Z+4|0;R=Z;c[J>>2]=o;c[Y>>2]=s;S=Y+4|0;c[S>>2]=108;c[N>>2]=s;c[M>>2]=s+400;c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;c[X>>2]=0;c[X+4>>2]=0;c[X+8>>2]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;dp(f,g,O,K,P,T,X,V,U,L);c[n>>2]=c[m>>2];F=V+4|0;G=U+4|0;H=U+8|0;I=V+8|0;x=(h&512|0)!=0;y=X+8|0;z=X+4|0;A=W+4|0;B=W+8|0;C=O+3|0;D=T+4|0;E=0;r=0;a:while(1){o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if((o|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){o=c[f+12>>2]|0;if((o|0)==(c[f+16>>2]|0))o=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else o=c[o>>2]|0;if((o|0)!=-1)if(g){w=f;break}else{Q=217;break a}else{c[e>>2]=0;Q=15;break}}else Q=15;while(0);if((Q|0)==15){Q=0;if(g){Q=217;break}else w=0}b:do switch(a[O+E>>0]|0){case 1:{if((E|0)!=3){o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if(!(pb[c[(c[l>>2]|0)+12>>2]&31](l,8192,o)|0)){Q=28;break a}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+40>>2]&63](o)|0;else{c[f>>2]=g+4;o=c[g>>2]|0}jk(W,o);o=w;h=w;Q=30}break}case 0:{if((E|0)!=3){o=w;h=w;Q=30}break}case 3:{p=a[V>>0]|0;o=(p&1)==0?(p&255)>>>1:c[F>>2]|0;g=a[U>>0]|0;g=(g&1)==0?(g&255)>>>1:c[G>>2]|0;if((o|0)!=(0-g|0)){h=(o|0)==0;q=c[b>>2]|0;t=c[q+12>>2]|0;o=c[q+16>>2]|0;f=(t|0)==(o|0);if(h|(g|0)==0){if(f)o=xb[c[(c[q>>2]|0)+36>>2]&63](q)|0;else o=c[t>>2]|0;if(h){if((o|0)!=(c[((a[U>>0]&1)==0?G:c[H>>2]|0)>>2]|0))break b;o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))xb[c[(c[o>>2]|0)+40>>2]&63](o)|0;else c[f>>2]=g+4;a[k>>0]=1;w=a[U>>0]|0;r=((w&1)==0?(w&255)>>>1:c[G>>2]|0)>>>0>1?U:r;break b}if((o|0)!=(c[((a[V>>0]&1)==0?F:c[I>>2]|0)>>2]|0)){a[k>>0]=1;break b}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))xb[c[(c[o>>2]|0)+40>>2]&63](o)|0;else c[f>>2]=g+4;w=a[V>>0]|0;r=((w&1)==0?(w&255)>>>1:c[F>>2]|0)>>>0>1?V:r;break b}if(f){h=xb[c[(c[q>>2]|0)+36>>2]&63](q)|0;o=c[b>>2]|0;p=a[V>>0]|0;q=o;g=c[o+12>>2]|0;o=c[o+16>>2]|0}else{h=c[t>>2]|0;g=t}f=q+12|0;o=(g|0)==(o|0);if((h|0)==(c[((p&1)==0?F:c[I>>2]|0)>>2]|0)){if(o)xb[c[(c[q>>2]|0)+40>>2]&63](q)|0;else c[f>>2]=g+4;w=a[V>>0]|0;r=((w&1)==0?(w&255)>>>1:c[F>>2]|0)>>>0>1?V:r;break b}if(o)o=xb[c[(c[q>>2]|0)+36>>2]&63](q)|0;else o=c[g>>2]|0;if((o|0)!=(c[((a[U>>0]&1)==0?G:c[H>>2]|0)>>2]|0)){Q=86;break a}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))xb[c[(c[o>>2]|0)+40>>2]&63](o)|0;else c[f>>2]=g+4;a[k>>0]=1;w=a[U>>0]|0;r=((w&1)==0?(w&255)>>>1:c[G>>2]|0)>>>0>1?U:r}break}case 2:{if(!(E>>>0<2|(r|0)!=0)?!(x|(E|0)==2&(a[C>>0]|0)!=0):0){r=0;break b}h=a[X>>0]|0;g=c[y>>2]|0;f=(h&1)==0?z:g;o=f;c:do if((E|0)!=0?(d[O+(E+-1)>>0]|0)<2:0){v=(h&1)==0;d:do if((f|0)!=((v?z:g)+((v?(h&255)>>>1:c[z>>2]|0)<<2)|0)){h=f;while(1){if(!(pb[c[(c[l>>2]|0)+12>>2]&31](l,8192,c[h>>2]|0)|0))break;h=h+4|0;o=h;f=a[X>>0]|0;g=c[y>>2]|0;v=(f&1)==0;if((h|0)==((v?z:g)+((v?(f&255)>>>1:c[z>>2]|0)<<2)|0)){h=f;break d}}h=a[X>>0]|0;g=c[y>>2]|0}while(0);q=(h&1)==0?z:g;f=q;t=o-f>>2;u=a[W>>0]|0;p=(u&1)==0;u=p?(u&255)>>>1:c[A>>2]|0;if(u>>>0>=t>>>0){p=p?A:c[B>>2]|0;v=p+(u<<2)|0;if(!t)f=o;else{p=p+(u-t<<2)|0;while(1){if((c[p>>2]|0)!=(c[q>>2]|0))break c;p=p+4|0;if((p|0)==(v|0)){f=o;break}else q=q+4|0}}}}else f=o;while(0);o=(h&1)==0;o=(o?z:g)+((o?(h&255)>>>1:c[z>>2]|0)<<2)|0;e:do if((f|0)!=(o|0)){p=w;h=w;o=f;while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else f=c[f>>2]|0;if((f|0)!=-1)if(g^(p|0)==0){f=p;q=p;break}else break e;else{c[e>>2]=0;f=0;Q=114;break}}else{f=p;Q=114}while(0);if((Q|0)==114){Q=0;if(g)break e;else q=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else g=c[h>>2]|0;if((g|0)!=(c[o>>2]|0))break e;g=c[b>>2]|0;h=g+12|0;p=c[h>>2]|0;if((p|0)==(c[g+16>>2]|0))xb[c[(c[g>>2]|0)+40>>2]&63](g)|0;else c[h>>2]=p+4;o=o+4|0;g=a[X>>0]|0;w=(g&1)==0;g=(w?z:c[y>>2]|0)+((w?(g&255)>>>1:c[z>>2]|0)<<2)|0;if((o|0)==(g|0)){o=g;break}else{p=f;h=q}}}while(0);if(x?(w=a[X>>0]|0,v=(w&1)==0,(o|0)!=((v?z:c[y>>2]|0)+((v?(w&255)>>>1:c[z>>2]|0)<<2)|0)):0){Q=126;break a}break}case 4:{t=c[P>>2]|0;h=w;p=w;o=0;f:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(p){f=c[p+12>>2]|0;if((f|0)==(c[p+16>>2]|0))f=xb[c[(c[p>>2]|0)+36>>2]&63](p)|0;else f=c[f>>2]|0;if((f|0)!=-1)if(g^(h|0)==0){f=h;q=h;break}else break f;else{c[e>>2]=0;f=0;Q=140;break}}else{f=h;Q=140}while(0);if((Q|0)==140){Q=0;if(g){h=f;break}else q=0}g=c[b>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))h=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else h=c[h>>2]|0;if(pb[c[(c[l>>2]|0)+12>>2]&31](l,2048,h)|0){g=c[n>>2]|0;if((g|0)==(c[J>>2]|0)){$r(m,n,J);g=c[n>>2]|0}c[n>>2]=g+4;c[g>>2]=h;o=o+1|0}else{w=a[T>>0]|0;if(!((h|0)==(t|0)&((o|0)!=0?(((w&1)==0?(w&255)>>>1:c[D>>2]|0)|0)!=0:0))){h=f;break}if((s|0)==(c[M>>2]|0)){Zr(Y,N,M);s=c[N>>2]|0}w=s+4|0;c[N>>2]=w;c[s>>2]=o;s=w;o=0}g=c[b>>2]|0;h=g+12|0;p=c[h>>2]|0;if((p|0)==(c[g+16>>2]|0)){xb[c[(c[g>>2]|0)+40>>2]&63](g)|0;h=f;p=q;continue}else{c[h>>2]=p+4;h=f;p=q;continue}}if((o|0)!=0?(c[Y>>2]|0)!=(s|0):0){if((s|0)==(c[M>>2]|0)){Zr(Y,N,M);s=c[N>>2]|0}w=s+4|0;c[N>>2]=w;c[s>>2]=o;s=w}q=c[L>>2]|0;if((q|0)>0){o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if((o|0)==-1){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else o=c[o>>2]|0;if((o|0)!=-1)if(f)break;else{Q=180;break a}else{c[e>>2]=0;Q=174;break}}else Q=174;while(0);if((Q|0)==174){Q=0;if(f){Q=180;break a}else h=0}o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if((o|0)!=(c[K>>2]|0)){Q=180;break a}o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))xb[c[(c[o>>2]|0)+40>>2]&63](o)|0;else c[f>>2]=g+4;if((q|0)>0){p=h;g=h;t=q;while(1){o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if((o|0)==-1){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else o=c[o>>2]|0;if((o|0)!=-1)if(f^(p|0)==0){o=p;q=p;break}else{Q=204;break a}else{c[e>>2]=0;o=0;Q=198;break}}else{o=p;Q=198}while(0);if((Q|0)==198){Q=0;if(f){Q=204;break a}else q=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else f=c[g>>2]|0;if(!(pb[c[(c[l>>2]|0)+12>>2]&31](l,2048,f)|0)){Q=204;break a}if((c[n>>2]|0)==(c[J>>2]|0))$r(m,n,J);f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else f=c[g>>2]|0;g=c[n>>2]|0;c[n>>2]=g+4;c[g>>2]=f;f=t;t=t+-1|0;c[L>>2]=t;g=c[b>>2]|0;h=g+12|0;p=c[h>>2]|0;if((p|0)==(c[g+16>>2]|0))xb[c[(c[g>>2]|0)+40>>2]&63](g)|0;else c[h>>2]=p+4;if((f|0)<=1)break;else{p=o;g=q}}}}if((c[n>>2]|0)==(c[m>>2]|0)){Q=215;break a}break}default:{}}while(0);g:do if((Q|0)==30)while(1){Q=0;f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=xb[c[(c[f>>2]|0)+36>>2]&63](f)|0;else f=c[g>>2]|0;if((f|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else f=c[f>>2]|0;if((f|0)!=-1)if(g^(o|0)==0){p=o;h=o;break}else break g;else{c[e>>2]=0;o=0;Q=43;break}}else Q=43;while(0);if((Q|0)==43){Q=0;if(g)break g;else{p=o;h=0}}o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if(!(pb[c[(c[l>>2]|0)+12>>2]&31](l,8192,o)|0))break g;o=c[b>>2]|0;f=o+12|0;g=c[f>>2]|0;if((g|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+40>>2]&63](o)|0;else{c[f>>2]=g+4;o=c[g>>2]|0}jk(W,o);o=p;Q=30}while(0);E=E+1|0;if(E>>>0>=4){Q=217;break}}h:do if((Q|0)==28){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==86){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==126){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==180){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==204){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==215){c[j>>2]=c[j>>2]|4;f=0}else if((Q|0)==217){i:do if(r){p=r+4|0;q=r+8|0;h=1;j:while(1){o=a[r>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=c[p>>2]|0;if(h>>>0>=o>>>0)break i;o=c[b>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if((o|0)==-1){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);o=c[e>>2]|0;do if(o){f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if((o|0)!=-1)if(g)break;else break j;else{c[e>>2]=0;Q=236;break}}else Q=236;while(0);if((Q|0)==236?(Q=0,g):0)break;o=c[b>>2]|0;f=c[o+12>>2]|0;if((f|0)==(c[o+16>>2]|0))o=xb[c[(c[o>>2]|0)+36>>2]&63](o)|0;else o=c[f>>2]|0;if(!(a[r>>0]&1))f=p;else f=c[q>>2]|0;if((o|0)!=(c[f+(h<<2)>>2]|0))break;o=h+1|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;if((h|0)==(c[f+16>>2]|0)){xb[c[(c[f>>2]|0)+40>>2]&63](f)|0;h=o;continue}else{c[g>>2]=h+4;h=o;continue}}c[j>>2]=c[j>>2]|4;f=0;break h}while(0);o=c[Y>>2]|0;if((o|0)!=(s|0)?(c[R>>2]=0,Zo(T,o,s,R),(c[R>>2]|0)!=0):0){c[j>>2]=c[j>>2]|4;f=0}else f=1}while(0);fk(W);fk(U);fk(V);fk(X);Vj(T);o=c[Y>>2]|0;c[Y>>2]=0;if(o)ub[c[S>>2]&127](o);i=Z;return f|0}function cp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+432|0;v=s+424|0;t=s+24|0;r=s+16|0;l=s+8|0;u=s+4|0;k=s+428|0;m=s;c[r>>2]=t;q=r+4|0;c[q>>2]=108;o=tk(g)|0;c[u>>2]=o;b=Mp(u,10860)|0;a[k>>0]=0;n=c[e>>2]|0;c[m>>2]=n;g=c[g+4>>2]|0;c[v>>2]=c[m>>2];m=n;if(bp(d,v,f,u,g,h,k,b,r,l,t+400|0)|0){if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;if(a[k>>0]|0)jk(j,Db[c[(c[b>>2]|0)+44>>2]&31](b,45)|0);k=Db[c[(c[b>>2]|0)+44>>2]&31](b,48)|0;b=c[r>>2]|0;f=c[l>>2]|0;g=f+-4|0;a:do if(b>>>0>>0)do{if((c[b>>2]|0)!=(k|0))break a;b=b+4|0}while(b>>>0>>0);while(0);as(j,b,f)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else b=c[g>>2]|0;if((b|0)==-1){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(n){b=c[m+12>>2]|0;if((b|0)==(c[m+16>>2]|0))b=xb[c[(c[n>>2]|0)+36>>2]&63](m)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(g)break;else{p=26;break}else{c[e>>2]=0;p=24;break}}else p=24;while(0);if((p|0)==24?g:0)p=26;if((p|0)==26)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;it(o)|0;b=c[r>>2]|0;c[r>>2]=0;if(b)ub[c[q>>2]&127](b);i=s;return g|0}function dp(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+112|0;n=x+100|0;o=x+88|0;p=x+76|0;q=x+64|0;r=x+52|0;s=x+48|0;t=x+36|0;u=x+24|0;v=x+12|0;w=x;if(b){b=Mp(d,10604)|0;vb[c[(c[b>>2]|0)+44>>2]&63](n,b);w=c[n>>2]|0;a[e>>0]=w;a[e+1>>0]=w>>8;a[e+2>>0]=w>>16;a[e+3>>0]=w>>24;vb[c[(c[b>>2]|0)+32>>2]&63](o,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;ik(l,0);c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;fk(o);vb[c[(c[b>>2]|0)+28>>2]&63](p,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;ik(k,0);c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;fk(p);c[f>>2]=xb[c[(c[b>>2]|0)+12>>2]&63](b)|0;c[g>>2]=xb[c[(c[b>>2]|0)+16>>2]&63](b)|0;vb[c[(c[b>>2]|0)+20>>2]&63](q,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}$j(h,0);c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Vj(q);vb[c[(c[b>>2]|0)+24>>2]&63](r,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;ik(j,0);c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;fk(r);b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0}else{b=Mp(d,10540)|0;vb[c[(c[b>>2]|0)+44>>2]&63](s,b);s=c[s>>2]|0;a[e>>0]=s;a[e+1>>0]=s>>8;a[e+2>>0]=s>>16;a[e+3>>0]=s>>24;vb[c[(c[b>>2]|0)+32>>2]&63](t,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;ik(l,0);c[l>>2]=c[t>>2];c[l+4>>2]=c[t+4>>2];c[l+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;fk(t);vb[c[(c[b>>2]|0)+28>>2]&63](u,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;ik(k,0);c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;fk(u);c[f>>2]=xb[c[(c[b>>2]|0)+12>>2]&63](b)|0;c[g>>2]=xb[c[(c[b>>2]|0)+16>>2]&63](b)|0;vb[c[(c[b>>2]|0)+20>>2]&63](v,b);if(!(a[h>>0]&1)){a[h+1>>0]=0;a[h>>0]=0}else{a[c[h+8>>2]>>0]=0;c[h+4>>2]=0}$j(h,0);c[h>>2]=c[v>>2];c[h+4>>2]=c[v+4>>2];c[h+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Vj(v);vb[c[(c[b>>2]|0)+24>>2]&63](w,b);if(!(a[j>>0]&1))a[j>>0]=0;else c[c[j+8>>2]>>2]=0;c[j+4>>2]=0;ik(j,0);c[j>>2]=c[w>>2];c[j+4>>2]=c[w+4>>2];c[j+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;fk(w);b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0}c[m>>2]=b;i=x;return}function ep(a){a=a|0;return}function fp(a){a=a|0;of(a);return}function gp(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+384|0;q=F+8|0;l=F;b=F+284|0;m=F+72|0;k=F+184|0;y=F+68|0;v=F+80|0;s=F+77|0;w=F+76|0;C=F+56|0;E=F+44|0;D=F+32|0;o=F+28|0;p=F+84|0;u=F+24|0;t=F+20|0;r=F+16|0;c[m>>2]=b;h[q>>3]=j;b=Di(b,100,28345,q)|0;if(b>>>0>99){b=_l()|0;h[l>>3]=j;b=Ur(m,b,28345,l)|0;k=c[m>>2]|0;if(!k)Xf();l=ij(b)|0;if(!l)Xf();else{G=l;H=k;x=l;A=b}}else{G=0;H=0;x=k;A=b}b=tk(f)|0;c[y>>2]=b;n=Mp(y,10868)|0;l=c[m>>2]|0;Bb[c[(c[n>>2]|0)+32>>2]&7](n,l,l+A|0,x)|0;if(!A)m=0;else m=(a[c[m>>2]>>0]|0)==45;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;hp(e,m,y,v,s,w,C,E,D,o);l=c[o>>2]|0;if((A|0)>(l|0)){e=a[D>>0]|0;k=a[E>>0]|0;k=(A-l<<1|1)+l+((e&1)==0?(e&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{e=a[D>>0]|0;k=a[E>>0]|0;k=l+2+((e&1)==0?(e&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}if(k>>>0>100){k=ij(k)|0;if(!k)Xf();else{B=k;z=k}}else{B=0;z=p}ip(z,u,t,c[f+4>>2]|0,x,x+A|0,n,m,v,a[s>>0]|0,a[w>>0]|0,C,E,D,l);c[r>>2]=c[d>>2];d=c[u>>2]|0;k=c[t>>2]|0;c[q>>2]=c[r>>2];k=oc(q,z,d,k,f,g)|0;if(B){jj(B);b=c[y>>2]|0}Vj(D);Vj(E);Vj(C);it(b)|0;if(G)jj(G);if(H)jj(H);i=F;return k|0}function hp(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+108|0;o=z+96|0;p=z+92|0;q=z+80|0;x=z+68|0;y=z+56|0;r=z+52|0;s=z+40|0;t=z+36|0;u=z+24|0;v=z+12|0;w=z;if(b){e=Mp(e,10476)|0;b=c[e>>2]|0;if(d){vb[c[b+44>>2]&63](n,e);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[e>>2]|0)+32>>2]&63](o,e);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}$j(l,0);c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Vj(o);b=e}else{vb[c[b+40>>2]&63](p,e);d=c[p>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[e>>2]|0)+28>>2]&63](q,e);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}$j(l,0);c[l>>2]=c[q>>2];c[l+4>>2]=c[q+4>>2];c[l+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Vj(q);b=e}a[g>>0]=xb[c[(c[e>>2]|0)+12>>2]&63](e)|0;a[h>>0]=xb[c[(c[e>>2]|0)+16>>2]&63](e)|0;vb[c[(c[b>>2]|0)+20>>2]&63](x,e);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}$j(j,0);c[j>>2]=c[x>>2];c[j+4>>2]=c[x+4>>2];c[j+8>>2]=c[x+8>>2];c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;Vj(x);vb[c[(c[b>>2]|0)+24>>2]&63](y,e);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}$j(k,0);c[k>>2]=c[y>>2];c[k+4>>2]=c[y+4>>2];c[k+8>>2]=c[y+8>>2];c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;Vj(y);b=xb[c[(c[e>>2]|0)+36>>2]&63](e)|0}else{e=Mp(e,10412)|0;b=c[e>>2]|0;if(d){vb[c[b+44>>2]&63](r,e);d=c[r>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[e>>2]|0)+32>>2]&63](s,e);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}$j(l,0);c[l>>2]=c[s>>2];c[l+4>>2]=c[s+4>>2];c[l+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;Vj(s);b=e}else{vb[c[b+40>>2]&63](t,e);d=c[t>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[e>>2]|0)+28>>2]&63](u,e);if(!(a[l>>0]&1)){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}$j(l,0);c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;Vj(u);b=e}a[g>>0]=xb[c[(c[e>>2]|0)+12>>2]&63](e)|0;a[h>>0]=xb[c[(c[e>>2]|0)+16>>2]&63](e)|0;vb[c[(c[b>>2]|0)+20>>2]&63](v,e);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}$j(j,0);c[j>>2]=c[v>>2];c[j+4>>2]=c[v+4>>2];c[j+8>>2]=c[v+8>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;Vj(v);vb[c[(c[b>>2]|0)+24>>2]&63](w,e);if(!(a[k>>0]&1)){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}$j(k,0);c[k>>2]=c[w>>2];c[k+4>>2]=c[w+4>>2];c[k+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;Vj(w);b=xb[c[(c[e>>2]|0)+36>>2]&63](e)|0}c[m>>2]=b;i=z;return}function ip(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;c[f>>2]=d;N=q+4|0;O=q+8|0;P=q+1|0;H=p+4|0;I=(g&512|0)==0;J=p+8|0;K=p+1|0;L=j+8|0;M=(r|0)>0;A=o+4|0;B=o+8|0;C=o+1|0;D=r+1|0;F=-2-r-((r|0)<0?~r:-1)|0;G=(r|0)>0;z=0;do{switch(a[l+z>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];x=Db[c[(c[j>>2]|0)+28>>2]&31](j,32)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;break}case 3:{y=a[q>>0]|0;s=(y&1)==0;if((s?(y&255)>>>1:c[N>>2]|0)|0){x=a[(s?P:c[O>>2]|0)>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}break}case 2:{u=a[p>>0]|0;s=(u&1)==0;u=s?(u&255)>>>1:c[H>>2]|0;if(!(I|(u|0)==0)){t=s?K:c[J>>2]|0;v=t+u|0;s=c[f>>2]|0;if(u)do{a[s>>0]=a[t>>0]|0;t=t+1|0;s=s+1|0}while((t|0)!=(v|0));c[f>>2]=s}break}case 4:{s=c[f>>2]|0;h=k?h+1|0:h;w=h;v=c[L>>2]|0;a:do if(h>>>0>>0){t=h;do{u=a[t>>0]|0;if(u<<24>>24<=-1)break a;if(!(b[v+(u<<24>>24<<1)>>1]&2048))break a;t=t+1|0}while(t>>>0>>0)}else t=h;while(0);u=t;if(M){x=-2-u-~(u>>>0>w>>>0?w:u)|0;x=F>>>0>x>>>0?F:x;if(t>>>0>h>>>0&G){u=t;w=r;while(1){u=u+-1|0;y=a[u>>0]|0;v=c[f>>2]|0;c[f>>2]=v+1;a[v>>0]=y;v=(w|0)>1;if(!(u>>>0>h>>>0&v))break;else w=w+-1|0}}else v=G;y=D+x|0;u=t+(x+1)|0;if(v)w=Db[c[(c[j>>2]|0)+28>>2]&31](j,48)|0;else w=0;t=c[f>>2]|0;c[f>>2]=t+1;if((y|0)>0){v=y;while(1){a[t>>0]=w;t=c[f>>2]|0;c[f>>2]=t+1;if((v|0)>1)v=v+-1|0;else break}}a[t>>0]=m}else u=t;if((u|0)!=(h|0)){y=a[o>>0]|0;t=(y&1)==0;if(!((t?(y&255)>>>1:c[A>>2]|0)|0))t=-1;else t=a[(t?C:c[B>>2]|0)>>0]|0;if((u|0)!=(h|0)){v=0;w=0;while(1){if((w|0)==(t|0)){y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=n;v=v+1|0;y=a[o>>0]|0;t=(y&1)==0;if(v>>>0<(t?(y&255)>>>1:c[A>>2]|0)>>>0){t=a[(t?C:c[B>>2]|0)+v>>0]|0;t=t<<24>>24==127?-1:t<<24>>24;w=0}else{t=w;w=0}}u=u+-1|0;x=a[u>>0]|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x;if((u|0)==(h|0))break;else w=w+1|0}}}else{x=Db[c[(c[j>>2]|0)+28>>2]&31](j,48)|0;y=c[f>>2]|0;c[f>>2]=y+1;a[y>>0]=x}t=c[f>>2]|0;if((s|0)!=(t|0)?(E=t+-1|0,s>>>0>>0):0){t=E;do{y=a[s>>0]|0;a[s>>0]=a[t>>0]|0;a[t>>0]=y;s=s+1|0;t=t+-1|0}while(s>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);t=a[q>>0]|0;h=(t&1)==0;t=h?(t&255)>>>1:c[N>>2]|0;if(t>>>0>1){s=h?P:c[O>>2]|0;u=s+t|0;h=c[f>>2]|0;if((t|0)!=1){s=s+1|0;do{a[h>>0]=a[s>>0]|0;h=h+1|0;s=s+1|0}while((s|0)!=(u|0))}c[f>>2]=h}switch(g&176|0){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function jp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+176|0;p=D+56|0;x=D+52|0;v=D+64|0;s=D+61|0;w=D+60|0;A=D+40|0;C=D+28|0;B=D+16|0;l=D+12|0;o=D+68|0;u=D+8|0;t=D+4|0;q=D;b=tk(f)|0;c[x>>2]=b;r=Mp(x,10868)|0;n=a[h>>0]|0;j=(n&1)==0;k=h+4|0;if(!((j?(n&255)>>>1:c[k>>2]|0)|0))n=0;else{n=a[(j?h+1|0:c[h+8>>2]|0)>>0]|0;n=n<<24>>24==(Db[c[(c[r>>2]|0)+28>>2]&31](r,45)|0)<<24>>24}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;hp(e,n,x,v,s,w,A,C,B,l);m=a[h>>0]|0;e=c[k>>2]|0;j=(m&1)==0?(m&255)>>>1:e;k=c[l>>2]|0;if((j|0)>(k|0)){E=a[B>>0]|0;l=a[C>>0]|0;j=(j-k<<1|1)+k+((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)+((l&1)==0?(l&255)>>>1:c[C+4>>2]|0)|0}else{E=a[B>>0]|0;j=a[C>>0]|0;j=k+2+((E&1)==0?(E&255)>>>1:c[B+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[C+4>>2]|0)|0}if(j>>>0>100){j=ij(j)|0;if(!j)Xf();else{z=j;y=j}}else{z=0;y=o}E=(m&1)==0;j=E?h+1|0:c[h+8>>2]|0;ip(y,u,t,c[f+4>>2]|0,j,j+(E?(m&255)>>>1:e)|0,r,n,v,a[s>>0]|0,a[w>>0]|0,A,C,B,k);c[q>>2]=c[d>>2];E=c[u>>2]|0;j=c[t>>2]|0;c[p>>2]=c[q>>2];j=oc(p,y,E,j,f,g)|0;if(z){jj(z);b=c[x>>2]|0}Vj(B);Vj(C);Vj(A);it(b)|0;i=D;return j|0}function kp(a){a=a|0;return}function lp(a){a=a|0;of(a);return}function mp(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+992|0;q=F+8|0;l=F;b=F+888|0;m=F+880|0;k=F+480|0;y=F+76|0;v=F+884|0;s=F+72|0;w=F+68|0;C=F+56|0;E=F+44|0;D=F+32|0;o=F+28|0;p=F+80|0;u=F+24|0;t=F+20|0;r=F+16|0;c[m>>2]=b;h[q>>3]=j;b=Di(b,100,28345,q)|0;if(b>>>0>99){b=_l()|0;h[l>>3]=j;b=Ur(m,b,28345,l)|0;k=c[m>>2]|0;if(!k)Xf();l=ij(b<<2)|0;if(!l)Xf();else{G=l;H=k;x=l;A=b}}else{G=0;H=0;x=k;A=b}b=tk(f)|0;c[y>>2]=b;n=Mp(y,10860)|0;l=c[m>>2]|0;Bb[c[(c[n>>2]|0)+48>>2]&7](n,l,l+A|0,x)|0;if(!A)m=0;else m=(a[c[m>>2]>>0]|0)==45;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;np(e,m,y,v,s,w,C,E,D,o);l=c[o>>2]|0;if((A|0)>(l|0)){e=a[D>>0]|0;k=a[E>>0]|0;k=(A-l<<1|1)+l+((e&1)==0?(e&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}else{e=a[D>>0]|0;k=a[E>>0]|0;k=l+2+((e&1)==0?(e&255)>>>1:c[D+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[E+4>>2]|0)|0}if(k>>>0>100){k=ij(k<<2)|0;if(!k)Xf();else{B=k;z=k}}else{B=0;z=p}op(z,u,t,c[f+4>>2]|0,x,x+(A<<2)|0,n,m,v,c[s>>2]|0,c[w>>2]|0,C,E,D,l);c[r>>2]=c[d>>2];d=c[u>>2]|0;k=c[t>>2]|0;c[q>>2]=c[r>>2];k=Vr(q,z,d,k,f,g)|0;if(B){jj(B);b=c[y>>2]|0}fk(D);fk(E);Vj(C);it(b)|0;if(G)jj(G);if(H)jj(H);i=F;return k|0}function np(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+112|0;n=z+108|0;o=z+96|0;r=z+92|0;s=z+80|0;t=z+68|0;u=z+56|0;v=z+52|0;w=z+40|0;x=z+36|0;y=z+24|0;p=z+12|0;q=z;if(b){b=Mp(e,10604)|0;e=c[b>>2]|0;if(d){vb[c[e+44>>2]&63](n,b);d=c[n>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[b>>2]|0)+32>>2]&63](o,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;ik(l,0);c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;fk(o)}else{vb[c[e+40>>2]&63](r,b);d=c[r>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[b>>2]|0)+28>>2]&63](s,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;ik(l,0);c[l>>2]=c[s>>2];c[l+4>>2]=c[s+4>>2];c[l+8>>2]=c[s+8>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;fk(s)}c[g>>2]=xb[c[(c[b>>2]|0)+12>>2]&63](b)|0;c[h>>2]=xb[c[(c[b>>2]|0)+16>>2]&63](b)|0;vb[c[(c[b>>2]|0)+20>>2]&63](t,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}$j(j,0);c[j>>2]=c[t>>2];c[j+4>>2]=c[t+4>>2];c[j+8>>2]=c[t+8>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Vj(t);vb[c[(c[b>>2]|0)+24>>2]&63](u,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;ik(k,0);c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;fk(u);b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0}else{b=Mp(e,10540)|0;e=c[b>>2]|0;if(d){vb[c[e+44>>2]&63](v,b);d=c[v>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[b>>2]|0)+32>>2]&63](w,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;ik(l,0);c[l>>2]=c[w>>2];c[l+4>>2]=c[w+4>>2];c[l+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;fk(w)}else{vb[c[e+40>>2]&63](x,b);d=c[x>>2]|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;vb[c[(c[b>>2]|0)+28>>2]&63](y,b);if(!(a[l>>0]&1))a[l>>0]=0;else c[c[l+8>>2]>>2]=0;c[l+4>>2]=0;ik(l,0);c[l>>2]=c[y>>2];c[l+4>>2]=c[y+4>>2];c[l+8>>2]=c[y+8>>2];c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;fk(y)}c[g>>2]=xb[c[(c[b>>2]|0)+12>>2]&63](b)|0;c[h>>2]=xb[c[(c[b>>2]|0)+16>>2]&63](b)|0;vb[c[(c[b>>2]|0)+20>>2]&63](p,b);if(!(a[j>>0]&1)){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}$j(j,0);c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;Vj(p);vb[c[(c[b>>2]|0)+24>>2]&63](q,b);if(!(a[k>>0]&1))a[k>>0]=0;else c[c[k+8>>2]>>2]=0;c[k+4>>2]=0;ik(k,0);c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;fk(q);b=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0}c[m>>2]=b;i=z;return}function op(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;c[e>>2]=b;J=p+4|0;K=p+8|0;C=o+4|0;D=(f&512|0)==0;E=o+8|0;F=(q|0)>0;G=n+4|0;H=n+8|0;I=n+1|0;A=(q|0)>0;z=0;do{switch(a[k+z>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];x=Db[c[(c[i>>2]|0)+44>>2]&31](i,32)|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x;break}case 3:{y=a[p>>0]|0;r=(y&1)==0;if((r?(y&255)>>>1:c[J>>2]|0)|0){x=c[(r?J:c[K>>2]|0)>>2]|0;y=c[e>>2]|0;c[e>>2]=y+4;c[y>>2]=x}break}case 2:{v=a[o>>0]|0;r=(v&1)==0;v=r?(v&255)>>>1:c[C>>2]|0;if(!(D|(v|0)==0)){r=r?C:c[E>>2]|0;t=r+(v<<2)|0;u=c[e>>2]|0;if(v){s=u;while(1){c[s>>2]=c[r>>2];r=r+4|0;if((r|0)==(t|0))break;else s=s+4|0}}c[e>>2]=u+(v<<2)}break}case 4:{r=c[e>>2]|0;g=j?g+4|0:g;a:do if(g>>>0>>0){s=g;do{if(!(pb[c[(c[i>>2]|0)+12>>2]&31](i,2048,c[s>>2]|0)|0))break a;s=s+4|0}while(s>>>0>>0)}else s=g;while(0);if(F){if(s>>>0>g>>>0&A){v=c[e>>2]|0;u=q;while(1){s=s+-4|0;t=v+4|0;c[v>>2]=c[s>>2];w=u+-1|0;u=(u|0)>1;if(s>>>0>g>>>0&u){v=t;u=w}else{v=w;break}}c[e>>2]=t;t=v}else{u=A;t=q}if(u)w=Db[c[(c[i>>2]|0)+44>>2]&31](i,48)|0;else w=0;x=c[e>>2]|0;u=t+((t|0)<0?~t:-1)|0;if((t|0)>0){v=x;while(1){c[v>>2]=w;if((t|0)>1){v=v+4|0;t=t+-1|0}else break}}c[e>>2]=x+(u+2<<2);c[x+(u+1<<2)>>2]=l}if((s|0)==(g|0)){x=Db[c[(c[i>>2]|0)+44>>2]&31](i,48)|0;y=c[e>>2]|0;s=y+4|0;c[e>>2]=s;c[y>>2]=x}else{x=a[n>>0]|0;t=(x&1)==0;y=c[G>>2]|0;if(!((t?(x&255)>>>1:y)|0))t=-1;else t=a[(t?I:c[H>>2]|0)>>0]|0;if((s|0)!=(g|0)){w=0;x=0;while(1){u=c[e>>2]|0;if((x|0)==(t|0)){v=u+4|0;c[e>>2]=v;c[u>>2]=m;w=w+1|0;u=a[n>>0]|0;t=(u&1)==0;if(w>>>0<(t?(u&255)>>>1:y)>>>0){t=a[(t?I:c[H>>2]|0)+w>>0]|0;u=v;t=t<<24>>24==127?-1:t<<24>>24;v=0}else{u=v;t=x;v=0}}else v=x;s=s+-4|0;x=c[s>>2]|0;c[e>>2]=u+4;c[u>>2]=x;if((s|0)==(g|0))break;else x=v+1|0}}s=c[e>>2]|0}if((r|0)!=(s|0)?(B=s+-4|0,r>>>0>>0):0){s=B;do{y=c[r>>2]|0;c[r>>2]=c[s>>2];c[s>>2]=y;r=r+4|0;s=s+-4|0}while(r>>>0>>0)}break}default:{}}z=z+1|0}while((z|0)!=4);r=a[p>>0]|0;g=(r&1)==0;r=g?(r&255)>>>1:c[J>>2]|0;if(r>>>0>1){s=g?J:c[K>>2]|0;g=s+4|0;s=s+(r<<2)|0;t=c[e>>2]|0;u=s-g|0;if((r|0)!=1){r=t;while(1){c[r>>2]=c[g>>2];g=g+4|0;if((g|0)==(s|0))break;else r=r+4|0}}c[e>>2]=t+(u>>>2<<2)}switch(f&176|0){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function pp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+480|0;p=E+468|0;y=E+464|0;w=E+472|0;t=E+56|0;x=E+52|0;B=E+40|0;D=E+28|0;C=E+16|0;k=E+12|0;o=E+64|0;v=E+8|0;u=E+4|0;q=E;b=tk(f)|0;c[y>>2]=b;r=Mp(y,10860)|0;n=a[h>>0]|0;j=(n&1)==0;s=h+4|0;if(!((j?(n&255)>>>1:c[s>>2]|0)|0))n=0;else{n=c[(j?s:c[h+8>>2]|0)>>2]|0;n=(n|0)==(Db[c[(c[r>>2]|0)+44>>2]&31](r,45)|0)}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;np(e,n,y,w,t,x,B,D,C,k);l=a[h>>0]|0;m=c[s>>2]|0;j=(l&1)==0?(l&255)>>>1:m;e=c[k>>2]|0;if((j|0)>(e|0)){F=a[C>>0]|0;k=a[D>>0]|0;j=(j-e<<1|1)+e+((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)+((k&1)==0?(k&255)>>>1:c[D+4>>2]|0)|0}else{F=a[C>>0]|0;j=a[D>>0]|0;j=e+2+((F&1)==0?(F&255)>>>1:c[C+4>>2]|0)+((j&1)==0?(j&255)>>>1:c[D+4>>2]|0)|0}if(j>>>0>100){j=ij(j<<2)|0;if(!j)Xf();else{A=j;z=j}}else{A=0;z=o}F=(l&1)==0;j=F?s:c[h+8>>2]|0;op(z,v,u,c[f+4>>2]|0,j,j+((F?(l&255)>>>1:m)<<2)|0,r,n,w,c[t>>2]|0,c[x>>2]|0,B,D,C,e);c[q>>2]=c[d>>2];F=c[v>>2]|0;j=c[u>>2]|0;c[p>>2]=c[q>>2];j=Vr(p,z,F,j,f,g)|0;if(A){jj(A);b=c[y>>2]|0}fk(C);fk(D);Vj(B);it(b)|0;i=E;return j|0}function qp(a){a=a|0;return}function rp(a){a=a|0;of(a);return}function sp(b,d,e){b=b|0;d=d|0;e=e|0;b=Ph((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function tp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;k=i;i=i+16|0;j=k;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;l=a[h>>0]|0;m=(l&1)==0;d=m?h+1|0:c[h+8>>2]|0;l=m?(l&255)>>>1:c[h+4>>2]|0;h=d+l|0;if((l|0)>0)do{ak(j,a[d>>0]|0);d=d+1|0}while(d>>>0>>0);d=Oh((e|0)==-1?-1:e<<1,f,g,(a[j>>0]&1)==0?j+1|0:c[j+8>>2]|0)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;m=Ti(d)|0;h=d+m|0;if((m|0)>0)do{ak(b,a[d>>0]|0);d=d+1|0}while(d>>>0>>0);Vj(j);i=k;return}function up(a,b){a=a|0;b=b|0;return}function vp(a){a=a|0;return}function wp(a){a=a|0;of(a);return}function xp(b,d,e){b=b|0;d=d|0;e=e|0;b=Ph((a[d>>0]&1)==0?d+1|0:c[d+8>>2]|0,1)|0;return b>>>((b|0)!=(-1|0)&1)|0}function yp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+176|0;p=s+168|0;o=s+40|0;n=s+32|0;r=s+28|0;q=s+16|0;l=s+8|0;m=s;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[l+4>>2]=0;c[l>>2]=11344;k=a[h>>0]|0;t=(k&1)==0;j=h+4|0;d=t?j:c[h+8>>2]|0;h=t?(k&255)>>>1:c[j>>2]|0;j=d+(h<<2)|0;k=o+32|0;if((h|0)>0)do{c[r>>2]=d;h=Ab[c[(c[l>>2]|0)+12>>2]&15](l,p,d,j,r,o,k,n)|0;if(o>>>0<(c[n>>2]|0)>>>0){d=o;do{ak(q,a[d>>0]|0);d=d+1|0}while(d>>>0<(c[n>>2]|0)>>>0)}d=c[r>>2]|0}while((h|0)!=2&d>>>0>>0);d=Oh((e|0)==-1?-1:e<<1,f,g,(a[q>>0]&1)==0?q+1|0:c[q+8>>2]|0)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[m+4>>2]=0;c[m>>2]=11392;t=Ti(d)|0;j=d+t|0;k=j;l=o+128|0;if((t|0)>0)do{c[r>>2]=d;h=Ab[c[(c[m>>2]|0)+16>>2]&15](m,p,d,(k-d|0)>32?d+32|0:j,r,o,l,n)|0;if(o>>>0<(c[n>>2]|0)>>>0){d=o;do{jk(b,c[d>>2]|0);d=d+4|0}while(d>>>0<(c[n>>2]|0)>>>0)}d=c[r>>2]|0}while((h|0)!=2&d>>>0>>0);Vj(q);i=s;return}function zp(a,b){a=a|0;b=b|0;return}function Ap(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+4>>2]=b+-1;c[a>>2]=10844;d=a+8|0;bs(d,28);Tj(a+144|0,28249,1);d=c[d>>2]|0;e=a+12|0;b=c[e>>2]|0;if((b|0)!=(d|0)){do b=b+-4|0;while((b|0)!=(d|0));c[e>>2]=b}c[331]=0;c[330]=9772;cs(a,1320);c[333]=0;c[332]=9812;ds(a,1328);bq(1336,0,0,1);es(a,1336);c[339]=0;c[338]=11132;fs(a,1352);c[341]=0;c[340]=11200;gs(a,1360);c[343]=0;c[342]=10952;c[344]=_l()|0;hs(a,1368);c[347]=0;c[346]=11248;is(a,1384);c[349]=0;c[348]=11296;js(a,1392);Uq(1400,1);ks(a,1400);Vq(1424,1);ls(a,1424);c[365]=0;c[364]=9852;ms(a,1456);c[367]=0;c[366]=9924;ns(a,1464);c[369]=0;c[368]=9996;os(a,1472);c[371]=0;c[370]=10056;ps(a,1480);c[373]=0;c[372]=10364;qs(a,1488);c[375]=0;c[374]=10428;rs(a,1496);c[377]=0;c[376]=10492;ss(a,1504);c[379]=0;c[378]=10556;ts(a,1512);c[381]=0;c[380]=10620;us(a,1520);c[383]=0;c[382]=10656;vs(a,1528);c[385]=0;c[384]=10692;ws(a,1536);c[387]=0;c[386]=10728;xs(a,1544);c[389]=0;c[388]=10116;c[390]=10164;ys(a,1552);c[393]=0;c[392]=10208;c[394]=10256;zs(a,1568);c[397]=0;c[396]=11112;c[398]=_l()|0;c[396]=10300;As(a,1584);c[401]=0;c[400]=11112;c[402]=_l()|0;c[400]=10332;Bs(a,1600);c[405]=0;c[404]=10764;Cs(a,1616);c[407]=0;c[406]=10804;Ds(a,1624);return}function Bp(){if((a[1632]|0)==0?(Ba(1632)|0)!=0:0){Fp()|0;c[2908]=11628;Ha(1632)}return c[2908]|0}function Cp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;ht(b);f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0<=d>>>0){Es(f,d+1|0);e=c[f>>2]|0}a=c[e+(d<<2)>>2]|0;if(a){it(a)|0;e=c[f>>2]|0}c[e+(d<<2)>>2]=b;return}function Dp(a){a=a|0;var b=0,d=0,e=0,f=0;c[a>>2]=10844;e=a+8|0;f=a+12|0;b=c[e>>2]|0;if((c[f>>2]|0)!=(b|0)){d=0;do{b=c[b+(d<<2)>>2]|0;if(b)it(b)|0;d=d+1|0;b=c[e>>2]|0}while(d>>>0<(c[f>>2]|0)-b>>2>>>0)}Vj(a+144|0);Fs(e);return}function Ep(a){a=a|0;Dp(a);of(a);return}function Fp(){Ap(1640,1);c[2907]=1640;return 11628}function Gp(){var a=0;a=c[(Bp()|0)>>2]|0;c[2909]=a;ht(a);return 11636}function Hp(){if((a[1800]|0)==0?(Ba(1800)|0)!=0:0){Gp()|0;c[2910]=11636;Ha(1800)}return c[2910]|0}function Ip(a){a=a|0;var b=0;b=c[(Hp()|0)>>2]|0;c[a>>2]=b;ht(b);return}function Jp(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;ht(b);return}function Kp(a){a=a|0;it(c[a>>2]|0)|0;return}function Lp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;if((c[a>>2]|0)!=-1){c[b>>2]=a;c[b+4>>2]=109;c[b+8>>2]=0;jt(a,b,110)}i=d;return (c[a+4>>2]|0)+-1|0}function Mp(a,b){a=a|0;b=b|0;a=c[a>>2]|0;b=Lp(b)|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function Np(a){a=a|0;of(a);return}function Op(a){a=a|0;if(a)ub[c[(c[a>>2]|0)+4>>2]&127](a);return}function Pp(a){a=a|0;var b=0;b=c[2714]|0;c[2714]=b+1;c[a+4>>2]=b+1;return}function Qp(a){a=a|0;of(a);return}function Rp(a,d,e){a=a|0;d=d|0;e=e|0;if(e>>>0<128)e=(b[(c[(Ah()|0)>>2]|0)+(e<<1)>>1]&d)<<16>>16!=0;else e=0;return e|0}function Sp(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;i=(f-d|0)>>>2;if((d|0)!=(f|0)){h=d;while(1){a=c[h>>2]|0;if(a>>>0<128)a=e[(c[(Ah()|0)>>2]|0)+(a<<1)>>1]|0;else a=0;b[g>>1]=a;h=h+4|0;if((h|0)==(f|0))break;else g=g+2|0}}return d+(i<<2)|0}function Tp(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0<128?(b[(c[(Ah()|0)>>2]|0)+(a<<1)>>1]&d)<<16>>16!=0:0)break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}while(0);return e|0}function Up(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;a:do if((e|0)==(f|0))e=f;else while(1){a=c[e>>2]|0;if(a>>>0>=128)break a;if(!((b[(c[(Ah()|0)>>2]|0)+(a<<1)>>1]&d)<<16>>16))break a;e=e+4|0;if((e|0)==(f|0)){e=f;break}}while(0);return e|0}function Vp(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(c[(Ch()|0)>>2]|0)+(b<<2)>>2]|0;return b|0}function Wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(c[(Ch()|0)>>2]|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Xp(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(c[(Bh()|0)>>2]|0)+(b<<2)>>2]|0;return b|0}function Yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=(d-b|0)>>>2;if((b|0)!=(d|0)){e=b;do{a=c[e>>2]|0;if(a>>>0<128)a=c[(c[(Bh()|0)>>2]|0)+(a<<2)>>2]|0;c[e>>2]=a;e=e+4|0}while((e|0)!=(d|0))}return b+(f<<2)|0}function Zp(a,b){a=a|0;b=b|0;return b<<24>>24|0}function _p(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((d|0)!=(e|0))while(1){c[f>>2]=a[d>>0];d=d+1|0;if((d|0)==(e|0))break;else f=f+4|0}return e|0}function $p(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function aq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=(e-d|0)>>>2;if((d|0)!=(e|0)){h=d;b=g;while(1){g=c[h>>2]|0;a[b>>0]=g>>>0<128?g&255:f;h=h+4|0;if((h|0)==(e|0))break;else b=b+1|0}}return d+(i<<2)|0}function bq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=10884;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d)c[f>>2]=c[(Ah()|0)>>2];return}function cq(b){b=b|0;var d=0;c[b>>2]=10884;d=c[b+8>>2]|0;if((d|0)!=0?(a[b+12>>0]|0)!=0:0)pf(d);return}function dq(a){a=a|0;cq(a);of(a);return}function eq(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(c[(Ch()|0)>>2]|0)+((b&255)<<2)>>2]&255;return b|0}function fq(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(c[(Ch()|0)>>2]|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function gq(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(c[(Bh()|0)>>2]|0)+(b<<24>>24<<2)>>2]&255;return b|0}function hq(b,d,e){b=b|0;d=d|0;e=e|0;if((d|0)!=(e|0)){b=d;do{d=a[b>>0]|0;if(d<<24>>24>-1)d=c[(c[(Bh()|0)>>2]|0)+(d<<24>>24<<2)>>2]&255;a[b>>0]=d;b=b+1|0}while((b|0)!=(e|0))}return e|0}function iq(a,b){a=a|0;b=b|0;return b|0}function jq(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;if((c|0)!=(d|0))while(1){a[e>>0]=a[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}return d|0}function kq(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function lq(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if((c|0)!=(d|0))while(1){b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;c=c+1|0;if((c|0)==(d|0))break;else f=f+1|0}return d|0}function mq(a){a=a|0;of(a);return}function nq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function oq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function pq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function qq(a){a=a|0;return 1}function rq(a){a=a|0;return 1}function sq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=d-c|0;return (a>>>0>>0?a:e)|0}function tq(a){a=a|0;return 1}function uq(a){a=a|0;xr(a);of(a);return}function vq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+16|0;q=s;o=s+8|0;a:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break a;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}while(0);c[k>>2]=h;c[g>>2]=e;n=j;p=b+8|0;b:do if((h|0)==(j|0)|(e|0)==(f|0))r=29;else{c:while(1){t=d;m=c[t+4>>2]|0;b=q;c[b>>2]=c[t>>2];c[b+4>>2]=m;b=Uh(c[p>>2]|0)|0;m=ii(h,g,l-e>>2,n-h|0,d)|0;if(b)Uh(b)|0;switch(m|0){case 0:{e=1;break b}case -1:break c;default:{}}h=(c[k>>2]|0)+m|0;c[k>>2]=h;if((h|0)==(j|0)){r=15;break}if((l|0)==(f|0)){e=c[g>>2]|0;l=f}else{e=Uh(c[p>>2]|0)|0;h=hi(o,0,d)|0;if(e)Uh(e)|0;if((h|0)==-1){e=2;break b}if(h>>>0>(n-(c[k>>2]|0)|0)>>>0){e=1;break b}if(h){e=o;while(1){m=a[e>>0]|0;t=c[k>>2]|0;c[k>>2]=t+1;a[t>>0]=m;h=h+-1|0;if(!h)break;else e=e+1|0}}e=(c[g>>2]|0)+4|0;c[g>>2]=e;d:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(c[l>>2]|0))break d;l=l+4|0;if((l|0)==(f|0)){l=f;break}}}while(0);h=c[k>>2]|0}if((h|0)==(j|0)|(e|0)==(f|0)){r=29;break b}}if((r|0)==15){e=c[g>>2]|0;r=29;break}c[k>>2]=h;e:do if((e|0)!=(c[g>>2]|0))do{t=c[e>>2]|0;l=Uh(c[p>>2]|0)|0;h=hi(h,t,q)|0;if(l)Uh(l)|0;if((h|0)==-1)break e;h=(c[k>>2]|0)+h|0;c[k>>2]=h;e=e+4|0}while((e|0)!=(c[g>>2]|0));while(0);c[g>>2]=e;e=2}while(0);if((r|0)==29)e=(e|0)!=(f|0)&1;i=s;return e|0}function wq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+16|0;q=s;a:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break a;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}while(0);c[k>>2]=h;c[g>>2]=e;o=j;p=b+8|0;b:do if((h|0)==(j|0)|(e|0)==(f|0))r=29;else{c:while(1){n=d;m=c[n+4>>2]|0;b=q;c[b>>2]=c[n>>2];c[b+4>>2]=m;b=l;m=Uh(c[p>>2]|0)|0;n=ei(h,g,b-e|0,o-h>>2,d)|0;if(m)Uh(m)|0;switch(n|0){case 0:{e=2;break b}case -1:break c;default:{}}h=(c[k>>2]|0)+(n<<2)|0;c[k>>2]=h;if((h|0)==(j|0)){r=19;break}e=c[g>>2]|0;if((l|0)==(f|0))l=f;else{l=Uh(c[p>>2]|0)|0;e=ci(h,e,1,d)|0;if(l)Uh(l)|0;if(e){e=2;break b}c[k>>2]=(c[k>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d:do if((e|0)==(f|0))l=f;else{l=e;while(1){if(!(a[l>>0]|0))break d;l=l+1|0;if((l|0)==(f|0)){l=f;break}}}while(0);h=c[k>>2]|0}if((h|0)==(j|0)|(e|0)==(f|0)){r=29;break b}}if((r|0)==19){e=c[g>>2]|0;r=29;break}c[k>>2]=h;e:do if((e|0)!=(c[g>>2]|0)){f:while(1){l=Uh(c[p>>2]|0)|0;h=ci(h,e,b-e|0,q)|0;if(l)Uh(l)|0;switch(h|0){case -1:{r=13;break f}case -2:{r=14;break f}case 0:{e=e+1|0;break}default:e=e+h|0}h=(c[k>>2]|0)+4|0;c[k>>2]=h;if((e|0)==(c[g>>2]|0))break e}if((r|0)==13){c[g>>2]=e;e=2;break b}else if((r|0)==14){c[g>>2]=e;e=1;break b}}while(0);c[g>>2]=e;e=(e|0)!=(f|0)&1}while(0);if((r|0)==29)e=(e|0)!=(f|0)&1;i=s;return e|0}function xq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;i=i+16|0;h=j;c[g>>2]=e;e=Uh(c[b+8>>2]|0)|0;b=hi(h,0,d)|0;if(e)Uh(e)|0;switch(b|0){case 0:case -1:{h=2;break}default:{b=b+-1|0;if(b>>>0<=(f-(c[g>>2]|0)|0)>>>0)if(!b)h=0;else while(1){d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;b=b+-1|0;if(!b){h=0;break}else h=h+1|0}else h=1}}i=j;return h|0}function yq(a){a=a|0;var b=0,d=0;a=a+8|0;b=Uh(c[a>>2]|0)|0;d=gi(0,0,4)|0;if(b)Uh(b)|0;if(!d){a=c[a>>2]|0;if(a){a=Uh(a)|0;if(!a)a=0;else{Uh(a)|0;a=0}}else a=1}else a=-1;return a|0}function zq(a){a=a|0;return 0}function Aq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e;j=a+8|0;a:do if((d|0)==(e|0)|(f|0)==0)a=0;else{a=0;i=0;while(1){h=Uh(c[j>>2]|0)|0;g=bi(d,k-d|0,b)|0;if(h)Uh(h)|0;switch(g|0){case -2:case -1:break a;case 0:{d=d+1|0;g=1;break}default:d=d+g|0}a=g+a|0;i=i+1|0;if((d|0)==(e|0)|i>>>0>=f>>>0)break a}}while(0);return a|0}function Bq(a){a=a|0;a=c[a+8>>2]|0;if(a){a=Uh(a)|0;if(!a)a=4;else{Uh(a)|0;a=4}}else a=1;return a|0}function Cq(a){a=a|0;of(a);return}function Dq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Hs(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Eq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Is(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Fq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Gq(a){a=a|0;return 0}function Hq(a){a=a|0;return 0}function Iq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Js(c,d,e,1114111,0)|0}function Jq(a){a=a|0;return 4}function Kq(a){a=a|0;of(a);return}function Lq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Ks(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Mq(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;a=i;i=i+16|0;k=a+4|0;b=a;c[k>>2]=d;c[b>>2]=g;h=Ls(d,e,k,g,h,b,1114111,0)|0;c[f>>2]=c[k>>2];c[j>>2]=c[b>>2];i=a;return h|0}function Nq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Oq(a){a=a|0;return 0}function Pq(a){a=a|0;return 0}function Qq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ms(c,d,e,1114111,0)|0}function Rq(a){a=a|0;return 4}function Sq(a){a=a|0;of(a);return}function Tq(a){a=a|0;of(a);return}function Uq(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=11032;a[b+8>>0]=46;a[b+9>>0]=44;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function Vq(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=11072;c[a+8>>2]=46;c[a+12>>2]=44;a=a+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Wq(a){a=a|0;c[a>>2]=11032;Vj(a+12|0);return}function Xq(a){a=a|0;Wq(a);of(a);return}function Yq(a){a=a|0;c[a>>2]=11072;Vj(a+16|0);return}function Zq(a){a=a|0;Yq(a);of(a);return}function _q(b){b=b|0;return a[b+8>>0]|0}function $q(a){a=a|0;return c[a+8>>2]|0}function ar(b){b=b|0;return a[b+9>>0]|0}function br(a){a=a|0;return c[a+12>>2]|0}function cr(a,b){a=a|0;b=b|0;Sj(a,b+12|0);return}function dr(a,b){a=a|0;b=b|0;Sj(a,b+16|0);return}function er(a,b){a=a|0;b=b|0;Tj(a,28351,4);return}function fr(a,b){a=a|0;b=b|0;dk(a,11644,Ui(11644)|0);return}function gr(a,b){a=a|0;b=b|0;Tj(a,28356,5);return}function hr(a,b){a=a|0;b=b|0;dk(a,11664,Ui(11664)|0);return}function ir(a){a=a|0;switch(c[a+4>>2]&74|0){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function jr(b){b=b|0;if((a[1808]|0)==0?(Ba(1808)|0)!=0:0){if((a[1816]|0)==0?(Ba(1816)|0)!=0:0){b=11688;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=11856);ab(111,0,n|0)|0;Ha(1816)}Xj(11688,28362)|0;Xj(11700,28369)|0;Xj(11712,28376)|0;Xj(11724,28384)|0;Xj(11736,28394)|0;Xj(11748,28403)|0;Xj(11760,28410)|0;Xj(11772,28419)|0;Xj(11784,28423)|0;Xj(11796,28427)|0;Xj(11808,28431)|0;Xj(11820,28435)|0;Xj(11832,28439)|0;Xj(11844,28443)|0;c[2964]=11688;Ha(1808)}return c[2964]|0}function kr(b){b=b|0;if((a[1824]|0)==0?(Ba(1824)|0)!=0:0){if((a[1832]|0)==0?(Ba(1832)|0)!=0:0){b=11860;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=12028);ab(112,0,n|0)|0;Ha(1832)}gk(11860,12028)|0;gk(11872,12056)|0;gk(11884,12084)|0;gk(11896,12116)|0;gk(11908,12156)|0;gk(11920,12192)|0;gk(11932,12220)|0;gk(11944,12256)|0;gk(11956,12272)|0;gk(11968,12288)|0;gk(11980,12304)|0;gk(11992,12320)|0;gk(12004,12336)|0;gk(12016,12352)|0;c[3092]=11860;Ha(1824)}return c[3092]|0}function lr(b){b=b|0;if((a[1840]|0)==0?(Ba(1840)|0)!=0:0){if((a[1848]|0)==0?(Ba(1848)|0)!=0:0){b=12372;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=12660);ab(113,0,n|0)|0;Ha(1848)}Xj(12372,28447)|0;Xj(12384,28455)|0;Xj(12396,28464)|0;Xj(12408,28470)|0;Xj(12420,28476)|0;Xj(12432,28480)|0;Xj(12444,28485)|0;Xj(12456,28490)|0;Xj(12468,28497)|0;Xj(12480,28507)|0;Xj(12492,28515)|0;Xj(12504,28524)|0;Xj(12516,28533)|0;Xj(12528,28537)|0;Xj(12540,28541)|0;Xj(12552,28545)|0;Xj(12564,28476)|0;Xj(12576,28549)|0;Xj(12588,28553)|0;Xj(12600,28557)|0;Xj(12612,28561)|0;Xj(12624,28565)|0;Xj(12636,28569)|0;Xj(12648,28573)|0;c[3165]=12372;Ha(1840)}return c[3165]|0}function mr(b){b=b|0;if((a[1856]|0)==0?(Ba(1856)|0)!=0:0){if((a[1864]|0)==0?(Ba(1864)|0)!=0:0){b=12664;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=12952);ab(114,0,n|0)|0;Ha(1864)}gk(12664,12952)|0;gk(12676,12984)|0;gk(12688,13020)|0;gk(12700,13044)|0;gk(12712,13068)|0;gk(12724,13084)|0;gk(12736,13104)|0;gk(12748,13124)|0;gk(12760,13152)|0;gk(12772,13192)|0;gk(12784,13224)|0;gk(12796,13260)|0;gk(12808,13296)|0;gk(12820,13312)|0;gk(12832,13328)|0;gk(12844,13344)|0;gk(12856,13068)|0;gk(12868,13360)|0;gk(12880,13376)|0;gk(12892,13392)|0;gk(12904,13408)|0;gk(12916,13424)|0;gk(12928,13440)|0;gk(12940,13456)|0;c[3368]=12664;Ha(1856)}return c[3368]|0}function nr(b){b=b|0;if((a[1872]|0)==0?(Ba(1872)|0)!=0:0){if((a[1880]|0)==0?(Ba(1880)|0)!=0:0){b=13476;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=13764);ab(115,0,n|0)|0;Ha(1880)}Xj(13476,28577)|0;Xj(13488,28580)|0;c[3441]=13476;Ha(1872)}return c[3441]|0}function or(b){b=b|0;if((a[1888]|0)==0?(Ba(1888)|0)!=0:0){if((a[1896]|0)==0?(Ba(1896)|0)!=0:0){b=13768;do{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=b+12|0}while((b|0)!=14056);ab(116,0,n|0)|0;Ha(1896)}gk(13768,14056)|0;gk(13780,14068)|0;c[3520]=13768;Ha(1888)}return c[3520]|0}function pr(b){b=b|0;if((a[1904]|0)==0?(Ba(1904)|0)!=0:0){Tj(14084,28583,8);ab(117,14084,n|0)|0;Ha(1904)}return 14084}function qr(b){b=b|0;if((a[1912]|0)==0?(Ba(1912)|0)!=0:0){dk(14132,14096,Ui(14096)|0);ab(118,14132,n|0)|0;Ha(1912)}return 14132}function rr(b){b=b|0;if((a[1920]|0)==0?(Ba(1920)|0)!=0:0){Tj(14144,28592,8);ab(117,14144,n|0)|0;Ha(1920)}return 14144}function sr(b){b=b|0;if((a[1928]|0)==0?(Ba(1928)|0)!=0:0){dk(14192,14156,Ui(14156)|0);ab(118,14192,n|0)|0;Ha(1928)}return 14192}function tr(b){b=b|0;if((a[1936]|0)==0?(Ba(1936)|0)!=0:0){Tj(14204,28601,20);ab(117,14204,n|0)|0;Ha(1936)}return 14204}function ur(b){b=b|0;if((a[1944]|0)==0?(Ba(1944)|0)!=0:0){dk(14300,14216,Ui(14216)|0);ab(118,14300,n|0)|0;Ha(1944)}return 14300}function vr(b){b=b|0;if((a[1952]|0)==0?(Ba(1952)|0)!=0:0){Tj(14312,28622,11);ab(117,14312,n|0)|0;Ha(1952)}return 14312}function wr(b){b=b|0;if((a[1960]|0)==0?(Ba(1960)|0)!=0:0){dk(14372,14324,Ui(14324)|0);ab(118,14372,n|0)|0;Ha(1960)}return 14372}function xr(a){a=a|0;var b=0;c[a>>2]=10952;a=a+8|0;b=c[a>>2]|0;if((b|0)!=(_l()|0))Qh(c[a>>2]|0);return}function yr(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+112|0;m=A;n=(g-f|0)/12|0;if(n>>>0>100){m=ij(n)|0;if(!m)Xf();else{y=m;l=m}}else{y=0;l=m}if((f|0)==(g|0))m=0;else{q=f;o=0;p=l;while(1){m=a[q>>0]|0;if(!(m&1))m=(m&255)>>>1;else m=c[q+4>>2]|0;if(!m){a[p>>0]=2;m=o+1|0;n=n+-1|0}else{a[p>>0]=1;m=o}q=q+12|0;if((q|0)==(g|0))break;else{o=m;p=p+1|0}}}w=(f|0)==(g|0);x=(f|0)==(g|0);v=0;r=m;t=n;a:while(1){m=c[b>>2]|0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1){c[b>>2]=0;m=0;break}else{m=c[b>>2]|0;break}}else m=0;while(0);p=(m|0)==0;n=c[e>>2]|0;if(n){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(xb[c[(c[n>>2]|0)+36>>2]&63](n)|0)==-1:0){c[e>>2]=0;n=0}}else n=0;o=(n|0)==0;m=c[b>>2]|0;if(!((t|0)!=0&(p^o)))break;n=c[m+12>>2]|0;if((n|0)==(c[m+16>>2]|0))m=xb[c[(c[m>>2]|0)+36>>2]&63](m)|0;else m=d[n>>0]|0;m=m&255;if(!k)m=Db[c[(c[h>>2]|0)+12>>2]&31](h,m)|0;u=v+1|0;if(w){m=0;p=r;q=t}else{q=0;s=f;p=r;o=t;r=l;while(1){do if((a[r>>0]|0)==1){if(!(a[s>>0]&1))n=s+1|0;else n=c[s+8>>2]|0;n=a[n+v>>0]|0;if(!k)n=Db[c[(c[h>>2]|0)+12>>2]&31](h,n)|0;if(m<<24>>24!=n<<24>>24){a[r>>0]=0;n=q;o=o+-1|0;break}n=a[s>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[s+4>>2]|0;if((n|0)==(u|0)){a[r>>0]=2;n=1;p=p+1|0;o=o+-1|0}else n=1}else n=q;while(0);s=s+12|0;if((s|0)==(g|0)){m=n;q=o;break}else{q=n;r=r+1|0}}}if(!m){v=u;r=p;t=q;continue}m=c[b>>2]|0;n=m+12|0;o=c[n>>2]|0;if((o|0)==(c[m+16>>2]|0))xb[c[(c[m>>2]|0)+40>>2]&63](m)|0;else c[n>>2]=o+1;if((p+q|0)>>>0<2|x){v=u;r=p;t=q;continue}else{m=f;o=p;p=l}while(1){if((a[p>>0]|0)==2){n=a[m>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[m+4>>2]|0;if((n|0)!=(u|0)){a[p>>0]=0;o=o+-1|0}}m=m+12|0;if((m|0)==(g|0)){v=u;r=o;t=q;continue a}else p=p+1|0}}do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1){c[b>>2]=0;m=0;break}else{m=c[b>>2]|0;break}}else m=0;while(0);m=(m|0)==0;do if(!o){if((c[n+12>>2]|0)==(c[n+16>>2]|0)?(xb[c[(c[n>>2]|0)+36>>2]&63](n)|0)==-1:0){c[e>>2]=0;z=65;break}if(!m)z=66}else z=65;while(0);if((z|0)==65?m:0)z=66;if((z|0)==66)c[j>>2]=c[j>>2]|2;b:do if((f|0)==(g|0))z=70;else while(1){if((a[l>>0]|0)==2)break b;f=f+12|0;if((f|0)==(g|0)){z=70;break}else l=l+1|0}while(0);if((z|0)==70){c[j>>2]=c[j>>2]|4;f=g}jj(y);i=A;return f|0}function zr(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=ir(g)|0;nm(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;Zj(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){Zj(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;Zj(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(Zl(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}c[j>>2]=ft(k,c[w>>2]|0,h,v)|0;Zo(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Vj(y);Vj(z);i=A;return B|0}function Ar(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=ir(g)|0;nm(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;Zj(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){Zj(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;Zj(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(Zl(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}w=et(k,c[w>>2]|0,h,v)|0;c[j>>2]=w;c[j+4>>2]=D;Zo(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Vj(y);Vj(z);i=A;return B|0}function Br(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=i;i=i+240|0;t=B+202|0;l=B+200|0;A=B+24|0;z=B+12|0;x=B+8|0;y=B+40|0;v=B+4|0;u=B;w=ir(h)|0;nm(A,h,t,l);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;if(!(a[z>>0]&1))e=10;else e=(c[z>>2]&-2)+-1|0;Zj(z,e,0);q=z+8|0;r=z+1|0;o=(a[z>>0]&1)==0?r:c[q>>2]|0;c[x>>2]=o;c[v>>2]=y;c[u>>2]=0;s=z+4|0;p=a[l>>0]|0;e=c[f>>2]|0;l=o;a:while(1){if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)?(xb[c[(c[e>>2]|0)+36>>2]&63](e)|0)==-1:0){c[f>>2]=0;e=0}}else e=0;h=(e|0)==0;m=c[g>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(h)break;else break a;if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)!=-1)if(h)break;else break a;else{c[g>>2]=0;C=13;break}}else C=13;while(0);if((C|0)==13){C=0;if(h){m=0;break}else m=0}n=a[z>>0]|0;n=(n&1)==0?(n&255)>>>1:c[s>>2]|0;if((c[x>>2]|0)==(l+n|0)){Zj(z,n<<1,0);if(!(a[z>>0]&1))h=10;else h=(c[z>>2]&-2)+-1|0;Zj(z,h,0);l=(a[z>>0]&1)==0?r:c[q>>2]|0;c[x>>2]=l+n}n=e+12|0;h=c[n>>2]|0;o=e+16|0;if((h|0)==(c[o>>2]|0))h=xb[c[(c[e>>2]|0)+36>>2]&63](e)|0;else h=d[h>>0]|0;if(Zl(h&255,w,l,x,u,p,A,y,v,t)|0)break;h=c[n>>2]|0;if((h|0)==(c[o>>2]|0)){xb[c[(c[e>>2]|0)+40>>2]&63](e)|0;continue}else{c[n>>2]=h+1;continue}}t=a[A>>0]|0;h=c[v>>2]|0;if((((t&1)==0?(t&255)>>>1:c[A+4>>2]|0)|0)!=0?(h-y|0)<160:0){t=c[u>>2]|0;u=h+4|0;c[v>>2]=u;c[h>>2]=t;h=u}b[k>>1]=dt(l,c[x>>2]|0,j,w)|0;Zo(A,y,h,j);if(e){if((c[e+12>>2]|0)==(c[e+16>>2]|0)?(xb[c[(c[e>>2]|0)+36>>2]&63](e)|0)==-1:0){c[f>>2]=0;e=0}}else e=0;e=(e|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1:0){c[g>>2]=0;C=38;break}if(!e)C=39}else C=38;while(0);if((C|0)==38?e:0)C=39;if((C|0)==39)c[j>>2]=c[j>>2]|2;C=c[f>>2]|0;Vj(z);Vj(A);i=B;return C|0}function Cr(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=ir(g)|0;nm(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;Zj(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){Zj(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;Zj(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(Zl(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}c[j>>2]=ct(k,c[w>>2]|0,h,v)|0;Zo(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Vj(y);Vj(z);i=A;return B|0}function Dr(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=ir(g)|0;nm(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;Zj(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){Zj(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;Zj(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(Zl(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}c[j>>2]=bt(k,c[w>>2]|0,h,v)|0;Zo(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Vj(y);Vj(z);i=A;return B|0}function Er(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+240|0;s=A+202|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=ir(g)|0;nm(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))b=10;else b=(c[y>>2]&-2)+-1|0;Zj(y,b,0);p=y+8|0;q=y+1|0;n=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=n;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=a[k>>0]|0;b=c[e>>2]|0;k=n;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;l=c[f>>2]|0;do if(l){if((c[l+12>>2]|0)!=(c[l+16>>2]|0))if(g)break;else break a;if((xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;B=13;break}}else B=13;while(0);if((B|0)==13){B=0;if(g){l=0;break}else l=0}m=a[y>>0]|0;m=(m&1)==0?(m&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(k+m|0)){Zj(y,m<<1,0);if(!(a[y>>0]&1))g=10;else g=(c[y>>2]&-2)+-1|0;Zj(y,g,0);k=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=k+m}m=b+12|0;g=c[m>>2]|0;n=b+16|0;if((g|0)==(c[n>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(Zl(g&255,v,k,w,t,o,z,x,u,s)|0)break;g=c[m>>2]|0;if((g|0)==(c[n>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[m>>2]=g+1;continue}}s=a[z>>0]|0;g=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(g-x|0)<160:0){s=c[t>>2]|0;t=g+4|0;c[u>>2]=t;c[g>>2]=s;g=t}w=at(k,c[w>>2]|0,h,v)|0;c[j>>2]=w;c[j+4>>2]=D;Zo(z,x,g,h);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(l){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(xb[c[(c[l>>2]|0)+36>>2]&63](l)|0)==-1:0){c[f>>2]=0;B=38;break}if(!b)B=39}else B=38;while(0);if((B|0)==38?b:0)B=39;if((B|0)==39)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Vj(y);Vj(z);i=A;return B|0}function Fr(b,e,f,h,j,k){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+240|0;u=D+208|0;l=D+203|0;m=D+202|0;C=D+24|0;B=D+12|0;z=D+8|0;A=D+40|0;x=D+4|0;w=D;y=D+201|0;v=D+200|0;om(C,h,u,l,m);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;Zj(B,b,0);r=B+8|0;s=B+1|0;o=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=o;c[x>>2]=A;c[w>>2]=0;a[y>>0]=1;a[v>>0]=69;t=B+4|0;q=a[l>>0]|0;p=a[m>>0]|0;b=c[e>>2]|0;l=o;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;h=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(h)break;else break a;if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)!=-1)if(h)break;else break a;else{c[f>>2]=0;E=13;break}}else E=13;while(0);if((E|0)==13){E=0;if(h){m=0;break}else m=0}n=a[B>>0]|0;n=(n&1)==0?(n&255)>>>1:c[t>>2]|0;if((c[z>>2]|0)==(l+n|0)){Zj(B,n<<1,0);if(!(a[B>>0]&1))h=10;else h=(c[B>>2]&-2)+-1|0;Zj(B,h,0);l=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=l+n}n=b+12|0;h=c[n>>2]|0;o=b+16|0;if((h|0)==(c[o>>2]|0))h=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else h=d[h>>0]|0;if(pm(h&255,y,v,l,z,q,p,C,A,x,w,u)|0)break;h=c[n>>2]|0;if((h|0)==(c[o>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[n>>2]=h+1;continue}}v=a[C>>0]|0;h=c[x>>2]|0;if(!((a[y>>0]|0)==0?1:(((v&1)==0?(v&255)>>>1:c[C+4>>2]|0)|0)==0)?(h-A|0)<160:0){w=c[w>>2]|0;y=h+4|0;c[x>>2]=y;c[h>>2]=w;h=y}g[k>>2]=+$s(l,c[z>>2]|0,j);Zo(C,A,h,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1:0){c[f>>2]=0;E=38;break}if(!b)E=39}else E=38;while(0);if((E|0)==38?b:0)E=39;if((E|0)==39)c[j>>2]=c[j>>2]|2;E=c[e>>2]|0;Vj(B);Vj(C);i=D;return E|0}function Gr(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+240|0;u=D+208|0;l=D+203|0;m=D+202|0;C=D+24|0;B=D+12|0;z=D+8|0;A=D+40|0;x=D+4|0;w=D;y=D+201|0;v=D+200|0;om(C,g,u,l,m);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;Zj(B,b,0);r=B+8|0;s=B+1|0;o=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=o;c[x>>2]=A;c[w>>2]=0;a[y>>0]=1;a[v>>0]=69;t=B+4|0;q=a[l>>0]|0;p=a[m>>0]|0;b=c[e>>2]|0;l=o;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(g)break;else break a;if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;E=13;break}}else E=13;while(0);if((E|0)==13){E=0;if(g){m=0;break}else m=0}n=a[B>>0]|0;n=(n&1)==0?(n&255)>>>1:c[t>>2]|0;if((c[z>>2]|0)==(l+n|0)){Zj(B,n<<1,0);if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;Zj(B,g,0);l=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=l+n}n=b+12|0;g=c[n>>2]|0;o=b+16|0;if((g|0)==(c[o>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(pm(g&255,y,v,l,z,q,p,C,A,x,w,u)|0)break;g=c[n>>2]|0;if((g|0)==(c[o>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[n>>2]=g+1;continue}}v=a[C>>0]|0;g=c[x>>2]|0;if(!((a[y>>0]|0)==0?1:(((v&1)==0?(v&255)>>>1:c[C+4>>2]|0)|0)==0)?(g-A|0)<160:0){w=c[w>>2]|0;y=g+4|0;c[x>>2]=y;c[g>>2]=w;g=y}h[k>>3]=+_s(l,c[z>>2]|0,j);Zo(C,A,g,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1:0){c[f>>2]=0;E=38;break}if(!b)E=39}else E=38;while(0);if((E|0)==38?b:0)E=39;if((E|0)==39)c[j>>2]=c[j>>2]|2;E=c[e>>2]|0;Vj(B);Vj(C);i=D;return E|0}function Hr(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+240|0;u=D+208|0;l=D+203|0;m=D+202|0;C=D+24|0;B=D+12|0;z=D+8|0;A=D+40|0;x=D+4|0;w=D;y=D+201|0;v=D+200|0;om(C,g,u,l,m);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(a[B>>0]&1))b=10;else b=(c[B>>2]&-2)+-1|0;Zj(B,b,0);r=B+8|0;s=B+1|0;o=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=o;c[x>>2]=A;c[w>>2]=0;a[y>>0]=1;a[v>>0]=69;t=B+4|0;q=a[l>>0]|0;p=a[m>>0]|0;b=c[e>>2]|0;l=o;a:while(1){if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;g=(b|0)==0;m=c[f>>2]|0;do if(m){if((c[m+12>>2]|0)!=(c[m+16>>2]|0))if(g)break;else break a;if((xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)!=-1)if(g)break;else break a;else{c[f>>2]=0;E=13;break}}else E=13;while(0);if((E|0)==13){E=0;if(g){m=0;break}else m=0}n=a[B>>0]|0;n=(n&1)==0?(n&255)>>>1:c[t>>2]|0;if((c[z>>2]|0)==(l+n|0)){Zj(B,n<<1,0);if(!(a[B>>0]&1))g=10;else g=(c[B>>2]&-2)+-1|0;Zj(B,g,0);l=(a[B>>0]&1)==0?s:c[r>>2]|0;c[z>>2]=l+n}n=b+12|0;g=c[n>>2]|0;o=b+16|0;if((g|0)==(c[o>>2]|0))g=xb[c[(c[b>>2]|0)+36>>2]&63](b)|0;else g=d[g>>0]|0;if(pm(g&255,y,v,l,z,q,p,C,A,x,w,u)|0)break;g=c[n>>2]|0;if((g|0)==(c[o>>2]|0)){xb[c[(c[b>>2]|0)+40>>2]&63](b)|0;continue}else{c[n>>2]=g+1;continue}}v=a[C>>0]|0;g=c[x>>2]|0;if(!((a[y>>0]|0)==0?1:(((v&1)==0?(v&255)>>>1:c[C+4>>2]|0)|0)==0)?(g-A|0)<160:0){w=c[w>>2]|0;y=g+4|0;c[x>>2]=y;c[g>>2]=w;g=y}h[k>>3]=+Zs(l,c[z>>2]|0,j);Zo(C,A,g,j);if(b){if((c[b+12>>2]|0)==(c[b+16>>2]|0)?(xb[c[(c[b>>2]|0)+36>>2]&63](b)|0)==-1:0){c[e>>2]=0;b=0}}else b=0;b=(b|0)==0;do if(m){if((c[m+12>>2]|0)==(c[m+16>>2]|0)?(xb[c[(c[m>>2]|0)+36>>2]&63](m)|0)==-1:0){c[f>>2]=0;E=38;break}if(!b)E=39}else E=38;while(0);if((E|0)==38?b:0)E=39;if((E|0)==39)c[j>>2]=c[j>>2]|2;E=c[e>>2]|0;Vj(B);Vj(C);i=D;return E|0}function Ir(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Uh(b)|0;b=Ki(a,d,g)|0;if(e)Uh(e)|0;i=f;return b|0}function Jr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+112|0;l=y;m=(f-e|0)/12|0;if(m>>>0>100){l=ij(m)|0;if(!l)Xf();else{w=l;k=l}}else{w=0;k=l}if((e|0)==(f|0))l=0;else{p=e;n=0;o=k;while(1){l=a[p>>0]|0;if(!(l&1))l=(l&255)>>>1;else l=c[p+4>>2]|0;if(!l){a[o>>0]=2;l=n+1|0;m=m+-1|0}else{a[o>>0]=1;l=n}p=p+12|0;if((p|0)==(f|0))break;else{n=l;o=o+1|0}}}u=(e|0)==(f|0);v=(e|0)==(f|0);t=0;q=m;a:while(1){m=c[b>>2]|0;do if(m){n=c[m+12>>2]|0;if((n|0)==(c[m+16>>2]|0))m=xb[c[(c[m>>2]|0)+36>>2]&63](m)|0;else m=c[n>>2]|0;if((m|0)==-1){c[b>>2]=0;p=1;break}else{p=(c[b>>2]|0)==0;break}}else p=1;while(0);n=c[d>>2]|0;if(n){m=c[n+12>>2]|0;if((m|0)==(c[n+16>>2]|0))m=xb[c[(c[n>>2]|0)+36>>2]&63](n)|0;else m=c[m>>2]|0;if((m|0)==-1){c[d>>2]=0;n=0;o=1}else o=0}else{n=0;o=1}m=c[b>>2]|0;if(!((q|0)!=0&(p^o)))break;n=c[m+12>>2]|0;if((n|0)==(c[m+16>>2]|0))m=xb[c[(c[m>>2]|0)+36>>2]&63](m)|0;else m=c[n>>2]|0;if(!j)m=Db[c[(c[g>>2]|0)+28>>2]&31](g,m)|0;s=t+1|0;if(u){m=0;p=q}else{p=0;r=e;o=q;q=k;while(1){do if((a[q>>0]|0)==1){if(!(a[r>>0]&1))n=r+4|0;else n=c[r+8>>2]|0;n=c[n+(t<<2)>>2]|0;if(!j)n=Db[c[(c[g>>2]|0)+28>>2]&31](g,n)|0;if((m|0)!=(n|0)){a[q>>0]=0;n=p;o=o+-1|0;break}n=a[r>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[r+4>>2]|0;if((n|0)==(s|0)){a[q>>0]=2;n=1;l=l+1|0;o=o+-1|0}else n=1}else n=p;while(0);r=r+12|0;if((r|0)==(f|0)){m=n;p=o;break}else{p=n;q=q+1|0}}}if(!m){t=s;q=p;continue}m=c[b>>2]|0;n=m+12|0;o=c[n>>2]|0;if((o|0)==(c[m+16>>2]|0))xb[c[(c[m>>2]|0)+40>>2]&63](m)|0;else c[n>>2]=o+4;if((l+p|0)>>>0<2|v){t=s;q=p;continue}else{m=e;o=k}while(1){if((a[o>>0]|0)==2){n=a[m>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=c[m+4>>2]|0;if((n|0)!=(s|0)){a[o>>0]=0;l=l+-1|0}}m=m+12|0;if((m|0)==(f|0)){t=s;q=p;continue a}else o=o+1|0}}do if(m){l=c[m+12>>2]|0;if((l|0)==(c[m+16>>2]|0))l=xb[c[(c[m>>2]|0)+36>>2]&63](m)|0;else l=c[l>>2]|0;if((l|0)==-1){c[b>>2]=0;m=1;break}else{m=(c[b>>2]|0)==0;break}}else m=1;while(0);do if(n){l=c[n+12>>2]|0;if((l|0)==(c[n+16>>2]|0))l=xb[c[(c[n>>2]|0)+36>>2]&63](n)|0;else l=c[l>>2]|0;if((l|0)!=-1)if(m)break;else{x=74;break}else{c[d>>2]=0;x=72;break}}else x=72;while(0);if((x|0)==72?m:0)x=74;if((x|0)==74)c[h>>2]=c[h>>2]|2;b:do if((e|0)==(f|0))x=78;else while(1){if((a[k>>0]|0)==2)break b;e=e+12|0;if((e|0)==(f|0)){x=78;break}else k=k+1|0}while(0);if((x|0)==78){c[h>>2]=c[h>>2]|4;e=f}jj(w);i=y;return e|0}function Kr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=ir(f)|0;qm(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Zj(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){Zj(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Zj(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if(mm(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}c[h>>2]=ft(f,c[v>>2]|0,g,u)|0;Zo(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Vj(x);Vj(y);i=z;return A|0} +function Ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[610]|0;if(c[f+552>>2]|0)return;h=f+28|0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=93,(c[f+576>>2]|0)!=0):0){Zc();f=c[610]|0}c[f+328>>2]=0;te(d)|0;h=vd(a)|0;f=c[610]|0;c[f+340>>2]=h;do if((h|0)>-1&(((h|0)<0?0-h|0:h)|0)==1073741824){rd(a,c[f+468>>2]|0);Yd(c[(c[610]|0)+468>>2]|0,d,d);f=c[(c[610]|0)+468>>2]|0;Md(d,f,f);f=vd(c[(c[610]|0)+468>>2]|0)|0;if((f|0)<1073741824){h=c[610]|0;c[h+340>>2]=0-f;f=h;break}else{f=c[610]|0;break}}while(0);ue(a,c[f+536>>2]|0);h=vd(b)|0;f=c[610]|0;c[f+344>>2]=h;do if((h|0)>-1&(((h|0)<0?0-h|0:h)|0)==1073741824){rd(b,c[f+468>>2]|0);Yd(c[(c[610]|0)+468>>2]|0,d,d);f=c[(c[610]|0)+468>>2]|0;Md(d,f,f);f=vd(c[(c[610]|0)+468>>2]|0)|0;if((f|0)<1073741824){h=c[610]|0;c[h+344>>2]=0-f;f=h;break}else{f=c[610]|0;break}}while(0);ue(b,c[f+540>>2]|0);h=c[610]|0;c[h+336>>2]=(e|0)==2?0:e;h=h+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}function He(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[610]|0;if(c[f+552>>2]|0){e=0;return e|0}h=f+28|0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=97,(c[f+576>>2]|0)!=0):0)Zc();if((a|0)==0|(b|0)==0){rd(c[(c[610]|0)+532>>2]|0,c[e+4>>2]|0);rd(c[(c[610]|0)+532>>2]|0,c[e+8>>2]|0);c[e>>2]=2;h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;h=1;return h|0}h=e+4|0;ue(a,c[h>>2]|0);Te(c[h>>2]|0,c[(c[610]|0)+476>>2]|0);if((a|0)==(b|0)){f=e+8|0;g=Ue(c[(c[610]|0)+476>>2]|0,c[f>>2]|0)|0;ve(c[f>>2]|0,c[(c[610]|0)+468>>2]|0);if((Ud(c[(c[610]|0)+468>>2]|0,2)|0)!=(d|0)){h=c[f>>2]|0;Kd(c[(c[610]|0)+312>>2]|0,h,h)}if(!g)f=13;else f=12}else{h=e+8|0;ue(b,c[h>>2]|0);h=c[h>>2]|0;xe(h,h,c[(c[610]|0)+468>>2]|0);h=c[610]|0;if(!(wd(c[h+468>>2]|0,c[h+476>>2]|0)|0))f=12;else f=13}if((f|0)==12){c[e>>2]=1;h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;h=1;return h|0}else if((f|0)==13){h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;h=0;return h|0}return 0}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a>>2]|0)==2){cd(b);cd(d);d=0;return d|0}e=c[610]|0;if(c[e+552>>2]|0){d=0;return d|0}g=e+28|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=98,(c[e+576>>2]|0)!=0):0)Zc();if(!(Je(a)|0)){g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=-1;return g|0}ve(c[a+4>>2]|0,b);ve(c[a+8>>2]|0,c[(c[610]|0)+468>>2]|0);if((b|0)!=(d|0))rd(c[(c[610]|0)+468>>2]|0,d);g=Ud(c[(c[610]|0)+468>>2]|0,2)|0;d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;return g|0}function Je(a){a=a|0;var b=0,d=0,e=0;b=c[610]|0;if((c[b+336>>2]|0)==1){a=1;return a|0}if(c[a>>2]|0){a=1;return a|0}if(c[b+552>>2]|0){a=0;return a|0}e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=117,(c[b+576>>2]|0)!=0):0){Zc();b=c[610]|0}rd(c[b+532>>2]|0,c[b+496>>2]|0);e=c[(c[610]|0)+496>>2]|0;d=a+12|0;e=(De(e,c[d>>2]|0,e)|0)>1;b=c[610]|0;if(!e){e=c[b+496>>2]|0;xe(e,e,c[b+468>>2]|0);b=c[a+4>>2]|0;xe(b,c[(c[610]|0)+468>>2]|0,b);b=c[610]|0;e=c[b+468>>2]|0;xe(e,c[b+496>>2]|0,e);e=c[a+8>>2]|0;xe(e,c[(c[610]|0)+468>>2]|0,e);rd(c[(c[610]|0)+532>>2]|0,c[d>>2]|0);c[a>>2]=1;e=(c[610]|0)+28|0;c[e>>2]=(c[e>>2]|0)+-1;e=1;return e|0}if(!(c[b+552>>2]|0)){e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=97,(c[b+576>>2]|0)!=0):0){Zc();b=c[610]|0}rd(c[b+532>>2]|0,c[a+4>>2]|0);rd(c[(c[610]|0)+532>>2]|0,c[a+8>>2]|0);c[a>>2]=2;e=(c[610]|0)+28|0;c[e>>2]=(c[e>>2]|0)+-1}Yc(28);e=(c[610]|0)+28|0;c[e>>2]=(c[e>>2]|0)+-1;e=0;return e|0}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+256|0;j=k;e=c[610]|0;if((c[e+336>>2]|0)==1){d=1;i=k;return d|0}if((a|0)>64|(c[e+552>>2]|0)!=0){d=0;i=k;return d|0}h=e+28|0;f=(c[h>>2]|0)+1|0;c[h>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=190,(c[e+576>>2]|0)!=0):0)Zc();h=(a|0)>0;a:do if(h){g=0;while(1){e=c[d+(g<<2)>>2]|0;f=c[e>>2]|0;if((f|0)!=1){c[j+(g<<2)>>2]=c[e+12>>2];if((f|0)==2){e=0;break}}else c[j+(g<<2)>>2]=c[(c[610]|0)+532>>2];g=g+1|0;if((g|0)>=(a|0))break a}do{Je(c[d+(e<<2)>>2]|0)|0;e=e+1|0}while((e|0)!=(a|0));d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=1;i=k;return d|0}while(0);j=(Fe(a,j,b)|0)==0;e=c[610]|0;if(j){d=e+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=0;i=k;return d|0}if(h){f=0;do{j=d+(f<<2)|0;rd(c[e+532>>2]|0,c[(c[j>>2]|0)+12>>2]|0);c[c[j>>2]>>2]=1;h=b+(f<<2)|0;e=c[h>>2]|0;xe(e,e,c[(c[610]|0)+468>>2]|0);e=c[(c[j>>2]|0)+4>>2]|0;xe(e,c[(c[610]|0)+468>>2]|0,e);e=c[(c[610]|0)+468>>2]|0;xe(e,c[h>>2]|0,e);e=c[(c[j>>2]|0)+8>>2]|0;xe(e,c[(c[610]|0)+468>>2]|0,e);f=f+1|0;e=c[610]|0}while((f|0)!=(a|0))}d=e+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=1;i=k;return d|0}function Le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[610]|0;if(c[d+552>>2]|0){b=0;return b|0}g=d+28|0;e=(c[g>>2]|0)+1|0;c[g>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=94,(c[d+576>>2]|0)!=0):0)Zc();if((a|0)==(b|0)){Ne(a);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[a>>2]|0)==2?0:2;return b|0}if((c[b>>2]|0)==2){rd(c[a+4>>2]|0,c[b+4>>2]|0);rd(c[a+8>>2]|0,c[b+8>>2]|0);d=c[a>>2]|0;if(!d){rd(c[a+12>>2]|0,c[b+12>>2]|0);d=c[a>>2]|0}c[b>>2]=d;b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=1;return b|0}d=c[a>>2]|0;e=c[610]|0;if((d|0)==2){b=e+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=1;return b|0}do if((c[e+336>>2]|0)==1){g=b+8|0;ze(c[a+8>>2]|0,c[g>>2]|0,c[e+496>>2]|0);f=a+4|0;a=b+4|0;ze(c[f>>2]|0,c[a>>2]|0,c[(c[610]|0)+488>>2]|0);h=(vd(c[(c[610]|0)+488>>2]|0)|0)==0;d=c[610]|0;e=c[d+496>>2]|0;if(h){if(!(vd(e)|0)){d=53;break}d=c[610]|0;if(c[d+552>>2]|0){d=54;break}h=d+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=97,(c[d+576>>2]|0)!=0):0){Zc();d=c[610]|0}rd(c[d+532>>2]|0,c[a>>2]|0);rd(c[(c[610]|0)+532>>2]|0,c[g>>2]|0);c[b>>2]=2;d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=54;break}h=(De(e,c[d+488>>2]|0,e)|0)>1;d=c[610]|0;if(!h){h=c[d+496>>2]|0;xe(h,h,c[d+472>>2]|0);h=c[610]|0;ze(c[h+472>>2]|0,c[f>>2]|0,c[h+468>>2]|0);h=c[(c[610]|0)+468>>2]|0;ze(h,c[a>>2]|0,h);h=c[610]|0;ze(c[a>>2]|0,c[h+468>>2]|0,c[h+472>>2]|0);h=c[610]|0;d=c[h+472>>2]|0;xe(d,c[h+496>>2]|0,d);d=c[g>>2]|0;ze(c[(c[610]|0)+472>>2]|0,d,d);rd(c[(c[610]|0)+468>>2]|0,c[a>>2]|0);c[b>>2]=1;d=54;break}if(!(c[d+552>>2]|0)){h=d+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=97,(c[d+576>>2]|0)!=0):0){Zc();d=c[610]|0}rd(c[d+532>>2]|0,c[a>>2]|0);rd(c[(c[610]|0)+532>>2]|0,c[g>>2]|0);c[b>>2]=2;h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1}Yc(28);d=54}else{if((d|0)==1){rd(c[b+4>>2]|0,c[e+468>>2]|0);rd(c[b+8>>2]|0,c[(c[610]|0)+496>>2]|0)}else{g=a+12|0;h=c[g>>2]|0;xe(h,h,c[e+488>>2]|0);h=c[610]|0;xe(c[b+4>>2]|0,c[h+488>>2]|0,c[h+468>>2]|0);h=c[(c[610]|0)+488>>2]|0;xe(h,c[g>>2]|0,h);h=c[610]|0;xe(c[b+8>>2]|0,c[h+488>>2]|0,c[h+496>>2]|0)}if((c[b>>2]|0)==1){h=c[610]|0;rd(c[h+532>>2]|0,c[h+488>>2]|0)}else{h=c[b+12>>2]|0;xe(h,h,c[(c[610]|0)+488>>2]|0)}h=c[610]|0;xe(c[a+4>>2]|0,c[h+488>>2]|0,c[h+480>>2]|0);if((c[b>>2]|0)!=1){h=c[(c[610]|0)+488>>2]|0;xe(h,c[b+12>>2]|0,h)}h=c[610]|0;xe(c[a+8>>2]|0,c[h+488>>2]|0,c[h+484>>2]|0);h=c[610]|0;d=c[h+468>>2]|0;ze(d,c[h+480>>2]|0,d);d=c[610]|0;h=c[d+496>>2]|0;ze(h,c[d+484>>2]|0,h);h=(vd(c[(c[610]|0)+468>>2]|0)|0)==0;d=c[610]|0;if(h){if(!(vd(c[d+496>>2]|0)|0)){d=53;break}d=c[610]|0;if(c[d+552>>2]|0){d=54;break}h=d+28|0;e=(c[h>>2]|0)+1|0;c[h>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=97,(c[d+576>>2]|0)!=0):0){Zc();d=c[610]|0}rd(c[d+532>>2]|0,c[b+4>>2]|0);rd(c[(c[610]|0)+532>>2]|0,c[b+8>>2]|0);c[b>>2]=2;d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=54;break}f=c[d+480>>2]|0;ye(f,f,c[d+488>>2]|0);f=c[610]|0;ye(c[f+468>>2]|0,c[f+488>>2]|0,c[f+480>>2]|0);f=c[610]|0;h=c[f+484>>2]|0;ye(h,h,c[f+488>>2]|0);f=c[610]|0;ye(c[f+496>>2]|0,c[f+488>>2]|0,c[f+484>>2]|0);f=(c[b>>2]|0)!=1;do if((c[a>>2]|0)==1){d=c[b+12>>2]|0;e=c[(c[610]|0)+468>>2]|0;if(f){xe(d,e,d);break}else{rd(e,d);break}}else{d=c[a+12>>2]|0;if(f){h=b+12|0;xe(c[h>>2]|0,d,c[(c[610]|0)+476>>2]|0);d=h}else{rd(d,c[(c[610]|0)+476>>2]|0);d=b+12|0}h=c[610]|0;xe(c[h+476>>2]|0,c[h+468>>2]|0,c[d>>2]|0)}while(0);h=c[610]|0;d=c[h+468>>2]|0;xe(d,d,c[h+488>>2]|0);h=c[610]|0;d=c[h+468>>2]|0;xe(d,c[h+488>>2]|0,d);d=c[610]|0;h=c[d+488>>2]|0;xe(h,c[d+480>>2]|0,h);h=c[610]|0;d=c[h+496>>2]|0;xe(d,d,c[h+480>>2]|0);h=c[610]|0;d=b+4|0;ze(c[h+480>>2]|0,c[h+488>>2]|0,c[d>>2]|0);h=c[(c[610]|0)+488>>2]|0;ze(h,c[d>>2]|0,h);h=c[(c[610]|0)+488>>2]|0;ze(h,c[d>>2]|0,h);h=c[610]|0;xe(c[h+496>>2]|0,c[h+488>>2]|0,c[h+472>>2]|0);h=c[610]|0;d=c[h+468>>2]|0;xe(d,c[h+484>>2]|0,d);d=c[610]|0;ze(c[d+472>>2]|0,c[d+468>>2]|0,c[d+484>>2]|0);Ce(c[(c[610]|0)+484>>2]|0,c[b+8>>2]|0);c[b>>2]=0;d=54}while(0);if((d|0)==53){Ne(b);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;h=2;return h|0}else if((d|0)==54){h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;h=(c[b>>2]|0)!=2&1;return h|0}return 0}function Me(a,b){a=a|0;b=b|0;var d=0;if((a|0)==(b|0)|(b|0)==0)return;rd(c[a+4>>2]|0,c[b+4>>2]|0);rd(c[a+8>>2]|0,c[b+8>>2]|0);d=c[a>>2]|0;if(!d){rd(c[a+12>>2]|0,c[b+12>>2]|0);d=c[a>>2]|0}c[b>>2]=d;return}function Ne(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[610]|0;if(c[b+552>>2]|0)return;if((c[a>>2]|0)==2)return;e=(c[b+336>>2]|0)==1;f=a+8|0;d=(vd(c[f>>2]|0)|0)==0;if(e){if(d){b=c[610]|0;if(c[b+552>>2]|0)return;e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=97,(c[b+576>>2]|0)!=0):0){Zc();b=c[610]|0}rd(c[b+532>>2]|0,c[a+4>>2]|0);rd(c[(c[610]|0)+532>>2]|0,c[f>>2]|0);c[a>>2]=2;a=(c[610]|0)+28|0;c[a>>2]=(c[a>>2]|0)+-1;return}e=a+4|0;b=c[e>>2]|0;xe(b,b,c[(c[610]|0)+496>>2]|0);b=c[(c[610]|0)+496>>2]|0;Ee(b,3,b);b=c[610]|0;d=c[b+340>>2]|0;if((((d|0)<0?0-d|0:d)|0)==1073741824){d=c[b+496>>2]|0;ye(d,c[b+536>>2]|0,d)}else{dd(d,c[b+472>>2]|0);b=c[(c[610]|0)+472>>2]|0;ue(b,b);b=c[610]|0;d=c[b+496>>2]|0;ye(d,c[b+472>>2]|0,d)}Ee(c[f>>2]|0,2,c[(c[610]|0)+488>>2]|0);b=c[610]|0;d=c[b+496>>2]|0;d=(De(d,c[b+488>>2]|0,d)|0)>1;b=c[610]|0;if(!d){a=c[b+496>>2]|0;xe(a,a,c[b+472>>2]|0);Ee(c[e>>2]|0,2,c[(c[610]|0)+468>>2]|0);a=c[610]|0;d=c[a+468>>2]|0;ze(c[a+472>>2]|0,d,d);d=c[610]|0;ze(c[e>>2]|0,c[d+468>>2]|0,c[d+472>>2]|0);d=c[610]|0;a=c[d+472>>2]|0;xe(a,c[d+496>>2]|0,a);a=c[f>>2]|0;ze(c[(c[610]|0)+472>>2]|0,a,a);rd(c[(c[610]|0)+468>>2]|0,c[e>>2]|0);return}if(!(c[b+552>>2]|0)){g=b+28|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=97,(c[b+576>>2]|0)!=0):0){Zc();b=c[610]|0}rd(c[b+532>>2]|0,c[e>>2]|0);rd(c[(c[610]|0)+532>>2]|0,c[f>>2]|0);c[a>>2]=2;g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1}Yc(28);return}b=c[610]|0;if(d){if(c[b+552>>2]|0)return;g=b+28|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=97,(c[b+576>>2]|0)!=0):0){Zc();b=c[610]|0}rd(c[b+532>>2]|0,c[a+4>>2]|0);rd(c[(c[610]|0)+532>>2]|0,c[f>>2]|0);c[a>>2]=2;g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;return}dd(1,c[b+468>>2]|0);d=c[610]|0;b=c[d+340>>2]|0;a:do if((((b|0)<0?0-b|0:b)|0)<1073741824){do if(b){b=c[d+488>>2]|0;if((c[a>>2]|0)==1){ue(c[d+468>>2]|0,b);break}else{g=c[a+12>>2]|0;xe(g,g,b);break}}while(0);b=c[610]|0;switch(c[b+340>>2]|0){case -3:{d=a+4|0;ze(c[d>>2]|0,c[b+488>>2]|0,c[b+476>>2]|0);g=c[610]|0;ye(c[d>>2]|0,c[g+488>>2]|0,c[g+496>>2]|0);g=c[610]|0;e=c[g+476>>2]|0;xe(e,c[g+496>>2]|0,e);e=c[610]|0;g=c[e+476>>2]|0;ye(g,g,c[e+496>>2]|0);e=c[610]|0;g=c[e+496>>2]|0;ye(g,c[e+476>>2]|0,g);break a}case 0:break;default:{g=c[b+488>>2]|0;xe(g,g,c[b+476>>2]|0);g=c[610]|0;b=c[g+476>>2]|0;Ee(b,c[g+340>>2]|0,b);b=c[610]|0}}d=a+4|0;g=c[d>>2]|0;xe(g,g,c[b+468>>2]|0);g=c[610]|0;b=c[g+468>>2]|0;ye(b,b,c[g+496>>2]|0);g=c[610]|0;b=c[g+496>>2]|0;ye(b,c[g+468>>2]|0,b);b=c[610]|0;if(c[b+340>>2]|0){g=c[b+496>>2]|0;ye(g,c[b+476>>2]|0,g)}}else{b=c[d+488>>2]|0;if((c[a>>2]|0)==1)ue(c[d+468>>2]|0,b);else{g=c[a+12>>2]|0;xe(g,g,b)}g=c[610]|0;d=c[g+488>>2]|0;xe(d,d,c[g+476>>2]|0);g=c[610]|0;d=c[g+476>>2]|0;xe(d,c[g+536>>2]|0,d);d=a+4|0;g=c[d>>2]|0;xe(g,g,c[(c[610]|0)+468>>2]|0);g=c[610]|0;e=c[g+468>>2]|0;ye(e,e,c[g+496>>2]|0);g=c[610]|0;e=c[g+496>>2]|0;ye(e,c[g+468>>2]|0,e);e=c[610]|0;g=c[e+496>>2]|0;ye(g,c[e+476>>2]|0,g)}while(0);g=c[f>>2]|0;xe(g,g,c[(c[610]|0)+472>>2]|0);g=c[610]|0;xe(c[d>>2]|0,c[g+472>>2]|0,c[g+476>>2]|0);g=c[(c[610]|0)+476>>2]|0;ye(g,g,g);g=c[(c[610]|0)+476>>2]|0;ye(g,g,g);g=c[(c[610]|0)+496>>2]|0;xe(g,g,c[d>>2]|0);g=c[d>>2]|0;ze(g,c[(c[610]|0)+476>>2]|0,g);g=c[d>>2]|0;ze(g,c[(c[610]|0)+476>>2]|0,g);if((c[a>>2]|0)==1){b=a+12|0;rd(c[f>>2]|0,c[b>>2]|0)}else{b=a+12|0;g=c[b>>2]|0;xe(g,c[f>>2]|0,g)}g=c[b>>2]|0;ye(g,g,g);g=c[610]|0;e=c[g+472>>2]|0;ye(e,e,c[g+492>>2]|0);g=c[610]|0;e=c[g+492>>2]|0;xe(e,e,c[g+472>>2]|0);g=c[(c[610]|0)+472>>2]|0;ye(g,g,g);g=c[(c[610]|0)+476>>2]|0;ze(g,c[d>>2]|0,g);g=c[610]|0;xe(c[g+496>>2]|0,c[g+476>>2]|0,c[f>>2]|0);g=c[f>>2]|0;ze(g,c[(c[610]|0)+472>>2]|0,g);c[a>>2]=0;return}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=c[610]|0;if(c[e+552>>2]|0){b=0;return b|0}if((a|0)==(b|0)){b=1;return b|0}d=(c[b>>2]|0)==2;if((c[a>>2]|0)==2){b=d&1;return b|0}if(d){b=0;return b|0}switch(c[e+336>>2]|0){case 1:{if((wd(c[a+4>>2]|0,c[b+4>>2]|0)|0)==0?(wd(c[a+8>>2]|0,c[b+8>>2]|0)|0)==0:0){b=1;return b|0}b=0;return b|0}case 0:{f=e+28|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;if((d|0)<24?(c[e+32+(d<<2)>>2]=105,(c[e+576>>2]|0)!=0):0)Zc();if(!(c[a>>2]|0))rd(c[a+12>>2]|0,c[(c[610]|0)+468>>2]|0);else{f=c[610]|0;rd(c[f+532>>2]|0,c[f+468>>2]|0)}if(!(c[b>>2]|0))rd(c[b+12>>2]|0,c[(c[610]|0)+472>>2]|0);else{f=c[610]|0;rd(c[f+532>>2]|0,c[f+472>>2]|0)}f=c[610]|0;e=c[f+468>>2]|0;xe(e,e,c[f+476>>2]|0);f=c[610]|0;e=c[f+472>>2]|0;xe(e,e,c[f+480>>2]|0);f=c[610]|0;xe(c[a+4>>2]|0,c[f+480>>2]|0,c[f+484>>2]|0);f=c[610]|0;xe(c[b+4>>2]|0,c[f+476>>2]|0,c[f+488>>2]|0);f=c[610]|0;if(!(wd(c[f+484>>2]|0,c[f+488>>2]|0)|0)){d=c[610]|0;f=c[d+476>>2]|0;xe(c[d+468>>2]|0,f,f);f=c[610]|0;d=c[f+480>>2]|0;xe(c[f+472>>2]|0,d,d);d=c[610]|0;xe(c[a+8>>2]|0,c[d+480>>2]|0,c[d+484>>2]|0);d=c[610]|0;xe(c[b+8>>2]|0,c[d+476>>2]|0,c[d+488>>2]|0);d=c[610]|0;d=(wd(c[d+484>>2]|0,c[d+488>>2]|0)|0)==0&1}else d=0;f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;f=d;return f|0}default:{f=0;return f|0}}return 0}function Pe(a){a=a|0;var b=0,d=0,e=0;b=c[610]|0;if(c[b+552>>2]|0)return;if((c[a>>2]|0)==2)return;e=b+28|0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if((d|0)<24?(c[b+32+(d<<2)>>2]=121,(c[b+576>>2]|0)!=0):0)Zc();b=a+8|0;if(vd(c[b>>2]|0)|0){e=c[b>>2]|0;Kd(c[(c[610]|0)+312>>2]|0,e,e)}e=(c[610]|0)+28|0;c[e>>2]=(c[e>>2]|0)+-1;return}function Qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[610]|0;if(c[d+552>>2]|0){a=0;return a|0}f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=104,(c[d+576>>2]|0)!=0):0)Zc();if((a|0)==(b|0)){d=c[610]|0;b=d+28|0;e=c[b>>2]|0;if(!(c[d+552>>2]|0)){e=e+1|0;c[b>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=97,(c[d+576>>2]|0)!=0):0){Zc();d=c[610]|0}rd(c[d+532>>2]|0,c[a+4>>2]|0);rd(c[(c[610]|0)+532>>2]|0,c[a+8>>2]|0);c[a>>2]=2;d=c[610]|0;f=d+28|0;e=(c[f>>2]|0)+-1|0;c[f>>2]=e}c[d+28>>2]=e+-1;f=0;return f|0}d=c[610]|0;if((c[a>>2]|0)==2){f=d+28|0;c[f>>2]=(c[f>>2]|0)+-1;f=1;return f|0}if(!(c[d+552>>2]|0)){f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=121,(c[d+576>>2]|0)!=0):0)Zc();d=a+8|0;if(vd(c[d>>2]|0)|0){f=c[d>>2]|0;Kd(c[(c[610]|0)+312>>2]|0,f,f)}f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1}b=Le(a,b)|0;d=c[610]|0;if((c[d+552>>2]|0)==0?(c[a>>2]|0)!=2:0){f=d+28|0;e=(c[f>>2]|0)+1|0;c[f>>2]=e;if((e|0)<24?(c[d+32+(e<<2)>>2]=121,(c[d+576>>2]|0)!=0):0)Zc();d=a+8|0;if(vd(c[d>>2]|0)|0){f=c[d>>2]|0;Kd(c[(c[610]|0)+312>>2]|0,f,f)}d=c[610]|0;f=d+28|0;c[f>>2]=(c[f>>2]|0)+-1}f=d+28|0;c[f>>2]=(c[f>>2]|0)+-1;f=b;return f|0}function Re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;m=p+68|0;n=p+64|0;o=p+32|0;j=p;e=c[610]|0;if(c[e+552>>2]|0){d=0;i=p;return d|0}l=e+28|0;f=(c[l>>2]|0)+1|0;c[l>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=95,(c[e+576>>2]|0)!=0):0)Zc();l=(vd(a)|0)==0;e=c[610]|0;if(l){a=e+28|0;f=c[a>>2]|0;if(!(c[e+552>>2]|0)){f=f+1|0;c[a>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=97,(c[e+576>>2]|0)!=0):0){Zc();e=c[610]|0}rd(c[e+532>>2]|0,c[d+4>>2]|0);rd(c[(c[610]|0)+532>>2]|0,c[d+8>>2]|0);c[d>>2]=2;e=c[610]|0;d=e+28|0;f=(c[d>>2]|0)+-1|0;c[d>>2]=f}c[e+28>>2]=f+-1;d=0;i=p;return d|0}rd(a,c[e+500>>2]|0);if(!((b|0)==(d|0)|(d|0)==0)){rd(c[b+4>>2]|0,c[d+4>>2]|0);rd(c[b+8>>2]|0,c[d+8>>2]|0);e=c[b>>2]|0;if(!e){rd(c[b+12>>2]|0,c[d+12>>2]|0);e=c[b>>2]|0}c[d>>2]=e}l=(vd(c[(c[610]|0)+500>>2]|0)|0)<0;e=c[610]|0;if(l){e=c[e+500>>2]|0;sd(e,e);e=c[610]|0;if((c[e+552>>2]|0)==0?(c[d>>2]|0)!=2:0){l=e+28|0;f=(c[l>>2]|0)+1|0;c[l>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=121,(c[e+576>>2]|0)!=0):0)Zc();e=d+8|0;if(vd(c[e>>2]|0)|0){l=c[e>>2]|0;Kd(c[(c[610]|0)+312>>2]|0,l,l)}e=c[610]|0;l=e+28|0;c[l>>2]=(c[l>>2]|0)+-1}}l=(vd(c[e+500>>2]|0)|0)==1;e=c[610]|0;if(l){d=e+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=0;i=p;return d|0}Rd(c[e+500>>2]|0,3,c[e+504>>2]|0);l=c[610]|0;if((c[l>>2]|0)==(c[l+16>>2]|0)){k=Hd(8)|0;l=jd(8)|0;a=Gd(k,0)|0;c[o>>2]=a;c[j>>2]=fd(l,0)|0;b=Gd(k,1)|0;c[o+4>>2]=b;c[j+4>>2]=fd(l,1)|0;c[o+8>>2]=Gd(k,2)|0;c[j+8>>2]=fd(l,2)|0;c[o+12>>2]=Gd(k,3)|0;c[j+12>>2]=fd(l,3)|0;c[o+16>>2]=Gd(k,4)|0;c[j+16>>2]=fd(l,4)|0;c[o+20>>2]=Gd(k,5)|0;c[j+20>>2]=fd(l,5)|0;g=Gd(k,6)|0;c[o+24>>2]=g;c[j+24>>2]=fd(l,6)|0;h=Gd(k,7)|0;c[o+28>>2]=h;c[j+28>>2]=fd(l,7)|0;if(!((a|0)==(d|0)|(a|0)==0)){rd(c[d+4>>2]|0,c[a+4>>2]|0);rd(c[d+8>>2]|0,c[a+8>>2]|0);e=c[d>>2]|0;if(!e){rd(c[d+12>>2]|0,c[a+12>>2]|0);e=c[d>>2]|0}c[a>>2]=e}if(!((a|0)==(h|0)|(h|0)==0)){rd(c[a+4>>2]|0,c[h+4>>2]|0);rd(c[a+8>>2]|0,c[h+8>>2]|0);e=c[a>>2]|0;if(!e){rd(c[a+12>>2]|0,c[h+12>>2]|0);e=c[a>>2]|0}c[h>>2]=e}Ne(h);e=1;while(1){if(!((a|0)==(b|0)|(b|0)==0)){rd(c[a+4>>2]|0,c[b+4>>2]|0);rd(c[a+8>>2]|0,c[b+8>>2]|0);f=c[a>>2]|0;if(!f){rd(c[a+12>>2]|0,c[b+12>>2]|0);f=c[a>>2]|0}c[b>>2]=f}Le(h,b)|0;e=e+1|0;if((e|0)==7)break;a=b;b=c[o+(e<<2)>>2]|0}Le(g,h)|0;Ke(8,j,o)|0;a=pe(c[(c[610]|0)+504>>2]|0)|0;e=c[610]|0;if(!(c[e+552>>2]|0)){j=e+28|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=97,(c[e+576>>2]|0)!=0):0){Zc();e=c[610]|0}rd(c[e+532>>2]|0,c[d+4>>2]|0);rd(c[(c[610]|0)+532>>2]|0,c[d+8>>2]|0);c[d>>2]=2;e=c[610]|0;j=e+28|0;c[j>>2]=(c[j>>2]|0)+-1}a:do if((a|0)>1){f=e;a=a+-1|0;e=0;while(1){b=c[f+20>>2]|0;if(b){tb[b&0]()|0;f=c[610]|0}f=Ed(c[f+500>>2]|0,c[f+504>>2]|0,a,m,n,8)|0;if((c[m>>2]|0)>0){b=0;do{Ne(d);b=b+1|0}while((b|0)<(c[m>>2]|0))}if((f|0)<=0){if((f|0)<0){Qe(c[o+(((f|0)/-2|0)<<2)>>2]|0,d)|0;e=e+1|0}}else{Le(c[o+(((f|0)/2|0)<<2)>>2]|0,d)|0;e=e+1|0}a=a-(c[m>>2]|0)|0;f=c[n>>2]|0;if(f){if((f|0)>0){b=0;do{Ne(d);b=b+1|0;f=c[n>>2]|0}while((b|0)<(f|0))}a=a-f|0}if((a|0)<=0)break a;f=c[610]|0}}else e=0;while(0);Id(k,8);kd(l,8)}else{g=Hd(1)|0;b=Gd(g,0)|0;Je(d)|0;if(!((b|0)==(d|0)|(b|0)==0)){rd(c[d+4>>2]|0,c[b+4>>2]|0);rd(c[d+8>>2]|0,c[b+8>>2]|0);e=c[d>>2]|0;if(!e){rd(c[d+12>>2]|0,c[b+12>>2]|0);e=c[d>>2]|0}c[b>>2]=e}n=(pe(c[(c[610]|0)+504>>2]|0)|0)+-1|0;qe(n,c[(c[610]|0)+508>>2]|0);n=c[610]|0;o=c[n+504>>2]|0;Kd(o,c[n+508>>2]|0,o);o=c[(c[610]|0)+508>>2]|0;Td(o,2,o)|0;if((vd(c[(c[610]|0)+508>>2]|0)|0)>1){e=0;do{f=c[(c[610]|0)+20>>2]|0;if(f)tb[f&0]()|0;Ne(d);f=c[610]|0;f=wd(c[f+500>>2]|0,c[f+508>>2]|0)|0;a=c[610]|0;a=wd(c[a+504>>2]|0,c[a+508>>2]|0)|0;if((a|0)>-1){if((f|0)<0){Le(b,d)|0;e=e+1|0}n=c[610]|0;o=c[n+504>>2]|0;Kd(o,c[n+508>>2]|0,o)}if((f|0)>-1){if((a|0)<0){Qe(b,d)|0;e=e+1|0}n=c[610]|0;o=c[n+500>>2]|0;Kd(o,c[n+508>>2]|0,o)}o=c[(c[610]|0)+508>>2]|0;Td(o,2,o)|0}while((vd(c[(c[610]|0)+508>>2]|0)|0)>1)}else e=0;Id(g,1)}d=(c[610]|0)+28|0;c[d>>2]=(c[d>>2]|0)+-1;d=e;i=p;return d|0}function Se(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=c[610]|0;if(c[g+552>>2]|0)return;n=g+28|0;h=(c[n>>2]|0)+1|0;c[n>>2]=h;if((h|0)<24?(c[g+32+(h<<2)>>2]=103,(c[g+576>>2]|0)!=0):0)Zc();if(!(vd(a)|0)){Re(d,e,f)|0;f=(c[610]|0)+28|0;c[f>>2]=(c[f>>2]|0)+-1;return}j=Hd(4)|0;k=Gd(j,0)|0;l=Gd(j,1)|0;m=Gd(j,2)|0;n=Gd(j,3)|0;Je(e)|0;if(!((k|0)==(e|0)|(k|0)==0)){rd(c[e+4>>2]|0,c[k+4>>2]|0);rd(c[e+8>>2]|0,c[k+8>>2]|0);g=c[e>>2]|0;if(!g){rd(c[e+12>>2]|0,c[k+12>>2]|0);g=c[e>>2]|0}c[k>>2]=g}rd(d,c[(c[610]|0)+500>>2]|0);if(((vd(c[(c[610]|0)+500>>2]|0)|0)<0?(i=c[(c[610]|0)+500>>2]|0,sd(i,i),i=c[610]|0,(c[i+552>>2]|0)==0):0)?(c[k>>2]|0)!=2:0){d=i+28|0;g=(c[d>>2]|0)+1|0;c[d>>2]=g;if((g|0)<24?(c[i+32+(g<<2)>>2]=121,(c[i+576>>2]|0)!=0):0)Zc();g=k+8|0;if(vd(c[g>>2]|0)|0){i=c[g>>2]|0;Kd(c[(c[610]|0)+312>>2]|0,i,i)}i=(c[610]|0)+28|0;c[i>>2]=(c[i>>2]|0)+-1}Je(b)|0;if(!((l|0)==(b|0)|(l|0)==0)){rd(c[b+4>>2]|0,c[l+4>>2]|0);rd(c[b+8>>2]|0,c[l+8>>2]|0);g=c[b>>2]|0;if(!g){rd(c[b+12>>2]|0,c[l+12>>2]|0);g=c[b>>2]|0}c[l>>2]=g}rd(a,c[(c[610]|0)+512>>2]|0);a=(vd(c[(c[610]|0)+512>>2]|0)|0)<0;g=c[610]|0;if(a){g=c[g+512>>2]|0;sd(g,g);g=c[610]|0;if((c[g+552>>2]|0)==0?(c[l>>2]|0)!=2:0){a=g+28|0;h=(c[a>>2]|0)+1|0;c[a>>2]=h;if((h|0)<24?(c[g+32+(h<<2)>>2]=121,(c[g+576>>2]|0)!=0):0)Zc();g=l+8|0;if(vd(c[g>>2]|0)|0){a=c[g>>2]|0;Kd(c[(c[610]|0)+312>>2]|0,a,a)}g=c[610]|0;a=g+28|0;c[a>>2]=(c[a>>2]|0)+-1}}do if(!(c[g+552>>2]|0)){a=g+28|0;h=(c[a>>2]|0)+1|0;c[a>>2]=h;if((h|0)<24?(c[g+32+(h<<2)>>2]=97,(c[g+576>>2]|0)!=0):0){Zc();g=c[610]|0}rd(c[g+532>>2]|0,c[f+4>>2]|0);rd(c[(c[610]|0)+532>>2]|0,c[f+8>>2]|0);c[f>>2]=2;g=c[610]|0;a=g+28|0;c[a>>2]=(c[a>>2]|0)+-1;if(!(c[g+552>>2]|0)){if((c[l>>2]|0)!=0?(c[k>>2]|0)!=0:0){h=l+4|0;g=k+4|0;if(wd(c[h>>2]|0,c[g>>2]|0)|0){i=c[610]|0;e=c[i+504>>2]|0;b=c[i+508>>2]|0;i=c[i+516>>2]|0;rd(c[h>>2]|0,b);ze(b,c[g>>2]|0,b);ve(b,b);me(b,c[(c[610]|0)+312>>2]|0,b)|0;ue(b,b);q=m+4|0;ye(c[h>>2]|0,c[g>>2]|0,c[q>>2]|0);d=n+4|0;rd(c[q>>2]|0,c[d>>2]|0);h=l+8|0;rd(c[h>>2]|0,e);a=k+8|0;ze(e,c[a>>2]|0,e);rd(e,i);xe(i,b,i);rd(i,e);xe(e,e,e);o=c[q>>2]|0;ze(e,o,o);o=m+8|0;rd(c[g>>2]|0,c[o>>2]|0);p=c[o>>2]|0;ze(p,c[q>>2]|0,p);p=c[o>>2]|0;xe(p,i,p);o=c[o>>2]|0;ze(o,c[a>>2]|0,o);rd(c[h>>2]|0,e);ye(e,c[a>>2]|0,e);rd(e,i);xe(i,b,i);rd(i,e);xe(e,e,e);b=c[d>>2]|0;ze(e,b,b);b=n+8|0;rd(c[g>>2]|0,c[b>>2]|0);g=c[b>>2]|0;ze(g,c[d>>2]|0,g);g=c[b>>2]|0;xe(g,i,g);g=c[b>>2]|0;ye(g,c[a>>2]|0,g);c[m>>2]=1;c[n>>2]=1;g=c[610]|0;break}if(!((l|0)==(m|0)|(m|0)==0)){rd(c[h>>2]|0,c[m+4>>2]|0);rd(c[l+8>>2]|0,c[m+8>>2]|0);g=c[l>>2]|0;if(!g){rd(c[l+12>>2]|0,c[m+12>>2]|0);g=c[l>>2]|0}c[m>>2]=g}Le(k,m)|0;if(!((l|0)==(n|0)|(n|0)==0)){rd(c[h>>2]|0,c[n+4>>2]|0);rd(c[l+8>>2]|0,c[n+8>>2]|0);g=c[l>>2]|0;if(!g){rd(c[l+12>>2]|0,c[n+12>>2]|0);g=c[l>>2]|0}c[n>>2]=g}Qe(k,n)|0;g=c[610]|0;q=g+28|0;c[q>>2]=(c[q>>2]|0)+-1;break}Yc(7);g=c[610]|0;q=g+28|0;c[q>>2]=(c[q>>2]|0)+-1}}while(0);h=c[g+500>>2]|0;q=c[g+512>>2]|0;Vd(h,q,c[g+504>>2]|0,h,c[g+516>>2]|0,q);g=c[610]|0;q=(c[g>>2]|0)==(c[g+16>>2]|0);g=(wd(c[g+504>>2]|0,c[g+516>>2]|0)|0)>-1;h=c[610]|0;if(q){if(g)g=pe(c[h+504>>2]|0)|0;else g=pe(c[h+516>>2]|0)|0;if((g|0)>0)do{i=g;g=g+-1|0;h=c[(c[610]|0)+20>>2]|0;if(h)tb[h&0]()|0;Ne(f);d=(Ad(c[(c[610]|0)+500>>2]|0,g)|0)!=0;h=(Ad(c[(c[610]|0)+504>>2]|0,g)|0)!=0;q=(Ad(c[(c[610]|0)+512>>2]|0,g)|0)!=0;e=(Ad(c[(c[610]|0)+516>>2]|0,g)|0)!=0;d=d^h;do if(q^e){if(!d)if(e){Le(l,f)|0;break}else{Qe(l,f)|0;break}if(e)if(h){Le(m,f)|0;break}else{Le(n,f)|0;break}else if(h){Qe(n,f)|0;break}else{Qe(m,f)|0;break}}else if(d)if(h){Le(k,f)|0;break}else{Qe(k,f)|0;break}while(0)}while((i|0)>1)}else{if(g){q=(pe(c[h+504>>2]|0)|0)+-1|0;qe(q,c[(c[610]|0)+508>>2]|0)}else{q=(pe(c[h+516>>2]|0)|0)+-1|0;qe(q,c[(c[610]|0)+508>>2]|0)}if((vd(c[(c[610]|0)+508>>2]|0)|0)>0)do{g=c[(c[610]|0)+20>>2]|0;if(g)tb[g&0]()|0;Ne(f);q=c[610]|0;if((wd(c[q+500>>2]|0,c[q+508>>2]|0)|0)>-1){q=c[610]|0;g=c[q+500>>2]|0;Kd(g,c[q+508>>2]|0,g);g=1}else g=0;q=c[610]|0;if((wd(c[q+504>>2]|0,c[q+508>>2]|0)|0)>-1){q=c[610]|0;d=c[q+504>>2]|0;Kd(d,c[q+508>>2]|0,d);d=1}else d=0;q=c[610]|0;if((wd(c[q+512>>2]|0,c[q+508>>2]|0)|0)>-1){q=c[610]|0;h=c[q+512>>2]|0;Kd(h,c[q+508>>2]|0,h);h=1}else h=0;q=c[610]|0;if((wd(c[q+516>>2]|0,c[q+508>>2]|0)|0)>-1){q=c[610]|0;e=c[q+516>>2]|0;Kd(e,c[q+508>>2]|0,e);e=1}else e=0;g=(g|0)==(d|0);do if((h|0)==(e|0)){if(g)break;if((d|0)==1){Le(k,f)|0;break}else{Qe(k,f)|0;break}}else{h=(e|0)==1;if(g)if(h){Le(l,f)|0;break}else{Qe(l,f)|0;break}g=(d|0)==1;if(h)if(g){Le(m,f)|0;break}else{Le(n,f)|0;break}else if(g){Qe(n,f)|0;break}else{Qe(m,f)|0;break}}while(0);q=c[(c[610]|0)+508>>2]|0;Td(q,2,q)|0}while((vd(c[(c[610]|0)+508>>2]|0)|0)>0)}Id(j,4);q=(c[610]|0)+28|0;c[q>>2]=(c[q>>2]|0)+-1;return}function Te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;xe(a,a,b);xe(b,a,b);d=c[610]|0;e=c[d+340>>2]|0;f=c[d+468>>2]|0;if((((e|0)<0?0-e|0:e)|0)==1073741824)xe(a,c[d+536>>2]|0,f);else Ee(a,e,f);ye(b,c[(c[610]|0)+468>>2]|0,b);d=c[610]|0;e=c[d+344>>2]|0;if((((e|0)<0?0-e|0:e)|0)==1073741824){ye(b,c[d+540>>2]|0,b);return}else{dd(e,c[d+468>>2]|0);a=c[(c[610]|0)+468>>2]|0;ue(a,a);ye(b,c[(c[610]|0)+468>>2]|0,b);return}}function Ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(c[(c[610]|0)+552>>2]|0){b=0;return b|0}rd(a,b);if(!(vd(b)|0)){b=1;return b|0}a=c[610]|0;f=a+28|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;if((d|0)<24?(c[a+32+(d<<2)>>2]=100,(c[a+576>>2]|0)!=0):0)Zc();ve(b,b);if((vd(b)|0)==1){ue(b,b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=1;return b|0}if((vd(b)|0)==4){dd(2,b);ue(b,b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=1;return b|0}if((ke(b,c[(c[610]|0)+312>>2]|0)|0)!=1){cd(b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}a=c[610]|0;f=((c[a+716>>2]|0)%4|0)+-2|0;Nd(c[a+312>>2]|0,f,c[a+504>>2]|0);a=c[(c[610]|0)+504>>2]|0;Td(a,4,a)|0;a=c[610]|0;a:do if((f|0)!=1){d=1;while(1){e=(d|0)==1;a=c[a+480>>2]|0;if(e)rd(b,a);else{Rd(b,d,a);a=c[610]|0;g=c[a+312>>2]|0;Yd(c[a+480>>2]|0,g,g);g=c[(c[610]|0)+480>>2]|0;Rd(g,d,g);g=c[610]|0;a=c[g+312>>2]|0;Yd(c[g+480>>2]|0,a,a)}g=c[610]|0;Od(c[g+480>>2]|0,4,c[g+468>>2]|0);g=c[610]|0;g=(ke(c[g+468>>2]|0,c[g+312>>2]|0)|0)==(f|0);a=c[610]|0;if(g)break;if(c[a+552>>2]|0)break;d=d+1|0}Od(c[a+480>>2]|0,2,c[a+476>>2]|0);g=c[(c[610]|0)+476>>2]|0;ue(g,g);g=c[610]|0;Ze(c[g+476>>2]|0,c[g+504>>2]|0,b,b);if(!e){dd(d,c[(c[610]|0)+508>>2]|0);g=c[(c[610]|0)+508>>2]|0;ue(g,g);De(b,c[(c[610]|0)+508>>2]|0,b)|0}}else{ue(b,c[a+472>>2]|0);rd(c[(c[610]|0)+532>>2]|0,b);while(1){a=c[610]|0;d=c[a+20>>2]|0;if(d){tb[d&0]()|0;a=c[610]|0}g=c[a+504>>2]|0;if(Td(g,2,g)|0)xe(b,c[(c[610]|0)+472>>2]|0,b);a=c[610]|0;if(c[a+552>>2]|0)break a;if(!(vd(c[a+504>>2]|0)|0))break a;g=c[(c[610]|0)+472>>2]|0;xe(g,g,g)}}while(0);g=(c[610]|0)+28|0;c[g>>2]=(c[g>>2]|0)+-1;g=1;return g|0}function Ve(a){a=a|0;mt(a+40|0,0,256)|0;c[a+4>>2]=0;c[a>>2]=0;c[a+8>>2]=1779033703;c[a+12>>2]=-1150833019;c[a+16>>2]=1013904242;c[a+20>>2]=-1521486534;c[a+24>>2]=1359893119;c[a+28>>2]=-1694144372;c[a+32>>2]=528734635;c[a+36>>2]=1541459225;return}function We(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;e=a+40+((d>>>5&15)<<2)|0;c[e>>2]=c[e>>2]<<8|b&255;b=d+8|0;c[a>>2]=b;if(b){if(b&511)return}else{e=a+4|0;c[e>>2]=(c[e>>2]|0)+1;c[a>>2]=0}Ye(a);return}function Xe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=c[b>>2]|0;i=b+4|0;g=c[i>>2]|0;e=b+40+((f>>>5&15)<<2)|0;c[e>>2]=c[e>>2]<<8|128;e=f+8|0;c[b>>2]=e;if(e){if(!(e&511))h=4}else{c[i>>2]=g+1;c[b>>2]=0;h=4}if((h|0)==4){Ye(b);e=c[b>>2]|0}if((e&511|0)!=448)do{j=b+40+((e>>>5&15)<<2)|0;c[j>>2]=c[j>>2]<<8;e=e+8|0;c[b>>2]=e;if(e){if(!(e&511))h=10}else{c[i>>2]=(c[i>>2]|0)+1;c[b>>2]=0;h=10}if((h|0)==10){h=0;Ye(b);e=c[b>>2]|0}}while((e&511|0)!=448);c[b+96>>2]=g;c[b+100>>2]=f;Ye(b);e=0;do{a[d+e>>0]=(c[b+8+(((e|0)/4|0)<<2)>>2]|0)>>>(3-((e|0)%4|0)<<3);e=e+1|0}while((e|0)!=32);mt(b+40|0,0,256)|0;c[i>>2]=0;c[b>>2]=0;c[b+8>>2]=1779033703;c[b+12>>2]=-1150833019;c[b+16>>2]=1013904242;c[b+20>>2]=-1521486534;c[b+24>>2]=1359893119;c[b+28>>2]=-1694144372;c[b+32>>2]=528734635;c[b+36>>2]=1541459225;return}function Ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;b=c[a+40>>2]|0;d=16;do{A=c[a+40+(d+-2<<2)>>2]|0;z=b;b=c[a+40+(d+-15<<2)>>2]|0;c[a+40+(d<<2)>>2]=z+(c[a+40+(d+-7<<2)>>2]|0)+((A>>>19|A<<13)^A>>>10^(A>>>17|A<<15))+((b>>>18|b<<14)^b>>>3^(b>>>7|b<<25));d=d+1|0}while((d|0)!=64);l=a+8|0;m=c[l>>2]|0;n=a+12|0;o=c[n>>2]|0;p=a+16|0;q=c[p>>2]|0;r=a+20|0;s=c[r>>2]|0;t=a+24|0;u=c[t>>2]|0;v=a+28|0;w=c[v>>2]|0;x=a+32|0;y=c[x>>2]|0;z=a+36|0;A=c[z>>2]|0;k=m;i=o;h=q;e=s;f=u;d=w;b=y;g=A;j=0;while(1){g=((f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7))+g+(b&~f^d&f)+(c[3420+(j<<2)>>2]|0)+(c[a+40+(j<<2)>>2]|0)|0;e=g+e|0;g=((k>>>2|k<<30)^(k>>>13|k<<19)^(k>>>22|k<<10))+(k&(i^h)^i&h)+g|0;j=j+1|0;if((j|0)==64){j=k;break}else{C=f;B=k;k=g;f=e;g=b;b=d;d=C;e=h;h=i;i=B}}c[l>>2]=m+g;c[n>>2]=o+j;c[p>>2]=q+i;c[r>>2]=s+h;c[t>>2]=u+e;c[v>>2]=w+f;c[x>>2]=y+d;c[z>>2]=A+b;return}function Ze(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[610]|0;if(c[f+552>>2]|0)return;h=f+28|0;g=(c[h>>2]|0)+1|0;c[h>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=107,(c[f+576>>2]|0)!=0):0)Zc();if(!(vd(b)|0)){cd(d);dd(2,e);ue(e,e);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}if((vd(b)|0)!=1?(vd(b)|0)!=-1:0){rd(a,c[(c[610]|0)+476>>2]|0);dd(2,c[(c[610]|0)+480>>2]|0);f=c[(c[610]|0)+480>>2]|0;ue(f,f);f=c[610]|0;rd(c[f+480>>2]|0,c[f+496>>2]|0);f=c[610]|0;rd(c[f+476>>2]|0,c[f+500>>2]|0);rd(b,c[(c[610]|0)+468>>2]|0);nd(1,c[(c[610]|0)+468>>2]|0);f=c[(c[610]|0)+468>>2]|0;Od(f,1,f);f=c[610]|0;h=(c[f>>2]|0)==(c[f+16>>2]|0);f=pe(c[f+468>>2]|0)|0;a:do if(h){if((f|0)>0)do{b=f;f=f+-1|0;g=c[610]|0;a=c[g+20>>2]|0;if(a){tb[a&0]()|0;g=c[610]|0}h=(Ad(c[g+468>>2]|0,f)|0)==0;a=c[610]|0;g=c[a+500>>2]|0;a=c[a+496>>2]|0;if(h){xe(g,a,g);h=c[610]|0;a=c[h+500>>2]|0;ze(a,c[h+476>>2]|0,a);a=c[(c[610]|0)+496>>2]|0;xe(a,a,a);a=c[610]|0;h=c[a+496>>2]|0;ze(h,c[a+480>>2]|0,h)}else{xe(a,g,a);h=c[610]|0;a=c[h+496>>2]|0;ze(a,c[h+476>>2]|0,a);a=c[(c[610]|0)+500>>2]|0;xe(a,a,a);a=c[610]|0;h=c[a+500>>2]|0;ze(h,c[a+480>>2]|0,h)}}while((b|0)>1)}else{qe(f+-1|0,c[(c[610]|0)+472>>2]|0);f=c[610]|0;if(!(c[f+552>>2]|0))do{if(!(vd(c[f+472>>2]|0)|0))break a;h=c[610]|0;h=(wd(c[h+468>>2]|0,c[h+472>>2]|0)|0)>-1;g=c[610]|0;f=c[g+496>>2]|0;g=c[g+500>>2]|0;if(h){xe(f,g,f);b=c[610]|0;h=c[b+496>>2]|0;ze(h,c[b+476>>2]|0,h);h=c[(c[610]|0)+500>>2]|0;xe(h,h,h);h=c[610]|0;b=c[h+500>>2]|0;ze(b,c[h+480>>2]|0,b);b=c[610]|0;h=c[b+468>>2]|0;Md(h,c[b+472>>2]|0,h)}else{xe(g,f,g);h=c[610]|0;b=c[h+500>>2]|0;ze(b,c[h+476>>2]|0,b);b=c[(c[610]|0)+496>>2]|0;xe(b,b,b);b=c[610]|0;h=c[b+496>>2]|0;ze(h,c[b+480>>2]|0,h)}f=c[(c[610]|0)+472>>2]|0;Td(f,2,f)|0;f=c[610]|0}while((c[f+552>>2]|0)==0)}while(0);rd(c[(c[610]|0)+500>>2]|0,e);if((e|0)!=(d|0))rd(c[(c[610]|0)+496>>2]|0,d);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}dd(2,d);ue(d,d);rd(a,e);h=(c[610]|0)+28|0;c[h>>2]=(c[h>>2]|0)+-1;return}function _e(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[610]|0;if(c[f+552>>2]|0)return;m=f+28|0;g=(c[m>>2]|0)+1|0;c[m>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=20,(c[f+576>>2]|0)!=0):0){Zc();f=c[610]|0}cd(c[f+468>>2]|0);k=a+156|0;l=0;do{m=l;l=l+1|0;c[c[(c[610]|0)+468>>2]>>2]=l;i=c[k>>2]|0;f=i+1|0;c[k>>2]=f;j=d[a+160+i>>0]|0;if((i|0)>30){af(a);f=c[k>>2]|0}g=f+1|0;c[k>>2]=g;i=d[a+160+f>>0]|0;if((f|0)>30){af(a);g=c[k>>2]|0}f=g+1|0;c[k>>2]=f;h=d[a+160+g>>0]|0;if((g|0)>30){af(a);f=c[k>>2]|0}c[k>>2]=f+1;g=d[a+160+f>>0]|0;if((f|0)>30)af(a);f=g|(h|(i|j<<8)<<8)<<8;h=c[610]|0;g=c[h>>2]|0;if(g)f=(f>>>0)%(g>>>0)|0;c[(c[(c[h+468>>2]|0)+4>>2]|0)+(m<<2)>>2]=f}while((wd(c[(c[610]|0)+468>>2]|0,b)|0)<0);gd(c[(c[610]|0)+468>>2]|0);Yd(c[(c[610]|0)+468>>2]|0,b,b);rd(c[(c[610]|0)+468>>2]|0,e);e=(c[610]|0)+28|0;c[e>>2]=(c[e>>2]|0)+-1;return}function $e(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[610]|0;if(c[f+552>>2]|0)return;i=f+28|0;g=(c[i>>2]|0)+1|0;c[i>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=19,(c[f+576>>2]|0)!=0):0)Zc();if((d+-2|0)>>>0>254){Yc(1);i=(c[610]|0)+28|0;c[i>>2]=(c[i>>2]|0)+-1;return}while(1){ne(d,b,c[(c[610]|0)+472>>2]|0);_e(a,c[(c[610]|0)+472>>2]|0,e);f=c[(c[610]|0)+472>>2]|0;Td(f,d,f)|0;f=c[610]|0;if(c[f+552>>2]|0)break;if((wd(e,c[f+472>>2]|0)|0)>=0){h=9;break}}if((h|0)==9)f=c[610]|0;i=f+28|0;c[i>>2]=(c[i>>2]|0)+-1;return}function af(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+368|0;l=m;Ve(l);h=a+148|0;j=a+152|0;k=0;do{b=(c[h>>2]|0)+1|0;c[h>>2]=b;if((b|0)<37)b=a+(b<<2)|0;else{c[h>>2]=0;g=0;b=13;while(1){b=(b|0)==37?0:b;e=c[a+(b<<2)>>2]|0;f=a+(g<<2)|0;d=e-(c[f>>2]|0)-(c[j>>2]|0)|0;if(d>>>0>>0)c[j>>2]=0;if(d>>>0>e>>>0)c[j>>2]=1;c[f>>2]=d;g=g+1|0;if((g|0)==37){b=a;break}else b=b+1|0}}We(l,c[b>>2]|0);k=k+1|0}while((k|0)!=128);Xe(l,a+160|0);c[a+156>>2]=0;i=m;return}function bf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=c[610]|0;if(c[f+552>>2]|0){b=0;return b|0}w=f+28|0;g=(c[w>>2]|0)+1|0;c[w>>2]=g;if((g|0)<24?(c[f+32+(g<<2)>>2]=76,(c[f+576>>2]|0)!=0):0){Zc();f=c[610]|0}if(((c[f+4>>2]|0)+-1|0)>>>0>255){Yc(1);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}if(!(c[f+140>>2]|0)){Yc(18);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}cd(b);f=c[610]|0;h=(c[f+136>>2]|0)==0;if(h)w=e;else w=c[f+584>>2]|0;g=c[f+560>>2]|0;a:do if(!g){do if(h)g=0;else{h=0;b:while(1){g=yi(c[f+144>>2]|0)|0;if((g|0)==-1){f=h;v=17;break}e=h+1|0;a[w+h>>0]=g;f=c[610]|0;if((e|0)>=(c[f+544>>2]|0))break;switch(g|0){case 0:case 10:{f=e;v=17;break b}default:h=e}}if((v|0)==17){a[w+f>>0]=0;g=c[610]|0;f=g;g=c[g+560>>2]|0;break}Yc(17);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}while(0);e=f+560|0;h=a[w+g>>0]|0;if(!(h<<24>>24))v=33;else{i=(c[f+4>>2]|0)>>>0<61;j=f+584|0;k=f+544|0;while(1){if(h<<24>>24==10&i){v=33;break a}g=g+1|0;c[e>>2]=g;if((w|0)==(c[j>>2]|0)?(g|0)>=(c[k>>2]|0):0)break;h=a[w+g>>0]|0;if(!(h<<24>>24)){v=33;break a}}Yc(17);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}}else{if((w|0)==(c[f+584>>2]|0)?(g|0)>=(c[f+544>>2]|0):0){Yc(17);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}if(!h)if((g|0)>0){h=0;while(1){f=yi(c[f+144>>2]|0)|0;if((f|0)==-1){g=h;break}a[w+h>>0]=f;h=h+1|0;f=c[610]|0;g=c[f+560>>2]|0;if((h|0)>=(g|0)){v=33;break a}}f=c[610]|0;c[f+560>>2]=g;v=33}else{u=0;e=1}else v=33}while(0);if((v|0)==33){h=f+560|0;if((g|0)>0?(c[f+4>>2]|0)>>>0<61:0){f=g+-1|0;if((a[w+f>>0]|0)==47){c[h>>2]=f;g=f}f=0;c:while(1){h=a[w+f>>0]|0;switch(h<<24>>24){case 45:{v=40;break c}case 32:break;default:{e=1;break c}}f=f+1|0}if((v|0)==40){f=f+1|0;h=a[w+f>>0]|0;e=-1}u=(h<<24>>24==43&1)+f|0}else{u=0;e=1}}f=1;h=0;k=0;i=0;j=0;d:while(1){i=i+1|0;t=j;e:while(1){q=(t|0)>2;j=(t|0)!=0;s=t<<1;r=f;f:while(1){f=c[610]|0;n=f+4|0;g:do if(!h){h:while(1){o=g+-1|0;if((g|0)<=(u|0)){h=0;g=k;break d}g=a[w+o>>0]|0;l=g&255;m=c[n>>2]|0;h=(m|0)==64;if(!(m>>>0<61|h)){h=0;g=o;break g}if(m>>>0<=60)switch(g<<24>>24){case 47:{h=r;g=o;i=k;j=t;v=55;break e}case 46:{g=o;break h}default:{}}g=l+80|0;if(!h){f=g;h=0;g=o;v=61;break g}if(g>>>0<113)g=o;else{f=g;h=0;g=o;v=59;break g}}cd(c[f+464>>2]|0);qd(1,c[(c[610]|0)+464>>2]|0,i);o=c[610]|0;f=o;o=o+4|0;h=1;v=46}else{o=n;v=46}while(0);i:do if((v|0)==46){v=0;while(1){p=g+-1|0;if((g|0)<=(u|0)){g=k;break d}l=d[w+p>>0]|0;m=c[o>>2]|0;g=(m|0)==64;if(!(m>>>0<61|g)){g=p;break i}n=l+80|0;if(!g){f=n;g=p;v=61;break i}if(n>>>0<113)g=p;else{f=n;g=p;v=59;break}}}while(0);do if((v|0)==59){v=0;p=l+-65|0;f=p>>>0<26?p:f;f=(f+-177|0)>>>0<26?f+-151|0:f;f=(f+-128|0)>>>0<10?f+-76|0:f;f=(f|0)==123?62:f;f=(f|0)==127?63:f;if((f|0)==141){f=r;j=k;break f}else{m=64;l=f}}else if((v|0)==61){v=0;l=l+-48|0;l=l>>>0<10?l:f;l=(l+-145|0)>>>0<26?l+-135|0:l;f=(l+-177|0)>>>0<26;if(m>>>0<17){l=f?l+-167|0:l;break}else{l=f?l+-141|0:l;break}}while(0);if(q|l>>>0>=m>>>0){v=65;break d}if(!(j&(r|0)!=0))break e;r=0;k=l>>s}k=j;t=t+1|0}if((v|0)==55){v=0;rd(b,c[f+464>>2]|0);cd(b);f=h;h=1;k=i;i=0;continue}if(j){qd((l<<6-s|k)&63,b,i);f=r;k=l>>s;j=t;continue}else{qd(l,b,i);f=r;j=0;continue}}if((v|0)==65){Yc(5);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=0;return b|0}if(j&(g|0)>0){qd(g,b,i);f=c[610]|0}w=f+560|0;f=c[w>>2]|0;c[w>>2]=0;nd(e,b);gd(b);gd(c[(c[610]|0)+464>>2]|0);if(h)xd(b,c[(c[610]|0)+464>>2]|0,b);b=(c[610]|0)+28|0;c[b>>2]=(c[b>>2]|0)+-1;b=f;return b|0}function cf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c[610]|0;if(c[e+552>>2]|0){o=0;return o|0}m=e+28|0;f=(c[m>>2]|0)+1|0;c[m>>2]=f;if((f|0)<24?(c[e+32+(f<<2)>>2]=75,(c[e+576>>2]|0)!=0):0){Zc();e=c[610]|0}if(((c[e+4>>2]|0)+-1|0)>>>0>255){Yc(1);o=(c[610]|0)+28|0;c[o>>2]=(c[o>>2]|0)+-1;o=0;return o|0}if(!(c[e+140>>2]|0)){Yc(18);o=(c[610]|0)+28|0;c[o>>2]=(c[o>>2]|0)+-1;o=0;return o|0}m=md(b)|0;nd(1,b);g=c[b>>2]|0;if((g|0)==0?(h=c[610]|0,(c[h+4>>2]|0)>>>0<61):0){if(!(c[h+132>>2]|0)){a[d>>0]=48;a[d+1>>0]=0}else{zi(48,c[h+148>>2]|0)|0;zi(10,c[(c[610]|0)+148>>2]|0)|0}o=(c[610]|0)+28|0;c[o>>2]=(c[o>>2]|0)+-1;o=1;return o|0}do if((m|0)==-1?(i=c[610]|0,(c[i+4>>2]|0)>>>0<61):0)if(!(c[i+132>>2]|0)){a[d>>0]=45;e=1;break}else{zi(45,c[i+148>>2]|0)|0;e=1;break}else e=0;while(0);yd(b,c[(c[610]|0)+488>>2]|0);f=c[610]|0;if((c[f+572>>2]|0)!=0?(zd(b,c[f+484>>2]|0),(vd(c[(c[610]|0)+484>>2]|0)|0)>1):0){f=g&65535;g=g>>>16;f=((f|0)==0&1)+f|0;h=c[610]|0;l=h+128|0;i=c[l>>2]|0;c[l>>2]=0;if((g|0)<(f|0)){l=c[h+484>>2]|0;ud(l,f-g|0,l)}if((g|0)>(f|0)){l=c[(c[610]|0)+488>>2]|0;f=g-f|0;ud(l,f,l)}else f=g-f|0;l=c[610]|0;h=c[l+24>>2]|0;l=h+~((wd(c[l+488>>2]|0,c[l+484>>2]|0)|0)>>31)|0;h=c[610]|0;rd(c[h+488>>2]|0,c[h+464>>2]|0);h=c[610]|0;k=c[h+464>>2]|0;j=c[k>>2]|0;h=c[h+24>>2]<<1;l=(j+l|0)>(h|0)?h-j|0:l;ud(k,l,k);k=c[610]|0;Yd(c[k+464>>2]|0,c[k+484>>2]|0,c[k+488>>2]|0);k=c[610]|0;c[k+128>>2]=i;l=$(c[k+8>>2]|0,f+l|0)|0}else l=0;k=0;a:while(1){j=pd(c[(c[610]|0)+488>>2]|0)|0;g=c[610]|0;if((c[g+4>>2]|0)==64){f=j;while(1)if(!(f&3))break;else f=f+1|0}else f=j;f=(l|0)>(f|0)?l:f;b:do if((f|0)>0){i=f;while(1){f=(c[g+132>>2]|0)==0;if((f?(c[g+584>>2]|0)==(d|0):0)?(e|0)>=((c[g+544>>2]|0)+-5|0):0){o=35;break a}if((i|0)==(l|0)?(c[g+4>>2]|0)>>>0<61:0){if(f)a[d+e>>0]=46;else zi(46,c[g+148>>2]|0)|0;e=e+1|0}f=c[610]|0;if((i|0)>(j|0)?(n=c[f+4>>2]|0,(n|0)!=64):0){g=n;h=48}else o=44;do if((o|0)==44){o=0;h=od(c[f+488>>2]|0,i)|0;f=c[610]|0;c[f+128>>2]=0;qd(0,c[f+488>>2]|0,i);f=c[610]|0;g=c[f+4>>2]|0;if(g>>>0<61){p=h+48|0;h=(p|0)>57?h+55|0:p;h=(h|0)>90?h+6|0:h;break}if((g|0)==64){h=(h|0)<26?h+65|0:h;h=(h+-26|0)>>>0<26?h+71|0:h;h=(h+-52|0)>>>0<10?h+-4|0:h;h=(h|0)==62?43:h;g=64;h=(h|0)==63?47:h}}while(0);if((i|0)<(l|0)?(h|0)==48&g>>>0<61:0){if(!(vd(c[f+488>>2]|0)|0))break b;f=c[610]|0}if(!(c[f+132>>2]|0))a[d+e>>0]=h;else zi(h&255,c[f+148>>2]|0)|0;e=e+1|0;if((i|0)<=1)break b;g=c[610]|0;i=i+-1|0}}while(0);if(k)break;f=c[610]|0;if(c[f+572>>2]|0)break;zd(b,c[f+488>>2]|0);if((vd(c[(c[610]|0)+488>>2]|0)|0)==1)break;f=c[610]|0;if((c[f+4>>2]|0)>>>0>=61){k=1;continue}if(!(c[f+132>>2]|0))a[d+e>>0]=47;else zi(47,c[f+148>>2]|0)|0;k=1;e=e+1|0}if((o|0)==35){Yc(17);p=(c[610]|0)+28|0;c[p>>2]=(c[p>>2]|0)+-1;p=e;return p|0}f=c[610]|0;if(c[f+132>>2]|0){p=c[f+4>>2]|0;if(p>>>0<61|(p|0)==64)zi(10,c[f+148>>2]|0)|0}else a[d+e>>0]=0;nd(m,b);p=(c[610]|0)+28|0;c[p>>2]=(c[p>>2]|0)+-1;p=e;return p|0}function df(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;a=Dc(b)|0;return Ie(d,a,Dc(b)|0)|0}function ef(a){a=a|0;return c[a>>2]|0}function ff(a,b){a=a|0;b=b|0;var d=0;d=Hd(1)|0;c[a+4>>2]=d;d=Gd(d,0)|0;c[a>>2]=d;Me(c[b>>2]|0,d);Pe(d);return}function gf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=Hd(1)|0;c[a+4>>2]=g;g=Gd(g,0)|0;c[a>>2]=g;a=Dc(b)|0;b=c[d>>2]|0;d=Dc(e)|0;Se(a,b,d,c[f>>2]|0,g);return}function hf(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[1021]|0;Hi(b,a,d)|0;zi(10,b)|0;Aa()}function jf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+4208|0;j=v+4184|0;h=v;u=v+4120|0;t=v+4112|0;if((b|0)!=0?(g=(d|0)!=0,s=(e|0)==0,!(g&s)):0){if(g)q=c[e>>2]|0;else q=0;c[h+4096>>2]=h;w=h;c[u>>2]=0;r=u+4|0;c[r>>2]=0;c[u+8>>2]=0;c[u+12>>2]=w;m=u+16|0;c[m>>2]=0;o=u+20|0;c[o>>2]=0;c[u+24>>2]=0;c[u+28>>2]=w;c[u+32>>2]=0;h=u+36|0;c[h>>2]=0;c[u+40>>2]=0;n=u+44|0;c[n>>2]=w;l=u+48|0;k=u+61|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;a[l+12>>0]=0;a[k>>0]=1;l=u+32|0;Zf(j,1,0,n);n=j+8|0;g=c[n>>2]|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=w;c[n>>2]=g+16;_f(l,j);$f(j);j=u+62|0;a[j>>0]=0;a[u+63>>0]=1;c[t>>2]=0;n=b+(Ti(b)|0)|0;ag(b,n,u,t);g=c[t>>2]|0;do if(!((g|0)!=0|(a[j>>0]|0)==0)){w=c[l>>2]|0;if((w|0)!=(c[h>>2]|0)?(c[w>>2]|0)!=(c[w+4>>2]|0):0){a[j>>0]=0;a[k>>0]=0;h=c[u>>2]|0;g=c[r>>2]|0;if((g|0)!=(h|0))do{w=g+-24|0;c[r>>2]=w;bg(w);g=c[r>>2]|0}while((g|0)!=(h|0));h=c[m>>2]|0;g=c[o>>2]|0;if((g|0)!=(h|0))do{w=g+-16|0;c[o>>2]=w;cg(w);g=c[o>>2]|0}while((g|0)!=(h|0));ag(b,n,u,t);if(!(a[j>>0]|0)){g=c[t>>2]|0;p=17;break}else{c[t>>2]=-2;d=0;g=-2;break}}else p=18}else p=17;while(0);if((p|0)==17)if(!g)p=18;else d=0;do if((p|0)==18){h=c[r>>2]|0;g=a[h+-24>>0]|0;if(!(g&1))j=(g&255)>>>1;else j=c[h+-20>>2]|0;g=a[h+-12>>0]|0;if(!(g&1))g=(g&255)>>>1;else g=c[h+-8>>2]|0;j=g+j|0;g=j+1|0;if(g>>>0>q>>>0){d=lj(d,g)|0;if(!d){c[t>>2]=-1;d=0;g=-1;break}if(!s)c[e>>2]=g}else if(!d){d=0;g=0;break}g=c[r>>2]|0;e=g+-12|0;h=a[e>>0]|0;w=(h&1)==0;dg(g+-24|0,w?e+1|0:c[g+-4>>2]|0,w?(h&255)>>>1:c[g+-8>>2]|0)|0;g=c[r>>2]|0;h=g+-24|0;if(!(a[h>>0]&1))g=h+1|0;else g=c[g+-16>>2]|0;pt(d|0,g|0,j|0)|0;a[d+j>>0]=0;g=0}while(0);if(f)c[f>>2]=g;eg(u)}else if(!f)d=0;else{c[f>>2]=-3;d=0}i=v;return d|0}function kf(a){a=a|0;Da(19004,19033,1164,19118)}function lf(){var a=0,b=0;a=i;i=i+16|0;if(!(Va(3828,2)|0)){b=Ra(c[956]|0)|0;i=a;return b|0}else hf(19139,a);return 0}function mf(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=ij(b)|0;a:do if(!a){while(1){a=wf()|0;if(!a)break;zb[a&3]();a=ij(b)|0;if(a)break a}b=Ea(4)|0;c[b>>2]=3688;bb(b|0,56,19)}while(0);return a|0}function nf(a){a=a|0;return mf(a)|0}function of(a){a=a|0;jj(a);return}function pf(a){a=a|0;of(a);return}function qf(a){a=a|0;c[a>>2]=3688;return}function rf(a){a=a|0;return}function sf(a){a=a|0;of(a);return}function tf(a){a=a|0;return 19188}function uf(a){a=a|0;var b=0;b=i;i=i+16|0;zb[a&3]();hf(19203,b)}function vf(){var a=0,b=0;a=lf()|0;if(((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0)?(a=b+48|0,(c[a>>2]&-256|0)==1126902528?(c[a+4>>2]|0)==1129074247:0):0)uf(c[b+12>>2]|0);b=c[919]|0;c[919]=b+0;uf(b)}function wf(){var a=0;a=c[925]|0;c[925]=a+0;return a|0}function xf(a){a=a|0;return}function yf(a){a=a|0;return}function zf(a){a=a|0;return}function Af(a){a=a|0;return}function Bf(a){a=a|0;return}function Cf(a){a=a|0;of(a);return}function Df(a){a=a|0;of(a);return}function Ef(a){a=a|0;of(a);return}function Ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=Lf(b,88,104,0)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Cb[c[(c[f>>2]|0)+28>>2]&15](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function Gf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function Hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Gf(0,b,d,e);return}function If(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))Gf(0,b,d,e);else{a=c[a+8>>2]|0;Cb[c[(c[a>>2]|0)+28>>2]&15](a,b,d,e)}return}function Jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;Cb[c[(c[a>>2]|0)+28>>2]&15](a,b,d+f|0,(g&2|0)!=0?e:2);return}function Kf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((b|0)!=(c[d+8>>2]|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;Jf(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{Jf(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else Gf(0,d,e,f);while(0);return}function Lf(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do if(l){c[q+48>>2]=1;qb[c[(c[f>>2]|0)+20>>2]&15](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{rb[c[(c[p>>2]|0)+24>>2]&3](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}while(0);i=r;return g|0}function Mf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function Nf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;Pf(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;i=c[b+8>>2]|0;if((i&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(i&1)){i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1)break a;Pf(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+24|0;b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1?(c[i>>2]|0)==1:0)break a;Pf(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+54|0;while(1){if(a[i>>0]|0)break a;Pf(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4)break;i=c[b+12>>2]|0;j=b+16+(i<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;b:do if((i|0)>0){i=0;h=0;b=b+16|0;while(1){a[k>>0]=0;a[f>>0]=0;Of(b,d,e,e,1,g);if(a[n>>0]|0){q=20;break b}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;q=20;break b}else{h=1;break}if((c[o>>2]|0)==1)break b;if(!(c[l>>2]&2))break b;else{i=1;h=1}}while(0);b=b+8|0;if(b>>>0>=j>>>0){q=20;break}}}else{i=0;h=0;q=20}while(0);do if((q|0)==20){if((!i?(c[p>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h)break}else q=24;if((q|0)==24?h:0)break;c[m>>2]=4;break a}while(0);c[m>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Of(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;qb[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e+h|0,(i&2|0)!=0?f:2,g);return}function Pf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;rb[c[(c[a>>2]|0)+24>>2]&3](a,b,d+g|0,(h&2|0)!=0?e:2,f);return}function Qf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;rb[c[(c[j>>2]|0)+24>>2]&3](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;qb[c[(c[b>>2]|0)+20>>2]&15](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Rf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function Sf(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((b|0)==(c[d+8>>2]|0))Mf(0,d,e,f,g);else{m=d+52|0;n=a[m>>0]|0;o=d+53|0;p=a[o>>0]|0;l=c[b+12>>2]|0;i=b+16+(l<<3)|0;a[m>>0]=0;a[o>>0]=0;Of(b+16|0,d,e,f,g,h);a:do if((l|0)>1){j=d+24|0;k=b+8|0;l=d+54|0;b=b+24|0;do{if(a[l>>0]|0)break a;if(!(a[m>>0]|0)){if((a[o>>0]|0)!=0?(c[k>>2]&1|0)==0:0)break a}else{if((c[j>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[m>>0]=0;a[o>>0]=0;Of(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}while(0);a[m>>0]=n;a[o>>0]=p}return}function Tf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Mf(0,b,d,e,f);else{a=c[a+8>>2]|0;qb[c[(c[a>>2]|0)+20>>2]&15](a,b,d,e,f,g)}return}function Uf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))Mf(0,b,d,e,f);return}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=c[d>>2];a=pb[c[(c[a>>2]|0)+16>>2]&31](a,b,e)|0;if(a)c[d>>2]=c[e>>2];i=f;return a&1|0}function Wf(a){a=a|0;if(!a)a=0;else a=(Lf(a,88,136,0)|0)!=0;return a&1|0}function Xf(){var a=0;a=Ea(4)|0;qf(a);bb(a|0,56,19)}function Yf(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+48|0;h=f+32|0;d=f+24|0;j=f+16|0;g=f;f=f+36|0;a=lf()|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0){a=e+48|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(!((b&-256|0)==1126902528&(a|0)==1129074247)){c[d>>2]=c[958];hf(21499,d)}if((b|0)==1126902529&(a|0)==1129074247)a=c[e+44>>2]|0;else a=e+80|0;c[f>>2]=a;e=c[e>>2]|0;a=c[e+4>>2]|0;if(pb[c[(c[72>>2]|0)+16>>2]&31](72,e,f)|0){j=c[f>>2]|0;f=c[958]|0;j=xb[c[(c[j>>2]|0)+8>>2]&63](j)|0;c[g>>2]=f;c[g+4>>2]=a;c[g+8>>2]=j;hf(21413,g)}else{c[j>>2]=c[958];c[j+4>>2]=a;hf(21458,j)}}hf(21537,h)}function Zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+12>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=mh(c[e>>2]|0,b<<4)|0;c[a>>2]=e;d=e+(d<<4)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[a+12>>2]=e+(b<<4);return}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[a>>2]|0;f=a+4|0;d=c[f>>2]|0;g=b+4|0;if((d|0)!=(e|0))do{j=c[g>>2]|0;h=j+-16|0;i=d;d=d+-16|0;c[h>>2]=0;k=j+-12|0;c[k>>2]=0;l=c[i+-4>>2]|0;c[j+-8>>2]=0;c[j+-4>>2]=l;c[h>>2]=c[d>>2];h=i+-12|0;c[k>>2]=c[h>>2];i=i+-8|0;c[j+-8>>2]=c[i>>2];c[i>>2]=0;c[h>>2]=0;c[d>>2]=0;c[g>>2]=(c[g>>2]|0)+-16}while((d|0)!=(e|0));j=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=j;j=b+8|0;l=c[f>>2]|0;c[f>>2]=c[j>>2];c[j>>2]=l;j=a+8|0;l=b+12|0;k=c[j>>2]|0;c[j>>2]=c[l>>2];c[l>>2]=k;c[b>>2]=c[g>>2];return}function $f(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+4>>2]|0;e=a+8|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{f=b+-16|0;c[e>>2]=f;ig(f);b=c[e>>2]|0}while((b|0)!=(d|0));b=c[a>>2]|0;if(b)jg(c[c[a+16>>2]>>2]|0,b,(c[a+12>>2]|0)-b|0);return}function ag(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;l=o+24|0;m=o+12|0;n=o;a:do if(b>>>0>>0){b:do if((a[b>>0]|0)!=95){if((pg(b,d,e)|0)!=(d|0)){c[f>>2]=-2;break a}}else{h=d;if((h-b|0)<=3){c[f>>2]=-2;break a}switch(a[b+1>>0]|0){case 90:{k=b+2|0;b=mg(k,d,e)|0;if(!((b|0)==(k|0)|(b|0)==(d|0))?(a[b>>0]|0)==46:0){g=c[e+4>>2]|0;if((c[e>>2]|0)!=(g|0)){k=g+-24|0;h=h-b|0;if(h>>>0>4294967279)kf(n);if(h>>>0<11){a[n>>0]=h<<1;j=n+1|0}else{g=h+16&-16;j=ij(g)|0;c[n+8>>2]=j;c[n>>2]=g|1;c[n+4>>2]=h}if((b|0)!=(d|0)){g=j;while(1){a[g>>0]=a[b>>0]|0;b=b+1|0;if((b|0)==(d|0))break;else g=g+1|0}}a[j+h>>0]=0;b=ng(n,0,19346)|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(m,19349)|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[l>>0]|0;j=(b&1)==0;dg(k,j?l+1|0:c[l+8>>2]|0,j?(b&255)>>>1:c[l+4>>2]|0)|0;lg(l);lg(m);lg(n);b=d}}if((b|0)==(d|0))break b;c[f>>2]=-2;break a}case 95:{g=20;break}default:{}}if(((g|0)==20?(a[b+2>>0]|0)==95:0)?(a[b+3>>0]|0)==90:0){n=b+4|0;b=mg(n,d,e)|0;if((b|0)==(n|0)|(b|0)==(d|0)){c[f>>2]=-2;break a}c:do if((h-b|0)>12){h=0;j=b;while(1){if((a[j>>0]|0)!=(a[19351+h>>0]|0))break c;h=h+1|0;g=j+1|0;if((h|0)>=13){h=j;break}else j=g}d:do if((g|0)!=(d|0)){if((a[g>>0]|0)==95){g=h+2|0;if((g|0)==(d|0))break c;if(((a[g>>0]|0)+-48|0)>>>0>=10)break c;g=h+3|0}if((g|0)!=(d|0))while(1){if(((a[g>>0]|0)+-48|0)>>>0>=10)break d;g=g+1|0;if((g|0)==(d|0)){g=d;break}}else g=d}else g=d;while(0);h=c[e+4>>2]|0;if((c[e>>2]|0)!=(h|0)){ng(h+-24|0,0,19365)|0;b=g}}while(0);if((b|0)==(d|0))break;c[f>>2]=-2;break a}c[f>>2]=-2;break a}while(0);if((c[f>>2]|0)==0?(c[e>>2]|0)==(c[e+4>>2]|0):0)c[f>>2]=-2}else c[f>>2]=-2;while(0);i=o;return}function bg(a){a=a|0;lg(a+12|0);lg(a);return}function cg(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d){e=a+4|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{f=b+-24|0;c[e>>2]=f;bg(f);b=c[e>>2]|0}while((b|0)!=(d|0));f=c[a>>2]|0;jg(c[a+12>>2]|0,f,(c[a+8>>2]|0)-f|0)}return}function dg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))g=10;else{f=c[b>>2]|0;g=(f&-2)+-1|0;f=f&255}if(!(f&1))h=(f&255)>>>1;else h=c[b+4>>2]|0;if((g-h|0)>>>0>=e>>>0){if(e){if(!(f&1))g=b+1|0;else g=c[b+8>>2]|0;pt(g+h|0,d|0,e|0)|0;f=h+e|0;if(!(a[b>>0]&1))a[b>>0]=f<<1;else c[b+4>>2]=f;a[g+f>>0]=0}}else kg(b,g,e-g+h|0,h,h,0,e,d);return b|0}function eg(a){a=a|0;hg(a+32|0);ig(a+16|0);cg(a);return}function fg(){var a=0;a=i;i=i+16|0;if(!(za(3824,104)|0)){i=a;return}else hf(19243,a)}function gg(a){a=a|0;var b=0;b=i;i=i+16|0;jj(a);if(!($a(c[956]|0,0)|0)){i=b;return}else hf(19293,b)}function hg(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d){e=a+4|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{f=b+-16|0;c[e>>2]=f;ig(f);b=c[e>>2]|0}while((b|0)!=(d|0));f=c[a>>2]|0;jg(c[a+12>>2]|0,f,(c[a+8>>2]|0)-f|0)}return}function ig(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d){e=a+4|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{f=b+-16|0;c[e>>2]=f;cg(f);b=c[e>>2]|0}while((b|0)!=(d|0));f=c[a>>2]|0;jg(c[a+12>>2]|0,f,(c[a+8>>2]|0)-f|0)}return}function jg(a,b,d){a=a|0;b=b|0;d=d|0;if(a>>>0<=b>>>0&(a+4096|0)>>>0>=b>>>0){a=a+4096|0;if((b+(d+15&-16)|0)==(c[a>>2]|0))c[a>>2]=b}else jj(b);return}function kg(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;if((-18-d|0)>>>0>>0)kf(b);if(!(a[b>>0]&1))m=b+1|0;else m=c[b+8>>2]|0;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=ij(k)|0;if(g)pt(l|0,m|0,g|0)|0;if(i)pt(l+g|0,j|0,i|0)|0;e=f-h|0;if((e|0)!=(g|0))pt(l+(i+g)|0,m+(h+g)|0,e-g|0)|0;if((d|0)!=10)jj(m);c[b+8>>2]=l;c[b>>2]=k|1;d=e+i|0;c[b+4>>2]=d;a[l+d>>0]=0;return}function lg(b){b=b|0;if(a[b>>0]&1)jj(c[b+8>>2]|0);return}function mg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;v=H+96|0;r=H+84|0;s=H+72|0;t=H+60|0;u=H+48|0;C=H+36|0;q=H+24|0;B=H+12|0;A=H;a:do if((b|0)==(d|0))f=b;else{E=e+56|0;F=c[E>>2]|0;z=F+1|0;c[E>>2]=z;G=e+61|0;D=a[G>>0]|0;if(z>>>0>1)a[G>>0]=1;f=a[b>>0]|0;b:do switch(f|0){case 84:case 71:{c:do if((d-b|0)>2){switch(f|0){case 84:break;case 71:switch(a[b+1>>0]|0){case 86:{C=b+2|0;f=Og(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}ng(g+-24|0,0,21368)|0;break c}case 82:{C=b+2|0;f=Og(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}ng(g+-24|0,0,21388)|0;break c}default:{f=b;break c}}default:{f=b;break c}}f=b+1|0;switch(a[f>>0]|0){case 86:{C=b+2|0;f=pg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}ng(g+-24|0,0,21217)|0;break c}case 84:{C=b+2|0;f=pg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}ng(g+-24|0,0,21229)|0;break c}case 73:{C=b+2|0;f=pg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}ng(g+-24|0,0,21238)|0;break c}case 83:{C=b+2|0;f=pg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}ng(g+-24|0,0,21252)|0;break c}case 99:{C=b+2|0;f=xh(C,d)|0;if((f|0)==(C|0)){f=b;break c}g=xh(f,d)|0;if((g|0)==(f|0)){f=b;break c}f=mg(g,d,e)|0;if((f|0)==(g|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}ng(g+-24|0,0,21271)|0;break c}case 67:{C=b+2|0;f=pg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}g=Cg(f,d)|0;if((g|0)==(f|0)|(g|0)==(d|0)){f=b;break c}if((a[g>>0]|0)!=95){f=b;break c}C=g+1|0;f=pg(C,d,e)|0;if((f|0)==(C|0)){f=b;break c}k=e+4|0;g=c[k>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break c}Gg(v,g+-24|0);j=c[k>>2]|0;g=j+-24|0;h=j;do{b=h+-24|0;c[k>>2]=b;bg(b);h=c[k>>2]|0}while((h|0)!=(g|0));q=j+-48|0;b=ng(v,0,21298)|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(t,21323)|0;c[s>>2]=c[b>>2];c[s+4>>2]=c[b+4>>2];c[s+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Gg(u,(c[k>>2]|0)+-24|0);b=a[u>>0]|0;e=(b&1)==0;b=dg(s,e?u+1|0:c[u+8>>2]|0,e?(b&255)>>>1:c[u+4>>2]|0)|0;c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;do if(a[q>>0]&1){p=j+-40|0;a[c[p>>2]>>0]=0;m=j+-44|0;c[m>>2]=0;g=a[q>>0]|0;if(!(g&1))l=10;else{l=c[q>>2]|0;g=l&255;l=(l&-2)+-1|0}if(!(g&1)){h=(g&255)>>>1;if((g&255)<22){k=10;n=h;o=1}else{k=(h+16&240)+-1|0;n=h;o=1}}else{k=10;n=0;o=0}if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){pt(j|0,h|0,((g&255)>>>1)+1|0)|0;jj(h)}else{a[j>>0]=a[h>>0]|0;jj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=ij(h)|0;if(!(k>>>0<=l>>>0&(j|0)==0)){if(o)pt(j|0,q+1|0,((g&255)>>>1)+1|0)|0;else{b=c[p>>2]|0;a[j>>0]=a[b>>0]|0;jj(b)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;lg(r);lg(u);lg(s);lg(t);lg(v);break c}default:{g=xh(f,d)|0;if((g|0)==(f|0)){f=b;break c}f=mg(g,d,e)|0;if((f|0)==(g|0)){f=b;break c}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break c}g=g+-24|0;if((a[b+2>>0]|0)==118){ng(g,0,21328)|0;break c}else{ng(g,0,21346)|0;break c}}}}else f=b;while(0);break}default:{f=Og(b,d,e)|0;v=c[e+48>>2]|0;x=c[e+52>>2]|0;if((f|0)!=(b|0))if((f|0)==(d|0))f=d;else{switch(a[f>>0]|0){case 46:case 69:break b;default:{}}y=a[G>>0]|0;a[G>>0]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;z=e+4|0;g=c[z>>2]|0;d:do if((c[e>>2]|0)!=(g|0)){m=g+-24|0;k=a[m>>0]|0;l=(k&1)==0;if(l)h=(k&255)>>>1;else h=c[g+-20>>2]|0;if(h){if(!(a[e+60>>0]|0)){if(l){h=(k&255)>>>1;j=m+1|0}else{h=c[g+-20>>2]|0;j=c[g+-16>>2]|0}if((a[j+(h+-1)>>0]|0)==62){if(l){h=(k&255)>>>1;j=m+1|0}else{h=c[g+-20>>2]|0;j=c[g+-16>>2]|0}if((a[j+(h+-2)>>0]|0)!=45){if(l){j=(k&255)>>>1;h=m+1|0}else{j=c[g+-20>>2]|0;h=c[g+-16>>2]|0}if((a[h+(j+-2)>>0]|0)!=62){p=pg(f,d,e)|0;if((p|0)==(f|0))break;f=c[z>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2)break;o=f+-24|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;o=f+-12|0;e:do if(!(a[C>>0]&1)){a[C+1>>0]=0;a[C>>0]=0}else{k=C+8|0;g=c[k>>2]|0;a[g>>0]=0;l=C+4|0;c[l>>2]=0;m=c[C>>2]|0;n=(m&-2)+-1|0;h=m&255;do if(!(h&1)){f=m>>>1&127;if((h&255)<22){pt(C+1|0,g|0,(m>>>1&127)+1|0)|0;jj(g);break}g=f+16&240;j=g+-1|0;if((j|0)==(n|0))break e;h=ij(g)|0;if(j>>>0<=n>>>0&(h|0)==0)break e;pt(h|0,C+1|0,(m>>>1&127)+1|0)|0;c[C>>2]=g|1;c[l>>2]=f;c[k>>2]=h;break e}else{a[C+1>>0]=0;jj(g);f=0}while(0);a[C>>0]=f<<1}while(0);c[C>>2]=c[o>>2];c[C+4>>2]=c[o+4>>2];c[C+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;u=a[C>>0]|0;if(!(((u&1)==0?(u&255)>>>1:c[C+4>>2]|0)|0))ch(q,32);f=c[z>>2]|0;g=f+-24|0;h=f;do{u=h+-24|0;c[z>>2]=u;bg(u);h=c[z>>2]|0}while((h|0)!=(g|0));g=a[q>>0]|0;u=(g&1)==0;Dg(f+-48|0,0,u?q+1|0:c[q+8>>2]|0,u?(g&255)>>>1:c[q+4>>2]|0)|0;lg(q);g=c[z>>2]|0;f=p}}}}ch(g+-24|0,40);if((f|0)!=(d|0)?(a[f>>0]|0)==118:0){h=c[e>>2]|0;g=c[z>>2]|0;f=f+1|0}else w=105;f:do if((w|0)==105){n=B+4|0;o=A+8|0;p=A+1|0;q=A+4|0;r=B+8|0;s=B+1|0;t=B+4|0;u=B+8|0;m=1;while(1){g=c[z>>2]|0;h=c[e>>2]|0;l=f;while(1){j=(g-h|0)/24|0;f=pg(l,d,e)|0;g=c[z>>2]|0;h=c[e>>2]|0;k=(g-h|0)/24|0;if((f|0)==(l|0)){f=l;break f}if(k>>>0>j>>>0)break;else l=f}c[B>>2]=0;c[t>>2]=0;c[u>>2]=0;if(j>>>0>>0){g=j;do{w=a[B>>0]|0;if(((w&1)==0?(w&255)>>>1:c[n>>2]|0)|0)og(B,19446)|0;Gg(A,(c[e>>2]|0)+(g*24|0)|0);w=a[A>>0]|0;l=(w&1)==0;dg(B,l?p:c[o>>2]|0,l?(w&255)>>>1:c[q>>2]|0)|0;lg(A);g=g+1|0}while(g>>>0>>0)}if(j>>>0>>0)do{h=c[z>>2]|0;g=h+-24|0;do{w=h+-24|0;c[z>>2]=w;bg(w);h=c[z>>2]|0}while((h|0)!=(g|0));j=j+1|0}while(j>>>0>>0);j=a[B>>0]|0;g=c[n>>2]|0;if(!(((j&1)==0?(j&255)>>>1:g)|0))g=m;else{h=c[z>>2]|0;if((c[e>>2]|0)==(h|0))break;if(!m){og(h+-24|0,19446)|0;h=c[z>>2]|0;j=a[B>>0]|0;g=c[n>>2]|0}w=(j&1)==0;dg(h+-24|0,w?s:c[r>>2]|0,w?(j&255)>>>1:g)|0;g=0}lg(B);m=g}lg(B);break d}while(0);if((h|0)!=(g|0)){ch(g+-24|0,41);if(v&1)og((c[z>>2]|0)+-24|0,19399)|0;if(v&2)og((c[z>>2]|0)+-24|0,19406)|0;if(v&4)og((c[z>>2]|0)+-24|0,19416)|0;switch(x|0){case 1:{og((c[z>>2]|0)+-24|0,19449)|0;break}case 2:{og((c[z>>2]|0)+-24|0,19452)|0;break}default:{}}b=a[C>>0]|0;e=(b&1)==0;dg((c[z>>2]|0)+-24|0,e?C+1|0:c[C+8>>2]|0,e?(b&255)>>>1:c[C+4>>2]|0)|0;lg(C);a[G>>0]=y;break b}}}while(0);lg(C);a[G>>0]=D;c[E>>2]=F;f=b;break a}else f=b}}while(0);a[G>>0]=D;c[E>>2]=F}while(0);i=H;return f|0}function ng(a,b,c){a=a|0;b=b|0;c=c|0;return Dg(a,b,c,Ti(c)|0)|0}function og(a,b){a=a|0;b=b|0;return dg(a,b,Ti(b)|0)|0}function pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0;Na=i;i=i+784|0;Ma=Na+752|0;Ia=Na+728|0;ma=Na+716|0;na=Na+704|0;ra=Na+680|0;Ca=Na+656|0;Ha=Na+632|0;wa=Na+620|0;Fa=Na+608|0;Da=Na+596|0;Ea=Na+584|0;xa=Na+572|0;o=Na+568|0;ya=Na+552|0;ta=Na+544|0;N=Na+528|0;C=Na+520|0;la=Na+504|0;ea=Na+496|0;O=Na+480|0;D=Na+472|0;Ba=Na+456|0;Aa=Na+452|0;fa=Na+440|0;ua=Na+428|0;va=Na+416|0;ga=Na+404|0;qa=Na+392|0;oa=Na+376|0;ja=Na+368|0;ia=Na+356|0;G=Na+344|0;I=Na+320|0;J=Na+308|0;K=Na+296|0;L=Na+284|0;ca=Na+272|0;Q=Na+248|0;R=Na+236|0;S=Na+224|0;T=Na+212|0;U=Na+200|0;_=Na+176|0;$=Na+164|0;aa=Na+152|0;ha=Na+136|0;ba=Na+128|0;M=Na+112|0;B=Na+108|0;W=Na+96|0;V=Na+80|0;F=Na+72|0;P=Na+56|0;E=Na+48|0;sa=Na+32|0;pa=Na+24|0;La=Na+8|0;Ka=Na;a:do if((b|0)!=(d|0)){switch(a[b>>0]|0){case 75:case 86:case 114:{c[o>>2]=0;g=qg(b,d,o)|0;if((g|0)==(b|0)){f=b;break a}h=a[g>>0]|0;w=e+4|0;p=((c[w>>2]|0)-(c[e>>2]|0)|0)/24|0;v=pg(g,d,e)|0;w=((c[w>>2]|0)-(c[e>>2]|0)|0)/24|0;if((v|0)==(g|0)){f=b;break a}t=h<<24>>24==70;u=e+20|0;g=c[u>>2]|0;if(t){h=g+-16|0;do{s=g+-16|0;c[u>>2]=s;cg(s);g=c[u>>2]|0}while((g|0)!=(h|0));g=h}m=e+16|0;n=c[e+12>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=n;c[u>>2]=(c[u>>2]|0)+16}else{j=c[m>>2]|0;s=g-j|0;l=s>>4;k=l+1|0;if((s|0)<-16)rg(m);g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;sg(Ma,g,l,e+28|0);s=Ma+8|0;r=c[s>>2]|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=n;c[s>>2]=r+16;tg(m,Ma);ug(Ma)}r=c[o>>2]|0;o=(r&1|0)==0;q=(r&2|0)==0;r=(r&4|0)==0;s=Ma+8|0;if(p>>>0>=w>>>0){f=v;break a}while(1){if(t){k=c[e>>2]|0;n=k+(p*24|0)+12|0;g=a[n>>0]|0;h=(g&1)==0;if(h){l=(g&255)>>>1;j=n+1|0}else{l=c[k+(p*24|0)+16>>2]|0;j=c[k+(p*24|0)+20>>2]|0}m=l+-2|0;if((a[j+m>>0]|0)==38)g=l+-3|0;else{if(h){h=(g&255)>>>1;g=n+1|0}else{h=c[k+(p*24|0)+16>>2]|0;g=c[k+(p*24|0)+20>>2]|0}g=(a[g+(h+-1)>>0]|0)==38?m:l}if(!o){ng(n,g,19399)|0;g=g+6|0}if(!q){ng((c[e>>2]|0)+(p*24|0)+12|0,g,19406)|0;g=g+9|0}if(!r)ng((c[e>>2]|0)+(p*24|0)+12|0,g,19416)|0}else{if(!o)og((c[e>>2]|0)+(p*24|0)|0,19399)|0;if(!q)og((c[e>>2]|0)+(p*24|0)|0,19406)|0;if(!r)og((c[e>>2]|0)+(p*24|0)|0,19416)|0}k=c[u>>2]|0;g=k+-16|0;l=c[e>>2]|0;m=l+(p*24|0)|0;h=k+-12|0;j=c[h>>2]|0;if((j|0)==(c[k+-8>>2]|0)){n=j-(c[g>>2]|0)|0;j=(n|0)/24|0;h=j+1|0;if((n|0)<-24)break;if(j>>>0<1073741823){n=j<<1;h=n>>>0>>0?h:n}else h=2147483647;wg(Ma,h,j,k+-4|0);n=c[s>>2]|0;vg(n,m);vg(n+12|0,l+(p*24|0)+12|0);c[s>>2]=n+24;yg(g,Ma);xg(Ma)}else{vg(j,m);vg(j+12|0,l+(p*24|0)+12|0);c[h>>2]=(c[h>>2]|0)+24}p=p+1|0;if(p>>>0>=w>>>0){f=v;break a}}rg(g);break}default:{}}g=zg(b,d,e)|0;if((g|0)==(b|0)){g=a[b>>0]|0;b:do switch(g<<24>>24|0){case 65:{do if(g<<24>>24==65?(H=b+1|0,(H|0)!=(d|0)):0){g=a[H>>0]|0;if(g<<24>>24==95){La=b+2|0;f=pg(La,d,e)|0;if((f|0)==(La|0)){f=b;break}g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==(h|0)){f=b;break}d=h+-12|0;Ka=a[d>>0]|0;La=(Ka&1)==0;Ka=La?(Ka&255)>>>1:c[h+-8>>2]|0;Ag(Ma,La?d+1|0:c[h+-4>>2]|0,Ka>>>0<2?Ka:2);Ka=a[Ma>>0]|0;d=(Ka&1)==0;Ka=d?(Ka&255)>>>1:c[Ma+4>>2]|0;La=Ka>>>0>2;d=Pi(d?Ma+1|0:c[Ma+8>>2]|0,19426,La?2:Ka)|0;lg(Ma);if(!(((d|0)==0?(Ka>>>0<2?-1:La&1):d)|0))Bg((c[g>>2]|0)+-12|0);ng((c[g>>2]|0)+-12|0,0,19429)|0;break}if((g+-49&255)<9){m=Cg(H,d)|0;if((m|0)==(d|0)){f=b;break}if((a[m>>0]|0)!=95){f=b;break}La=m+1|0;f=pg(La,d,e)|0;if((f|0)==(La|0)){f=b;break}g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==(h|0)){f=b;break}d=h+-12|0;Ka=a[d>>0]|0;La=(Ka&1)==0;Ka=La?(Ka&255)>>>1:c[h+-8>>2]|0;Ag(Ia,La?d+1|0:c[h+-4>>2]|0,Ka>>>0<2?Ka:2);Ka=a[Ia>>0]|0;d=(Ka&1)==0;Ka=d?(Ka&255)>>>1:c[Ia+4>>2]|0;La=Ka>>>0>2;d=Pi(d?Ia+1|0:c[Ia+8>>2]|0,19426,La?2:Ka)|0;lg(Ia);if(!(((d|0)==0?(Ka>>>0<2?-1:La&1):d)|0))Bg((c[g>>2]|0)+-12|0);j=(c[g>>2]|0)+-12|0;k=m-H|0;if(k>>>0>4294967279)kf(ra);if(k>>>0<11){a[ra>>0]=k<<1;l=ra+1|0}else{d=k+16&-16;l=ij(d)|0;c[ra+8>>2]=l;c[ra>>2]=d|1;c[ra+4>>2]=k}if((H|0)!=(m|0)){g=H;h=l;while(1){a[h>>0]=a[g>>0]|0;g=g+1|0;if((g|0)==(m|0))break;else h=h+1|0}}a[l+k>>0]=0;d=ng(ra,0,19426)|0;c[na>>2]=c[d>>2];c[na+4>>2]=c[d+4>>2];c[na+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=og(na,19433)|0;c[ma>>2]=c[d>>2];c[ma+4>>2]=c[d+4>>2];c[ma+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=a[ma>>0]|0;La=(d&1)==0;Dg(j,0,La?ma+1|0:c[ma+8>>2]|0,La?(d&255)>>>1:c[ma+4>>2]|0)|0;lg(ma);lg(na);lg(ra);break}g=Eg(H,d,e)|0;if(((!((g|0)==(H|0)|(g|0)==(d|0))?(a[g>>0]|0)==95:0)?(La=g+1|0,f=pg(La,d,e)|0,(f|0)!=(La|0)):0)?(da=e+4|0,A=c[da>>2]|0,((A-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Fg(Ca,A+-24|0);g=c[da>>2]|0;h=g+-24|0;j=g;do{d=j+-24|0;c[da>>2]=d;bg(d);j=c[da>>2]|0}while((j|0)!=(h|0));Fg(Ha,g+-48|0);g=c[da>>2]|0;q=g+-24|0;do if(a[q>>0]&1){p=g+-16|0;a[c[p>>2]>>0]=0;m=g+-20|0;c[m>>2]=0;g=a[q>>0]|0;if(!(g&1))l=10;else{l=c[q>>2]|0;g=l&255;l=(l&-2)+-1|0}if(!(g&1)){h=(g&255)>>>1;if((g&255)<22){o=1;k=10;n=h}else{o=1;k=(h+16&240)+-1|0;n=h}}else{o=0;k=10;n=0}if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){pt(j|0,h|0,((g&255)>>>1)+1|0)|0;jj(h)}else{a[j>>0]=a[h>>0]|0;jj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=ij(h)|0;if(!(k>>>0<=l>>>0&(j|0)==0)){if(o)pt(j|0,q+1|0,((g&255)>>>1)+1|0)|0;else{d=c[p>>2]|0;a[j>>0]=a[d>>0]|0;jj(d)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[Ca>>2];c[q+4>>2]=c[Ca+4>>2];c[q+8>>2]=c[Ca+8>>2];c[Ca>>2]=0;c[Ca+4>>2]=0;c[Ca+8>>2]=0;h=Ca+12|0;Ka=a[h>>0]|0;d=(Ka&1)==0;j=Ca+16|0;Ka=d?(Ka&255)>>>1:c[j>>2]|0;k=Ca+20|0;l=h+1|0;Ag(wa,d?l:c[k>>2]|0,Ka>>>0<2?Ka:2);Ka=a[wa>>0]|0;d=(Ka&1)==0;Ka=d?(Ka&255)>>>1:c[wa+4>>2]|0;La=Ka>>>0>2;d=Pi(d?wa+1|0:c[wa+8>>2]|0,19426,La?2:Ka)|0;lg(wa);if(!(((d|0)==0?(Ka>>>0<2?-1:La&1):d)|0))Bg(h);g=c[da>>2]|0;q=g+-12|0;Gg(xa,Ha);d=ng(xa,0,19426)|0;c[Ea>>2]=c[d>>2];c[Ea+4>>2]=c[d+4>>2];c[Ea+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=og(Ea,19433)|0;c[Da>>2]=c[d>>2];c[Da+4>>2]=c[d+4>>2];c[Da+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=a[h>>0]|0;La=(d&1)==0;d=dg(Da,La?l:c[k>>2]|0,La?(d&255)>>>1:c[j>>2]|0)|0;c[Fa>>2]=c[d>>2];c[Fa+4>>2]=c[d+4>>2];c[Fa+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;do if(a[q>>0]&1){p=g+-4|0;a[c[p>>2]>>0]=0;m=g+-8|0;c[m>>2]=0;g=a[q>>0]|0;if(!(g&1))l=10;else{l=c[q>>2]|0;g=l&255;l=(l&-2)+-1|0}do if(!(g&1)){h=(g&255)>>>1;if((g&255)<22){o=1;k=10;n=h;break}o=1;k=(h+16&240)+-1|0;n=h}else{o=0;k=10;n=0}while(0);if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){pt(j|0,h|0,((g&255)>>>1)+1|0)|0;jj(h)}else{a[j>>0]=a[h>>0]|0;jj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=ij(h)|0;if(k>>>0<=l>>>0&(j|0)==0)break;if(o)pt(j|0,q+1|0,((g&255)>>>1)+1|0)|0;else{d=c[p>>2]|0;a[j>>0]=a[d>>0]|0;jj(d)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[Fa>>2];c[q+4>>2]=c[Fa+4>>2];c[q+8>>2]=c[Fa+8>>2];c[Fa>>2]=0;c[Fa+4>>2]=0;c[Fa+8>>2]=0;lg(Fa);lg(Da);lg(Ea);lg(xa);bg(Ha);bg(Ca)}else f=b}else f=b;while(0);if((f|0)==(b|0)){f=b;break a}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[ta>>2]=c[e+12>>2];Hg(ya,g+-24|0,ta);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[ya+12>>2];c[h>>2]=c[ya>>2];Ma=ya+4|0;c[h+4>>2]=c[Ma>>2];e=ya+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[ya>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)rg(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;sg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[ya+12>>2];c[b>>2]=c[ya>>2];d=ya+4|0;c[b+4>>2]=c[d>>2];La=ya+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[ya>>2]=0;c[e>>2]=b+16;tg(l,Ma);ug(Ma)}cg(ya);break a}case 67:{La=b+1|0;f=pg(La,d,e)|0;if((f|0)==(La|0)){f=b;break a}h=e+4|0;g=c[h>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}og(g+-24|0,19435)|0;l=e+16|0;g=(c[h>>2]|0)+-24|0;c[C>>2]=c[e+12>>2];Hg(N,g,C);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[N+12>>2];c[h>>2]=c[N>>2];Ma=N+4|0;c[h+4>>2]=c[Ma>>2];e=N+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[N>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)rg(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;sg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[N+12>>2];c[b>>2]=c[N>>2];d=N+4|0;c[b+4>>2]=c[d>>2];La=N+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[N>>2]=0;c[e>>2]=b+16;tg(l,Ma);ug(Ma)}cg(N);break a}case 70:{do if(g<<24>>24==70?(x=b+1|0,(x|0)!=(d|0)):0){if((a[x>>0]|0)==89){f=b+2|0;if((f|0)==(d|0))break}else f=x;h=pg(f,d,e)|0;if((h|0)!=(f|0)){Ag(Ma,19444,1);q=e+4|0;p=Ma+4|0;m=Ia+8|0;n=Ia+1|0;o=Ia+4|0;c:do if((h|0)!=(d|0)){g=0;f=h;d:while(1){e:while(1){switch(a[f>>0]|0){case 69:break d;case 118:{f=f+1|0;break}case 82:{h=f+1|0;if((h|0)!=(d|0)?(a[h>>0]|0)==69:0){g=1;f=h;break e}else Ga=154;break}case 79:{h=f+1|0;if((h|0)!=(d|0)?(a[h>>0]|0)==69:0){g=2;f=h;break e}else Ga=154;break}default:Ga=154}if((Ga|0)==154){Ga=0;h=((c[q>>2]|0)-(c[e>>2]|0)|0)/24|0;k=pg(f,d,e)|0;l=((c[q>>2]|0)-(c[e>>2]|0)|0)/24|0;if((k|0)==(f|0)|(k|0)==(d|0))break c;if(h>>>0>>0){f=h;do{La=a[Ma>>0]|0;if(((La&1)==0?(La&255)>>>1:c[p>>2]|0)>>>0>1)og(Ma,19446)|0;Gg(Ia,(c[e>>2]|0)+(f*24|0)|0);La=a[Ia>>0]|0;Ka=(La&1)==0;dg(Ma,Ka?n:c[m>>2]|0,Ka?(La&255)>>>1:c[o>>2]|0)|0;lg(Ia);f=f+1|0}while(f>>>0>>0)}if(h>>>0>>0){do{j=c[q>>2]|0;f=j+-24|0;do{La=j+-24|0;c[q>>2]=La;bg(La);j=c[q>>2]|0}while((j|0)!=(f|0));h=h+1|0}while(h>>>0>>0);f=k}else f=k}if((f|0)==(d|0)){Ga=144;break c}}if((f|0)==(d|0)){Ga=144;break c}}f=f+1|0;og(Ma,19349)|0;switch(g|0){case 1:{og(Ma,19449)|0;break}case 2:{og(Ma,19452)|0;break}default:{}}g=c[q>>2]|0;if((c[e>>2]|0)!=(g|0)){og(g+-24|0,19456)|0;d=a[Ma>>0]|0;La=(d&1)==0;Dg((c[q>>2]|0)+-12|0,0,La?Ma+1|0:c[Ma+8>>2]|0,La?(d&255)>>>1:c[p>>2]|0)|0;lg(Ma);if((f|0)==(b|0)){f=b;break a}g=c[q>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[ea>>2]=c[e+12>>2];Hg(la,g+-24|0,ea);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[la+12>>2];c[h>>2]=c[la>>2];Ma=la+4|0;c[h+4>>2]=c[Ma>>2];e=la+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[la>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)rg(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;sg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[la+12>>2];c[b>>2]=c[la>>2];d=la+4|0;c[b+4>>2]=c[d>>2];La=la+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[la>>2]=0;c[e>>2]=b+16;tg(l,Ma);ug(Ma)}cg(la);break a}}else Ga=144;while(0);if((Ga|0)==144){g=c[q>>2]|0;f=g+-24|0;do{e=g+-24|0;c[q>>2]=e;bg(e);g=c[q>>2]|0}while((g|0)!=(f|0))}lg(Ma)}}while(0);f=b;break a}case 71:{La=b+1|0;f=pg(La,d,e)|0;if((f|0)==(La|0)){f=b;break a}h=e+4|0;g=c[h>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}og(g+-24|0,19458)|0;l=e+16|0;g=(c[h>>2]|0)+-24|0;c[D>>2]=c[e+12>>2];Hg(O,g,D);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[O+12>>2];c[h>>2]=c[O>>2];Ma=O+4|0;c[h+4>>2]=c[Ma>>2];e=O+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[O>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)rg(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;sg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[O+12>>2];c[b>>2]=c[O>>2];d=O+4|0;c[b+4>>2]=c[d>>2];La=O+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[O>>2]=0;c[e>>2]=b+16;tg(l,Ma);ug(Ma)}cg(O);break a}case 77:{if(((g<<24>>24==77?(La=b+1|0,y=pg(La,d,e)|0,(y|0)!=(La|0)):0)?(za=pg(y,d,e)|0,(za|0)!=(y|0)):0)?(ka=e+4|0,z=c[ka>>2]|0,((z-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Fg(Ma,z+-24|0);f=c[ka>>2]|0;g=f+-24|0;h=f;do{d=h+-24|0;c[ka>>2]=d;bg(d);h=c[ka>>2]|0}while((h|0)!=(g|0));Fg(Ia,f+-48|0);q=Ma+12|0;f=c[ka>>2]|0;p=f+-24|0;if((a[((a[q>>0]&1)==0?q+1|0:c[Ma+20>>2]|0)>>0]|0)==40){d=og(Ma,19444)|0;c[ra>>2]=c[d>>2];c[ra+4>>2]=c[d+4>>2];c[ra+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Gg(Ca,Ia);d=a[Ca>>0]|0;La=(d&1)==0;d=dg(ra,La?Ca+1|0:c[Ca+8>>2]|0,La?(d&255)>>>1:c[Ca+4>>2]|0)|0;c[na>>2]=c[d>>2];c[na+4>>2]=c[d+4>>2];c[na+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=og(na,19469)|0;c[ma>>2]=c[d>>2];c[ma+4>>2]=c[d+4>>2];c[ma+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;do if(a[p>>0]&1){o=f+-16|0;a[c[o>>2]>>0]=0;l=f+-20|0;c[l>>2]=0;f=a[p>>0]|0;if(!(f&1))k=10;else{k=c[p>>2]|0;f=k&255;k=(k&-2)+-1|0}if(!(f&1)){g=(f&255)>>>1;if((f&255)<22){n=1;j=10;m=g}else{n=1;j=(g+16&240)+-1|0;m=g}}else{n=0;j=10;m=0}if((j|0)!=(k|0)){if((j|0)==10){h=p+1|0;g=c[o>>2]|0;if(n){pt(h|0,g|0,((f&255)>>>1)+1|0)|0;jj(g)}else{a[h>>0]=a[g>>0]|0;jj(g)}a[p>>0]=m<<1;break}g=j+1|0;h=ij(g)|0;if(!(j>>>0<=k>>>0&(h|0)==0)){if(n)pt(h|0,p+1|0,((f&255)>>>1)+1|0)|0;else{d=c[o>>2]|0;a[h>>0]=a[d>>0]|0;jj(d)}c[p>>2]=g|1;c[l>>2]=m;c[o>>2]=h}}}else{a[p+1>>0]=0;a[p>>0]=0}while(0);c[p>>2]=c[ma>>2];c[p+4>>2]=c[ma+4>>2];c[p+8>>2]=c[ma+8>>2];c[ma>>2]=0;c[ma+4>>2]=0;c[ma+8>>2]=0;lg(ma);lg(na);lg(Ca);lg(ra);f=c[ka>>2]|0;p=ng(q,0,19349)|0;c[Ha>>2]=c[p>>2];c[Ha+4>>2]=c[p+4>>2];c[Ha+8>>2]=c[p+8>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;p=f+-12|0;do if(a[p>>0]&1){o=f+-4|0;a[c[o>>2]>>0]=0;l=f+-8|0;c[l>>2]=0;f=a[p>>0]|0;if(!(f&1))k=10;else{k=c[p>>2]|0;f=k&255;k=(k&-2)+-1|0}if(!(f&1)){g=(f&255)>>>1;if((f&255)<22){n=1;j=10;m=g}else{n=1;j=(g+16&240)+-1|0;m=g}}else{n=0;j=10;m=0}if((j|0)!=(k|0)){if((j|0)==10){h=p+1|0;g=c[o>>2]|0;if(n){pt(h|0,g|0,((f&255)>>>1)+1|0)|0;jj(g)}else{a[h>>0]=a[g>>0]|0;jj(g)}a[p>>0]=m<<1;break}g=j+1|0;h=ij(g)|0;if(!(j>>>0<=k>>>0&(h|0)==0)){if(n)pt(h|0,p+1|0,((f&255)>>>1)+1|0)|0;else{d=c[o>>2]|0;a[h>>0]=a[d>>0]|0;jj(d)}c[p>>2]=g|1;c[l>>2]=m;c[o>>2]=h}}}else{a[p+1>>0]=0;a[p>>0]=0}while(0);c[p>>2]=c[Ha>>2];c[p+4>>2]=c[Ha+4>>2];c[p+8>>2]=c[Ha+8>>2];c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;lg(Ha)}else{d=og(Ma,19456)|0;c[Da>>2]=c[d>>2];c[Da+4>>2]=c[d+4>>2];c[Da+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Gg(Ea,Ia);d=a[Ea>>0]|0;La=(d&1)==0;d=dg(Da,La?Ea+1|0:c[Ea+8>>2]|0,La?(d&255)>>>1:c[Ea+4>>2]|0)|0;c[Fa>>2]=c[d>>2];c[Fa+4>>2]=c[d+4>>2];c[Fa+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=og(Fa,19469)|0;c[wa>>2]=c[d>>2];c[wa+4>>2]=c[d+4>>2];c[wa+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;do if(a[p>>0]&1){o=f+-16|0;a[c[o>>2]>>0]=0;l=f+-20|0;c[l>>2]=0;f=a[p>>0]|0;if(!(f&1))k=10;else{k=c[p>>2]|0;f=k&255;k=(k&-2)+-1|0}if(!(f&1)){g=(f&255)>>>1;if((f&255)<22){j=10;m=g;n=1}else{j=(g+16&240)+-1|0;m=g;n=1}}else{j=10;m=0;n=0}if((j|0)!=(k|0)){if((j|0)==10){h=p+1|0;g=c[o>>2]|0;if(n){pt(h|0,g|0,((f&255)>>>1)+1|0)|0;jj(g)}else{a[h>>0]=a[g>>0]|0;jj(g)}a[p>>0]=m<<1;break}g=j+1|0;h=ij(g)|0;if(!(j>>>0<=k>>>0&(h|0)==0)){if(n)pt(h|0,p+1|0,((f&255)>>>1)+1|0)|0;else{d=c[o>>2]|0;a[h>>0]=a[d>>0]|0;jj(d)}c[p>>2]=g|1;c[l>>2]=m;c[o>>2]=h}}}else{a[p+1>>0]=0;a[p>>0]=0}while(0);c[p>>2]=c[wa>>2];c[p+4>>2]=c[wa+4>>2];c[p+8>>2]=c[wa+8>>2];c[wa>>2]=0;c[wa+4>>2]=0;c[wa+8>>2]=0;lg(wa);lg(Fa);lg(Ea);lg(Da);f=c[ka>>2]|0;p=f+-12|0;do if(a[p>>0]&1){o=f+-4|0;a[c[o>>2]>>0]=0;l=f+-8|0;c[l>>2]=0;f=a[p>>0]|0;if(!(f&1))k=10;else{k=c[p>>2]|0;f=k&255;k=(k&-2)+-1|0}if(!(f&1)){g=(f&255)>>>1;if((f&255)<22){j=10;m=g;n=1}else{j=(g+16&240)+-1|0;m=g;n=1}}else{j=10;m=0;n=0}if((j|0)!=(k|0)){if((j|0)==10){h=p+1|0;g=c[o>>2]|0;if(n){pt(h|0,g|0,((f&255)>>>1)+1|0)|0;jj(g)}else{a[h>>0]=a[g>>0]|0;jj(g)}a[p>>0]=m<<1;break}g=j+1|0;h=ij(g)|0;if(!(j>>>0<=k>>>0&(h|0)==0)){if(n)pt(h|0,p+1|0,((f&255)>>>1)+1|0)|0;else{d=c[o>>2]|0;a[h>>0]=a[d>>0]|0;jj(d)}c[p>>2]=g|1;c[l>>2]=m;c[o>>2]=h}}}else{a[p+1>>0]=0;a[p>>0]=0}while(0);c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0}bg(Ia);bg(Ma);f=za}else f=b;if((f|0)==(b|0)){f=b;break a}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[Aa>>2]=c[e+12>>2];Hg(Ba,g+-24|0,Aa);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[Ba+12>>2];c[h>>2]=c[Ba>>2];Ma=Ba+4|0;c[h+4>>2]=c[Ma>>2];e=Ba+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[Ba>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)rg(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;sg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[Ba+12>>2];c[b>>2]=c[Ba>>2];d=Ba+4|0;c[b+4>>2]=c[d>>2];La=Ba+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[Ba>>2]=0;c[e>>2]=b+16;tg(l,Ma);ug(Ma)}cg(Ba);break a}case 79:{s=e+4|0;o=((c[s>>2]|0)-(c[e>>2]|0)|0)/24|0;Ia=b+1|0;f=pg(Ia,d,e)|0;s=((c[s>>2]|0)-(c[e>>2]|0)|0)/24|0;if((f|0)==(Ia|0)){f=b;break a}m=e+16|0;n=c[e+12>>2]|0;t=e+20|0;g=c[t>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=n;c[t>>2]=(c[t>>2]|0)+16}else{j=c[m>>2]|0;Ia=g-j|0;l=Ia>>4;k=l+1|0;if((Ia|0)<-16)rg(m);g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;sg(Ma,g,l,e+28|0);Ia=Ma+8|0;Ha=c[Ia>>2]|0;c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;c[Ha+12>>2]=n;c[Ia>>2]=Ha+16;tg(m,Ma);ug(Ma)}n=fa+4|0;p=fa+8|0;q=fa+1|0;r=Ma+8|0;if(o>>>0>=s>>>0)break a;while(1){Ia=c[e>>2]|0;Ha=Ia+(o*24|0)+12|0;Ga=a[Ha>>0]|0;h=(Ga&1)==0;Ga=h?(Ga&255)>>>1:c[Ia+(o*24|0)+16>>2]|0;Ag(fa,h?Ha+1|0:c[Ia+(o*24|0)+20>>2]|0,Ga>>>0<2?Ga:2);Ga=a[fa>>0]|0;Ia=(Ga&1)==0;Ga=Ia?(Ga&255)>>>1:c[n>>2]|0;Ha=Ga>>>0>2;Ia=Pi(Ia?q:c[p>>2]|0,19426,Ha?2:Ga)|0;lg(fa);h=c[e>>2]|0;if(((Ia|0)==0?(Ga>>>0<2?-1:Ha&1):Ia)|0){g=h+(o*24|0)+12|0;if(!(a[g>>0]&1))g=g+1|0;else g=c[h+(o*24|0)+20>>2]|0;if((a[g>>0]|0)==40){og(h+(o*24|0)|0,19444)|0;ng((c[e>>2]|0)+(o*24|0)+12|0,0,19349)|0}}else{og(h+(o*24|0)|0,19346)|0;ng((c[e>>2]|0)+(o*24|0)+12|0,0,19349)|0}og((c[e>>2]|0)+(o*24|0)|0,19473)|0;j=c[t>>2]|0;k=j+-16|0;l=c[e>>2]|0;m=l+(o*24|0)|0;g=j+-12|0;h=c[g>>2]|0;if((h|0)==(c[j+-8>>2]|0)){Ia=h-(c[k>>2]|0)|0;h=(Ia|0)/24|0;g=h+1|0;if((Ia|0)<-24){f=k;break}if(h>>>0<1073741823){Ia=h<<1;g=Ia>>>0>>0?g:Ia}else g=2147483647;wg(Ma,g,h,j+-4|0);Ia=c[r>>2]|0;vg(Ia,m);vg(Ia+12|0,l+(o*24|0)+12|0);c[r>>2]=Ia+24;yg(k,Ma);xg(Ma)}else{vg(h,m);vg(h+12|0,l+(o*24|0)+12|0);c[g>>2]=(c[g>>2]|0)+24}o=o+1|0;if(o>>>0>=s>>>0)break a}rg(f);break}case 80:{A=e+4|0;o=((c[A>>2]|0)-(c[e>>2]|0)|0)/24|0;z=b+1|0;f=pg(z,d,e)|0;A=((c[A>>2]|0)-(c[e>>2]|0)|0)/24|0;if((f|0)==(z|0)){f=b;break a}m=e+16|0;n=c[e+12>>2]|0;B=e+20|0;g=c[B>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=n;c[B>>2]=(c[B>>2]|0)+16}else{j=c[m>>2]|0;Ia=g-j|0;l=Ia>>4;k=l+1|0;if((Ia|0)<-16)rg(m);g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;sg(Ma,g,l,e+28|0);Ia=Ma+8|0;Ha=c[Ia>>2]|0;c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;c[Ha+12>>2]=n;c[Ia>>2]=Ha+16;tg(m,Ma);ug(Ma)}s=ua+4|0;t=ua+8|0;u=ua+1|0;v=va+4|0;w=va+8|0;x=va+1|0;y=Ma+8|0;if(o>>>0>=A>>>0)break a;while(1){Ia=c[e>>2]|0;Ha=Ia+(o*24|0)+12|0;Fa=a[Ha>>0]|0;h=(Fa&1)==0;Fa=h?(Fa&255)>>>1:c[Ia+(o*24|0)+16>>2]|0;Ag(ua,h?Ha+1|0:c[Ia+(o*24|0)+20>>2]|0,Fa>>>0<2?Fa:2);Fa=a[ua>>0]|0;Ia=(Fa&1)==0;Fa=Ia?(Fa&255)>>>1:c[s>>2]|0;Ha=Fa>>>0>2;Ia=Pi(Ia?u:c[t>>2]|0,19426,Ha?2:Fa)|0;lg(ua);h=c[e>>2]|0;if(((Ia|0)==0?(Fa>>>0<2?-1:Ha&1):Ia)|0){g=h+(o*24|0)+12|0;if(!(a[g>>0]&1))g=g+1|0;else g=c[h+(o*24|0)+20>>2]|0;if((a[g>>0]|0)==40){og(h+(o*24|0)|0,19444)|0;ng((c[e>>2]|0)+(o*24|0)+12|0,0,19349)|0}}else{og(h+(o*24|0)|0,19346)|0;ng((c[e>>2]|0)+(o*24|0)+12|0,0,19349)|0}h=c[e>>2]|0;g=h+(o*24|0)|0;do if((a[z>>0]|0)==85){Fa=a[g>>0]|0;Ia=(Fa&1)==0;Fa=Ia?(Fa&255)>>>1:c[h+(o*24|0)+4>>2]|0;Ag(va,Ia?g+1|0:c[h+(o*24|0)+8>>2]|0,Fa>>>0<12?Fa:12);Fa=a[va>>0]|0;Ia=(Fa&1)==0;Fa=Ia?(Fa&255)>>>1:c[v>>2]|0;Ha=Fa>>>0>12;Ia=Pi(Ia?x:c[w>>2]|0,19476,Ha?12:Fa)|0;lg(va);r=c[e>>2]|0;g=r+(o*24|0)|0;if(!(((Ia|0)==0?(Fa>>>0<12?-1:Ha&1):Ia)|0)){h=a[g>>0]|0;if(!(h&1)){q=(h&255)>>>1;n=q>>>0<11?q:11;j=10}else{q=c[r+(o*24|0)+4>>2]|0;h=c[g>>2]|0;n=q>>>0<11?q:11;j=(h&-2)+-1|0;h=h&255}if((n-q+j|0)>>>0<2){kg(g,j,2-n+q-j|0,q,0,n,2,19491);break}if(!(h&1))p=g+1|0;else p=c[r+(o*24|0)+8>>2]|0;do if((n|0)!=2){m=q-n|0;if((q|0)==(n|0)){k=0;l=19491;j=2;h=n;Ga=339}else{if(n>>>0>2){a[p>>0]=105;a[p+1>>0]=100;rt(p+2|0,p+n|0,m|0)|0;j=2;h=n;break}do if(p>>>0<19491>>>0&(p+q|0)>>>0>19491>>>0)if((p+n|0)>>>0>19491>>>0){pt(p|0,19491,n|0)|0;k=n;l=19493;j=2-n|0;h=0;break}else{k=0;l=19491+(2-n)|0;j=2;h=n;break}else{k=0;l=19491;j=2;h=n}while(0);rt(p+(k+j)|0,p+(k+h)|0,m|0)|0;Ga=339}}else{k=0;l=19491;j=2;h=2;Ga=339}while(0);if((Ga|0)==339){Ga=0;rt(p+k|0,l|0,j|0)|0}h=j-h+q|0;if(!(a[g>>0]&1))a[g>>0]=h<<1;else c[r+(o*24|0)+4>>2]=h;a[p+h>>0]=0}else Ga=322}else Ga=322;while(0);if((Ga|0)==322){Ga=0;og(g,19489)|0}j=c[B>>2]|0;k=j+-16|0;l=c[e>>2]|0;m=l+(o*24|0)|0;g=j+-12|0;h=c[g>>2]|0;if((h|0)==(c[j+-8>>2]|0)){Ia=h-(c[k>>2]|0)|0;h=(Ia|0)/24|0;g=h+1|0;if((Ia|0)<-24){f=k;break}if(h>>>0<1073741823){Ia=h<<1;g=Ia>>>0>>0?g:Ia}else g=2147483647;wg(Ma,g,h,j+-4|0);Ia=c[y>>2]|0;vg(Ia,m);vg(Ia+12|0,l+(o*24|0)+12|0);c[y>>2]=Ia+24;yg(k,Ma);xg(Ma)}else{vg(h,m);vg(h+12|0,l+(o*24|0)+12|0);c[g>>2]=(c[g>>2]|0)+24}o=o+1|0;if(o>>>0>=A>>>0)break a}rg(f);break}case 82:{s=e+4|0;o=((c[s>>2]|0)-(c[e>>2]|0)|0)/24|0;Ia=b+1|0;f=pg(Ia,d,e)|0;s=((c[s>>2]|0)-(c[e>>2]|0)|0)/24|0;if((f|0)==(Ia|0)){f=b;break a}m=e+16|0;n=c[e+12>>2]|0;t=e+20|0;g=c[t>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=n;c[t>>2]=(c[t>>2]|0)+16}else{j=c[m>>2]|0;Ia=g-j|0;l=Ia>>4;k=l+1|0;if((Ia|0)<-16)rg(m);g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;sg(Ma,g,l,e+28|0);Ia=Ma+8|0;Ha=c[Ia>>2]|0;c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;c[Ha+12>>2]=n;c[Ia>>2]=Ha+16;tg(m,Ma);ug(Ma)}n=ga+4|0;p=ga+8|0;q=ga+1|0;r=Ma+8|0;if(o>>>0>=s>>>0)break a;while(1){Ia=c[e>>2]|0;Ha=Ia+(o*24|0)+12|0;Ga=a[Ha>>0]|0;h=(Ga&1)==0;Ga=h?(Ga&255)>>>1:c[Ia+(o*24|0)+16>>2]|0;Ag(ga,h?Ha+1|0:c[Ia+(o*24|0)+20>>2]|0,Ga>>>0<2?Ga:2);Ga=a[ga>>0]|0;Ia=(Ga&1)==0;Ga=Ia?(Ga&255)>>>1:c[n>>2]|0;Ha=Ga>>>0>2;Ia=Pi(Ia?q:c[p>>2]|0,19426,Ha?2:Ga)|0;lg(ga);h=c[e>>2]|0;if(((Ia|0)==0?(Ga>>>0<2?-1:Ha&1):Ia)|0){g=h+(o*24|0)+12|0;if(!(a[g>>0]&1))g=g+1|0;else g=c[h+(o*24|0)+20>>2]|0;if((a[g>>0]|0)==40){og(h+(o*24|0)|0,19444)|0;ng((c[e>>2]|0)+(o*24|0)+12|0,0,19349)|0}}else{og(h+(o*24|0)|0,19346)|0;ng((c[e>>2]|0)+(o*24|0)+12|0,0,19349)|0}og((c[e>>2]|0)+(o*24|0)|0,19494)|0;j=c[t>>2]|0;k=j+-16|0;l=c[e>>2]|0;m=l+(o*24|0)|0;g=j+-12|0;h=c[g>>2]|0;if((h|0)==(c[j+-8>>2]|0)){Ia=h-(c[k>>2]|0)|0;h=(Ia|0)/24|0;g=h+1|0;if((Ia|0)<-24){f=k;break}if(h>>>0<1073741823){Ia=h<<1;g=Ia>>>0>>0?g:Ia}else g=2147483647;wg(Ma,g,h,j+-4|0);Ia=c[r>>2]|0;vg(Ia,m);vg(Ia+12|0,l+(o*24|0)+12|0);c[r>>2]=Ia+24;yg(k,Ma);xg(Ma)}else{vg(h,m);vg(h+12|0,l+(o*24|0)+12|0);c[g>>2]=(c[g>>2]|0)+24}o=o+1|0;if(o>>>0>=s>>>0)break a}rg(f);break}case 84:{s=e+4|0;p=((c[s>>2]|0)-(c[e>>2]|0)|0)/24|0;f=Ig(b,d,e)|0;q=((c[s>>2]|0)-(c[e>>2]|0)|0)/24|0;if((f|0)==(b|0)){f=b;break a}v=e+16|0;r=e+12|0;m=c[r>>2]|0;u=e+20|0;g=c[u>>2]|0;t=e+24|0;h=c[t>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=m;c[u>>2]=(c[u>>2]|0)+16}else{j=c[v>>2]|0;b=g-j|0;l=b>>4;k=l+1|0;if((b|0)<-16)rg(v);g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;sg(Ma,g,l,e+28|0);b=Ma+8|0;La=c[b>>2]|0;c[La>>2]=0;c[La+4>>2]=0;c[La+8>>2]=0;c[La+12>>2]=m;c[b>>2]=La+16;tg(v,Ma);ug(Ma)}k=Ma+8|0;f:do if(p>>>0>>0){o=p;while(1){l=c[u>>2]|0;g=l+-16|0;m=c[e>>2]|0;n=m+(o*24|0)|0;h=l+-12|0;j=c[h>>2]|0;if((j|0)==(c[l+-8>>2]|0)){b=j-(c[g>>2]|0)|0;j=(b|0)/24|0;h=j+1|0;if((b|0)<-24)break;if(j>>>0<1073741823){b=j<<1;h=b>>>0>>0?h:b}else h=2147483647;wg(Ma,h,j,l+-4|0);b=c[k>>2]|0;vg(b,n);vg(b+12|0,m+(o*24|0)+12|0);c[k>>2]=b+24;yg(g,Ma);xg(Ma)}else{vg(j,n);vg(j+12|0,m+(o*24|0)+12|0);c[h>>2]=(c[h>>2]|0)+24}o=o+1|0;if(o>>>0>=q>>>0)break f}rg(g)}while(0);if(!((q|0)==(p+1|0)&(a[e+63>>0]|0)!=0))break a;l=Jg(f,d,e)|0;if((l|0)==(f|0))break a;Gg(qa,(c[s>>2]|0)+-24|0);f=c[s>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[s>>2]=b;bg(b);h=c[s>>2]|0}while((h|0)!=(g|0));j=a[qa>>0]|0;b=(j&1)==0;dg(f+-48|0,b?qa+1|0:c[qa+8>>2]|0,b?(j&255)>>>1:c[qa+4>>2]|0)|0;f=(c[s>>2]|0)+-24|0;c[ja>>2]=c[r>>2];Hg(oa,f,ja);f=c[u>>2]|0;j=c[t>>2]|0;if(f>>>0>>0){c[f+12>>2]=c[oa+12>>2];c[f>>2]=c[oa>>2];Ma=oa+4|0;c[f+4>>2]=c[Ma>>2];e=oa+8|0;c[f+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[oa>>2]=0;c[u>>2]=(c[u>>2]|0)+16}else{g=c[v>>2]|0;b=f-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)rg(v);f=j-g|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?h:f}else f=2147483647;sg(Ma,f,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[oa+12>>2];c[b>>2]=c[oa>>2];d=oa+4|0;c[b+4>>2]=c[d>>2];La=oa+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[oa>>2]=0;c[e>>2]=b+16;tg(v,Ma);ug(Ma)}cg(oa);lg(qa);f=l;break a}case 85:{f=b+1|0;if((f|0)==(d|0)){f=b;break a}g=Kg(f,d,e)|0;if((g|0)==(f|0)){f=b;break a}f=pg(g,d,e)|0;if((f|0)==(g|0)){f=b;break a}m=e+4|0;g=c[m>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Gg(ia,g+-24|0);g=c[m>>2]|0;h=g+-24|0;j=g;do{b=j+-24|0;c[m>>2]=b;bg(b);j=c[m>>2]|0}while((j|0)!=(h|0));b=g+-48|0;La=a[b>>0]|0;d=(La&1)==0;La=d?(La&255)>>>1:c[g+-44>>2]|0;Ag(G,d?b+1|0:c[g+-40>>2]|0,La>>>0<9?La:9);La=a[G>>0]|0;b=(La&1)==0;La=b?(La&255)>>>1:c[G+4>>2]|0;d=La>>>0>9;b=Pi(b?G+1|0:c[G+8>>2]|0,19496,d?9:La)|0;lg(G);g=(c[m>>2]|0)+-24|0;if(!(((b|0)==0?(La>>>0<9?-1:d&1):b)|0)){Gg(ca,g);h=c[m>>2]|0;g=h+-24|0;do{b=h+-24|0;c[m>>2]=b;bg(b);h=c[m>>2]|0}while((h|0)!=(g|0));b=a[ca>>0]|0;d=(b&1)==0;g=ca+8|0;h=ca+1|0;La=d?h:c[g>>2]|0;j=ca+4|0;b=Kg(La+9|0,La+(d?(b&255)>>>1:c[j>>2]|0)|0,e)|0;if((b|0)==(((a[ca>>0]&1)==0?h:c[g>>2]|0)+9|0)){Lg(aa,ia,19456);b=a[ca>>0]|0;d=(b&1)==0;g=dg(aa,d?h:c[g>>2]|0,d?(b&255)>>>1:c[j>>2]|0)|0;c[$>>2]=c[g>>2];c[$+4>>2]=c[g+4>>2];c[$+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;Mg(_,$);g=c[m>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Fg(g,_);c[m>>2]=(c[m>>2]|0)+24}else{j=c[e>>2]|0;b=g-j|0;l=(b|0)/24|0;k=l+1|0;if((b|0)<-24)rg(e);g=(h-j|0)/24|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?k:g}else g=2147483647;wg(Ma,g,l,e+12|0);b=Ma+8|0;d=c[b>>2]|0;Fg(d,_);c[b>>2]=d+24;yg(e,Ma);xg(Ma)}bg(_);lg($);lg(aa)}else{b=(c[m>>2]|0)+-24|0;Lg(T,ia,19506);Gg(U,(c[m>>2]|0)+-24|0);d=a[U>>0]|0;La=(d&1)==0;d=dg(T,La?U+1|0:c[U+8>>2]|0,La?(d&255)>>>1:c[U+4>>2]|0)|0;c[S>>2]=c[d>>2];c[S+4>>2]=c[d+4>>2];c[S+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=og(S,19508)|0;c[R>>2]=c[d>>2];c[R+4>>2]=c[d+4>>2];c[R+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Mg(Q,R);Ng(b,Q);bg(Q);lg(R);lg(S);lg(U);lg(T)}lg(ca)}else{Lg(K,ia,19456);Gg(L,(c[m>>2]|0)+-24|0);b=a[L>>0]|0;d=(b&1)==0;b=dg(K,d?L+1|0:c[L+8>>2]|0,d?(b&255)>>>1:c[L+4>>2]|0)|0;c[J>>2]=c[b>>2];c[J+4>>2]=c[b+4>>2];c[J+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Mg(I,J);Ng(g,I);bg(I);lg(J);lg(L);lg(K)}l=(c[m>>2]|0)+-24|0;c[ba>>2]=c[e+12>>2];Hg(ha,l,ba);l=e+16|0;g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[ha+12>>2];c[h>>2]=c[ha>>2];Ma=ha+4|0;c[h+4>>2]=c[Ma>>2];e=ha+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[ha>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)rg(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;sg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[ha+12>>2];c[b>>2]=c[ha>>2];d=ha+4|0;c[b+4>>2]=c[d>>2];La=ha+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[ha>>2]=0;c[e>>2]=b+16;tg(l,Ma);ug(Ma)}cg(ha);lg(ia);break a}case 83:{La=b+1|0;if((La|0)!=(d|0)?(a[La>>0]|0)==116:0){f=Og(b,d,e)|0;if((f|0)==(b|0)){f=b;break a}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[B>>2]=c[e+12>>2];Hg(M,g+-24|0,B);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[M+12>>2];c[h>>2]=c[M>>2];Ma=M+4|0;c[h+4>>2]=c[Ma>>2];e=M+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[M>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)rg(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;sg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[M+12>>2];c[b>>2]=c[M>>2];d=M+4|0;c[b+4>>2]=c[d>>2];La=M+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[M>>2]=0;c[e>>2]=b+16;tg(l,Ma);ug(Ma)}cg(M);break a}f=Pg(b,d,e)|0;if((f|0)==(b|0)){f=b;break a}l=Jg(f,d,e)|0;if((l|0)==(f|0))break a;j=e+4|0;g=c[j>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0<2)break a;Gg(W,g+-24|0);f=c[j>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[j>>2]=b;bg(b);h=c[j>>2]|0}while((h|0)!=(g|0));k=a[W>>0]|0;g=(k&1)==0;dg(f+-48|0,g?W+1|0:c[W+8>>2]|0,g?(k&255)>>>1:c[W+4>>2]|0)|0;k=(c[j>>2]|0)+-24|0;c[F>>2]=c[e+12>>2];Hg(V,k,F);k=e+16|0;f=e+20|0;g=c[f>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g+12>>2]=c[V+12>>2];c[g>>2]=c[V>>2];Ma=V+4|0;c[g+4>>2]=c[Ma>>2];e=V+8|0;c[g+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[V>>2]=0;c[f>>2]=(c[f>>2]|0)+16}else{f=c[k>>2]|0;b=g-f|0;j=b>>4;g=j+1|0;if((b|0)<-16)rg(k);f=h-f|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?g:f}else f=2147483647;sg(Ma,f,j,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[V+12>>2];c[b>>2]=c[V>>2];d=V+4|0;c[b+4>>2]=c[d>>2];La=V+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[V>>2]=0;c[e>>2]=b+16;tg(k,Ma);ug(Ma)}cg(V);lg(W);f=l;break a}case 68:{f=b+1|0;if((f|0)!=(d|0)){f=a[f>>0]|0;switch(f<<24>>24|0){case 112:{p=e+4|0;o=((c[p>>2]|0)-(c[e>>2]|0)|0)/24|0;Ia=b+2|0;f=pg(Ia,d,e)|0;p=((c[p>>2]|0)-(c[e>>2]|0)|0)/24|0;if((f|0)==(Ia|0))break b;m=e+16|0;n=c[e+12>>2]|0;q=e+20|0;g=c[q>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=n;c[q>>2]=(c[q>>2]|0)+16}else{j=c[m>>2]|0;Ia=g-j|0;l=Ia>>4;k=l+1|0;if((Ia|0)<-16)rg(m);g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;sg(Ma,g,l,e+28|0);Ia=Ma+8|0;Ha=c[Ia>>2]|0;c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;c[Ha+12>>2]=n;c[Ia>>2]=Ha+16;tg(m,Ma);ug(Ma)}n=Ma+8|0;if(o>>>0>=p>>>0)break a;while(1){j=c[q>>2]|0;k=j+-16|0;l=c[e>>2]|0;m=l+(o*24|0)|0;g=j+-12|0;h=c[g>>2]|0;if((h|0)==(c[j+-8>>2]|0)){Ia=h-(c[k>>2]|0)|0;h=(Ia|0)/24|0;g=h+1|0;if((Ia|0)<-24){f=k;break}if(h>>>0<1073741823){Ia=h<<1;g=Ia>>>0>>0?g:Ia}else g=2147483647;wg(Ma,g,h,j+-4|0);Ia=c[n>>2]|0;vg(Ia,m);vg(Ia+12|0,l+(o*24|0)+12|0);c[n>>2]=Ia+24;yg(k,Ma);xg(Ma)}else{vg(h,m);vg(h+12|0,l+(o*24|0)+12|0);c[g>>2]=(c[g>>2]|0)+24}o=o+1|0;if(o>>>0>=p>>>0)break a}rg(f);break}case 84:case 116:{f=Qg(b,d,e)|0;if((f|0)==(b|0))break b;g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[E>>2]=c[e+12>>2];Hg(P,g+-24|0,E);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[P+12>>2];c[h>>2]=c[P>>2];Ma=P+4|0;c[h+4>>2]=c[Ma>>2];e=P+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[P>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)rg(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;sg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[P+12>>2];c[b>>2]=c[P>>2];d=P+4|0;c[b+4>>2]=c[d>>2];La=P+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[P>>2]=0;c[e>>2]=b+16;tg(l,Ma);ug(Ma)}cg(P);break a}case 118:{g:do if((d-b|0)>3&g<<24>>24==68&f<<24>>24==118){j=b+2|0;f=a[j>>0]|0;if((f+-49&255)<9){f=Cg(j,d)|0;if((f|0)==(d|0)){f=b;break}if((a[f>>0]|0)!=95){f=b;break}h=f-j|0;g=f+1|0;if((g|0)==(d|0)){f=b;break}if((a[g>>0]|0)!=112){f=pg(g,d,e)|0;if((f|0)==(g|0)){f=b;break}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break}Ag(na,j,h);Ha=ng(na,0,19510)|0;c[ma>>2]=c[Ha>>2];c[ma+4>>2]=c[Ha+4>>2];c[ma+8>>2]=c[Ha+8>>2];c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;Ha=og(ma,19433)|0;c[Ia>>2]=c[Ha>>2];c[Ia+4>>2]=c[Ha+4>>2];c[Ia+8>>2]=c[Ha+8>>2];c[Ha>>2]=0;c[Ha+4>>2]=0;c[Ha+8>>2]=0;Ha=a[Ia>>0]|0;Ga=(Ha&1)==0;dg(g+-24|0,Ga?Ia+1|0:c[Ia+8>>2]|0,Ga?(Ha&255)>>>1:c[Ia+4>>2]|0)|0;lg(Ia);lg(ma);lg(na);break}f=f+2|0;Ag(wa,j,h);g=ng(wa,0,19519)|0;c[Ha>>2]=c[g>>2];c[Ha+4>>2]=c[g+4>>2];c[Ha+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;g=og(Ha,19433)|0;c[Ca>>2]=c[g>>2];c[Ca+4>>2]=c[g+4>>2];c[Ca+8>>2]=c[g+8>>2];c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;Mg(ra,Ca);g=e+4|0;h=c[g>>2]|0;j=c[e+8>>2]|0;if(h>>>0>>0){Fg(h,ra);c[g>>2]=(c[g>>2]|0)+24}else{g=c[e>>2]|0;Ia=h-g|0;k=(Ia|0)/24|0;h=k+1|0;if((Ia|0)<-24)rg(e);g=(j-g|0)/24|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?h:g}else g=2147483647;wg(Ma,g,k,e+12|0);Ia=Ma+8|0;Ga=c[Ia>>2]|0;Fg(Ga,ra);c[Ia>>2]=Ga+24;yg(e,Ma);xg(Ma)}bg(ra);lg(Ca);lg(Ha);lg(wa);break}c[Fa>>2]=0;c[Fa+4>>2]=0;c[Fa+8>>2]=0;if(f<<24>>24!=95?(X=Eg(j,d,e)|0,(X|0)!=(j|0)):0){o=e+4|0;f=c[o>>2]|0;if((c[e>>2]|0)!=(f|0)){Gg(Da,f+-24|0);h:do if(!(a[Fa>>0]&1)){a[Fa+1>>0]=0;a[Fa>>0]=0}else{k=Fa+8|0;g=c[k>>2]|0;a[g>>0]=0;l=Fa+4|0;c[l>>2]=0;m=c[Fa>>2]|0;n=(m&-2)+-1|0;h=m&255;do if(!(h&1)){f=m>>>1&127;if((h&255)<22){pt(Fa+1|0,g|0,(m>>>1&127)+1|0)|0;jj(g);break}g=f+16&240;j=g+-1|0;if((j|0)==(n|0))break h;h=ij(g)|0;if(j>>>0<=n>>>0&(h|0)==0)break h;pt(h|0,Fa+1|0,(m>>>1&127)+1|0)|0;c[Fa>>2]=g|1;c[l>>2]=f;c[k>>2]=h;break h}else{a[Fa+1>>0]=0;jj(g);f=0}while(0);a[Fa>>0]=f<<1}while(0);c[Fa>>2]=c[Da>>2];c[Fa+4>>2]=c[Da+4>>2];c[Fa+8>>2]=c[Da+8>>2];c[Da>>2]=0;c[Da+4>>2]=0;c[Da+8>>2]=0;lg(Da);g=c[o>>2]|0;f=g+-24|0;do{Ia=g+-24|0;c[o>>2]=Ia;bg(Ia);g=c[o>>2]|0}while((g|0)!=(f|0));f=X;Ga=521}}else{f=j;Ga=521}do if((Ga|0)==521){if((((f|0)!=(d|0)?(a[f>>0]|0)==95:0)?(Y=f+1|0,(Y|0)!=(d|0)):0)?(Z=pg(Y,d,e)|0,(Z|0)!=(Y|0)):0){f=c[e+4>>2]|0;if((c[e>>2]|0)==(f|0))break;Rg(xa,19510,Fa);Ia=og(xa,19433)|0;c[Ea>>2]=c[Ia>>2];c[Ea+4>>2]=c[Ia+4>>2];c[Ea+8>>2]=c[Ia+8>>2];c[Ia>>2]=0;c[Ia+4>>2]=0;c[Ia+8>>2]=0;Ia=a[Ea>>0]|0;Ha=(Ia&1)==0;dg(f+-24|0,Ha?Ea+1|0:c[Ea+8>>2]|0,Ha?(Ia&255)>>>1:c[Ea+4>>2]|0)|0;lg(Ea);lg(xa);f=Z}else f=b;lg(Fa);break g}while(0);lg(Fa);f=b}else f=b;while(0);if((f|0)==(b|0))break b;g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[pa>>2]=c[e+12>>2];Hg(sa,g+-24|0,pa);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[sa+12>>2];c[h>>2]=c[sa>>2];Ma=sa+4|0;c[h+4>>2]=c[Ma>>2];e=sa+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[sa>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)rg(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;sg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[sa+12>>2];c[b>>2]=c[sa>>2];d=sa+4|0;c[b+4>>2]=c[d>>2];La=sa+8|0;c[b+8>>2]=c[La>>2];c[La>>2]=0;c[d>>2]=0;c[sa>>2]=0;c[e>>2]=b+16;tg(l,Ma);ug(Ma)}cg(sa);break a}default:break b}}break}default:{}}while(0);f=zg(b,d,e)|0;if((f|0)==(b|0)){f=Og(b,d,e)|0;if((f|0)!=(b|0)?(Ja=c[e+4>>2]|0,(c[e>>2]|0)!=(Ja|0)):0){l=e+16|0;c[Ka>>2]=c[e+12>>2];Hg(La,Ja+-24|0,Ka);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[La+12>>2];c[h>>2]=c[La>>2];Ma=La+4|0;c[h+4>>2]=c[Ma>>2];e=La+8|0;c[h+8>>2]=c[e>>2];c[e>>2]=0;c[Ma>>2]=0;c[La>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;b=h-g|0;k=b>>4;h=k+1|0;if((b|0)<-16)rg(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;sg(Ma,g,k,e+28|0);e=Ma+8|0;b=c[e>>2]|0;c[b+12>>2]=c[La+12>>2];c[b>>2]=c[La>>2];d=La+4|0;c[b+4>>2]=c[d>>2];Ka=La+8|0;c[b+8>>2]=c[Ka>>2];c[Ka>>2]=0;c[d>>2]=0;c[La>>2]=0;c[e>>2]=b+16;tg(l,Ma);ug(Ma)}cg(La)}else f=b}}else f=g}else f=b;while(0);i=Na;return f|0}function qg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[e>>2]=0;if((b|0)!=(d|0)){d=a[b>>0]|0;if(d<<24>>24==114){c[e>>2]=4;d=b+1|0;b=d;d=a[d>>0]|0;f=4}else f=0;if(d<<24>>24==86){f=f|2;c[e>>2]=f;d=b+1|0;b=d;d=a[d>>0]|0}if(d<<24>>24==75){c[e>>2]=f|1;b=b+1|0}}return b|0}function rg(a){a=a|0;Da(21109,21132,303,19118)}function sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+12>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=mh(c[e>>2]|0,b<<4)|0;c[a>>2]=e;d=e+(d<<4)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[a+12>>2]=e+(b<<4);return}function tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[a>>2]|0;f=a+4|0;d=c[f>>2]|0;g=b+4|0;if((d|0)!=(e|0))do{j=c[g>>2]|0;h=j+-16|0;i=d;d=d+-16|0;c[h>>2]=0;k=j+-12|0;c[k>>2]=0;l=c[i+-4>>2]|0;c[j+-8>>2]=0;c[j+-4>>2]=l;c[h>>2]=c[d>>2];h=i+-12|0;c[k>>2]=c[h>>2];i=i+-8|0;c[j+-8>>2]=c[i>>2];c[i>>2]=0;c[h>>2]=0;c[d>>2]=0;c[g>>2]=(c[g>>2]|0)+-16}while((d|0)!=(e|0));j=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=j;j=b+8|0;l=c[f>>2]|0;c[f>>2]=c[j>>2];c[j>>2]=l;j=a+8|0;l=b+12|0;k=c[j>>2]|0;c[j>>2]=c[l>>2];c[l>>2]=k;c[b>>2]=c[g>>2];return}function ug(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+4>>2]|0;e=a+8|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{f=b+-16|0;c[e>>2]=f;cg(f);b=c[e>>2]|0}while((b|0)!=(d|0));b=c[a>>2]|0;if(b)jg(c[c[a+16>>2]>>2]|0,b,(c[a+12>>2]|0)-b|0);return}function vg(b,d){b=b|0;d=d|0;if(!(a[d>>0]&1)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}else Ag(b,c[d+8>>2]|0,c[d+4>>2]|0);return}function wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+12>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=mh(c[e>>2]|0,b*24|0)|0;c[a>>2]=e;d=e+(d*24|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[a+12>>2]=e+(b*24|0);return}function xg(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+4>>2]|0;e=a+8|0;b=c[e>>2]|0;if((b|0)!=(d|0))do{f=b+-24|0;c[e>>2]=f;bg(f);b=c[e>>2]|0}while((b|0)!=(d|0));b=c[a>>2]|0;if(b)jg(c[c[a+16>>2]>>2]|0,b,(c[a+12>>2]|0)-b|0);return}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=c[a>>2]|0;f=a+4|0;d=c[f>>2]|0;g=b+4|0;if((d|0)!=(e|0))do{d=d+-24|0;Fg((c[g>>2]|0)+-24|0,d);c[g>>2]=(c[g>>2]|0)+-24}while((d|0)!=(e|0));e=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=e;e=b+8|0;d=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=d;e=a+8|0;a=b+12|0;f=c[e>>2]|0;c[e>>2]=c[a>>2];c[a>>2]=f;c[b>>2]=c[g>>2];return} +function eh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+1136|0;ba=ca+1104|0;j=ca+1080|0;k=ca+1056|0;v=ca+1032|0;G=ca+1008|0;R=ca+984|0;Y=ca+960|0;Z=ca+936|0;_=ca+912|0;$=ca+888|0;aa=ca+864|0;l=ca+840|0;m=ca+816|0;n=ca+792|0;o=ca+768|0;p=ca+744|0;q=ca+720|0;r=ca+696|0;s=ca+672|0;t=ca+648|0;u=ca+624|0;w=ca+600|0;x=ca+576|0;y=ca+552|0;z=ca+528|0;A=ca+504|0;B=ca+480|0;C=ca+456|0;D=ca+432|0;E=ca+408|0;F=ca+384|0;H=ca+360|0;I=ca+336|0;J=ca+312|0;K=ca+288|0;L=ca+264|0;M=ca+240|0;N=ca+216|0;O=ca+192|0;P=ca+168|0;Q=ca+144|0;S=ca+120|0;T=ca+96|0;U=ca+72|0;V=ca+48|0;W=ca+24|0;X=ca;a:do if((d-b|0)>1)do switch(a[b>>0]|0){case 97:switch(a[b+1>>0]|0){case 97:{fh(j,19679);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,j);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,j);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(j);d=b+2|0;break a}case 110:case 100:{gh(k,19690);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,k);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,k);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(k);d=b+2|0;break a}case 78:{fh(v,19700);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,v);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,v);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(v);d=b+2|0;break a}case 83:{gh(G,19711);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,G);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,G);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(G);d=b+2|0;break a}default:{d=b;break a}}case 99:switch(a[b+1>>0]|0){case 108:{fh(R,19721);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,R);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,R);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(R);d=b+2|0;break a}case 109:{gh(Y,19732);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,Y);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,Y);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(Y);d=b+2|0;break a}case 111:{gh(Z,19742);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,Z);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,Z);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(Z);d=b+2|0;break a}case 118:{aa=e+63|0;$=a[aa>>0]|0;a[aa>>0]=0;ba=b+2|0;d=pg(ba,d,e)|0;a[aa>>0]=$;if((d|0)==(ba|0)){d=b;break a}f=c[e+4>>2]|0;if((c[e>>2]|0)==(f|0)){d=b;break a}ng(f+-24|0,0,19752)|0;a[e+60>>0]=1;break a}default:{d=b;break a}}case 100:switch(a[b+1>>0]|0){case 97:{Ug(_,19762);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,_);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,_);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(_);d=b+2|0;break a}case 101:{gh($,19780);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,$);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;_=c[aa>>2]|0;Fg(_,$);c[aa>>2]=_+24;yg(e,ba);xg(ba)}bg($);d=b+2|0;break a}case 108:{d=ij(16)|0;c[aa+8>>2]=d;c[aa>>2]=17;c[aa+4>>2]=15;f=d;g=19790;h=f+15|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[d+15>>0]=0;d=aa+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,aa);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;$=f-d|0;h=($|0)/24|0;f=h+1|0;if(($|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);$=ba+8|0;_=c[$>>2]|0;Fg(_,aa);c[$>>2]=_+24;yg(e,ba);xg(ba)}bg(aa);d=b+2|0;break a}case 118:{gh(l,19806);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,l);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,l);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(l);d=b+2|0;break a}case 86:{fh(m,19816);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,m);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,m);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(m);d=b+2|0;break a}default:{d=b;break a}}case 101:switch(a[b+1>>0]|0){case 111:{gh(n,19827);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,n);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,n);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(n);d=b+2|0;break a}case 79:{fh(o,19837);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,o);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,o);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(o);d=b+2|0;break a}case 113:{fh(p,19848);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,p);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,p);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(p);d=b+2|0;break a}default:{d=b;break a}}case 103:switch(a[b+1>>0]|0){case 101:{fh(q,19859);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,q);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,q);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(q);d=b+2|0;break a}case 116:{gh(r,19870);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,r);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,r);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(r);d=b+2|0;break a}default:{d=b;break a}}case 105:{if((a[b+1>>0]|0)!=120){d=b;break a}fh(s,19880);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,s);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,s);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(s);d=b+2|0;break a}case 108:switch(a[b+1>>0]|0){case 101:{fh(t,19891);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,t);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,t);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(t);d=b+2|0;break a}case 105:{ba=b+2|0;d=Kg(ba,d,e)|0;if((d|0)==(ba|0)){d=b;break a}f=c[e+4>>2]|0;if((c[e>>2]|0)==(f|0)){d=b;break a}ng(f+-24|0,0,19902)|0;break a}case 115:{fh(u,19914);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,u);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,u);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(u);d=b+2|0;break a}case 83:{Vg(w,19925);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,w);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,w);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(w);d=b+2|0;break a}case 116:{gh(x,19937);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,x);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,x);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(x);d=b+2|0;break a}default:{d=b;break a}}case 109:switch(a[b+1>>0]|0){case 105:{gh(y,19947);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,y);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,y);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(y);d=b+2|0;break a}case 73:{fh(z,19957);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,z);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,z);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(z);d=b+2|0;break a}case 108:{gh(A,19780);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,A);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,A);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(A);d=b+2|0;break a}case 76:{fh(B,19968);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,B);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,B);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(B);d=b+2|0;break a}case 109:{fh(C,19979);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,C);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,C);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(C);d=b+2|0;break a}default:{d=b;break a}}case 110:switch(a[b+1>>0]|0){case 97:{Tg(D,19990);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,D);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,D);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(D);d=b+2|0;break a}case 101:{fh(E,20005);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,E);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,E);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(E);d=b+2|0;break a}case 103:{gh(F,19947);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,F);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,F);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(F);d=b+2|0;break a}case 116:{gh(H,20016);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,H);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,H);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(H);d=b+2|0;break a}case 119:{Wg(I,20026);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,I);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,I);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(I);d=b+2|0;break a}default:{d=b;break a}}case 111:switch(a[b+1>>0]|0){case 111:{fh(J,20039);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,J);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,J);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(J);d=b+2|0;break a}case 114:{gh(K,20050);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,K);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,K);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(K);d=b+2|0;break a}case 82:{fh(L,20060);d=e+4|0;f=c[d>>2]|0;h=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,L);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;g=(aa|0)/24|0;f=g+1|0;if((aa|0)<-24)rg(e);d=(h-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,g,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,L);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(L);d=b+2|0;break a}default:{d=b;break a}}case 112:switch(a[b+1>>0]|0){case 109:{Vg(M,20071);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,M);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,M);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(M);d=b+2|0;break a}case 108:{gh(N,20083);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,N);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,N);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(N);d=b+2|0;break a}case 76:{fh(O,20093);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,O);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,O);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(O);d=b+2|0;break a}case 112:{fh(P,20104);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,P);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,P);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(P);d=b+2|0;break a}case 115:{gh(Q,20083);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,Q);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,Q);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(Q);d=b+2|0;break a}case 116:{fh(S,20115);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,S);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,S);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(S);d=b+2|0;break a}default:{d=b;break a}}case 113:{if((a[b+1>>0]|0)!=117){d=b;break a}gh(T,20126);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,T);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,T);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(T);d=b+2|0;break a}case 114:switch(a[b+1>>0]|0){case 109:{gh(U,20136);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,U);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,U);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(U);d=b+2|0;break a}case 77:{fh(V,20146);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,V);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,V);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(V);d=b+2|0;break a}case 115:{fh(W,20157);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,W);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,W);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(W);d=b+2|0;break a}case 83:{Vg(X,20168);d=e+4|0;f=c[d>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,X);c[d>>2]=(c[d>>2]|0)+24}else{d=c[e>>2]|0;aa=f-d|0;h=(aa|0)/24|0;f=h+1|0;if((aa|0)<-24)rg(e);d=(g-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?f:d}else d=2147483647;wg(ba,d,h,e+12|0);aa=ba+8|0;$=c[aa>>2]|0;Fg($,X);c[aa>>2]=$+24;yg(e,ba);xg(ba)}bg(X);d=b+2|0;break a}default:{d=b;break a}}case 118:{if(((a[b+1>>0]|0)+-48|0)>>>0>=10){d=b;break a}ba=b+2|0;d=Kg(ba,d,e)|0;if((d|0)==(ba|0)){d=b;break a}f=c[e+4>>2]|0;if((c[e>>2]|0)==(f|0)){d=b;break a}ng(f+-24|0,0,19752)|0;break a}default:{d=b;break a}}while(0);else d=b;while(0);i=ca;return d|0}function fh(b,d){b=b|0;d=d|0;var e=0,f=0;a[b>>0]=20;f=b+1|0;e=f+10|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));a[b+11>>0]=0;f=b+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;return}function gh(b,d){b=b|0;d=d|0;var e=0,f=0;a[b>>0]=18;f=b+1|0;e=f+9|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(e|0));a[b+10>>0]=0;f=b+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;return}function hh(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((b|0)!=(c|0))switch(a[b>>0]|0){case 88:{f=b+1|0;e=Eg(f,c,d)|0;if((e|0)==(f|0)|(e|0)==(c|0))break a;b=(a[e>>0]|0)==69?e+1|0:b;break a}case 74:{e=b+1|0;if((e|0)==(c|0))break a;while(1){if((a[e>>0]|0)==69){b=e;break}f=e;e=hh(e,c,d)|0;if((e|0)==(f|0))break a}b=b+1|0;break a}case 76:{f=b+1|0;if((f|0)!=(c|0)?(a[f>>0]|0)==90:0){f=b+2|0;e=mg(f,c,d)|0;if((e|0)==(f|0)|(e|0)==(c|0))break a;return ((a[e>>0]|0)==69?e+1|0:b)|0}b=ih(b,c,d)|0;break a}default:{b=pg(b,c,d)|0;break a}}while(0);return b|0}function ih(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+480|0;I=N+72|0;H=N+48|0;G=N+24|0;K=N;J=N+432|0;L=N+408|0;M=N+396|0;r=N+384|0;y=N+360|0;z=N+336|0;s=N+320|0;t=N+308|0;u=N+296|0;v=N+284|0;f=N+272|0;j=N+260|0;k=N+248|0;l=N+236|0;m=N+224|0;n=N+212|0;o=N+200|0;p=N+188|0;q=N+176|0;A=N+152|0;B=N+140|0;C=N+128|0;D=N+116|0;E=N+104|0;F=N+92|0;x=d;a:do if((x-b|0)>3?(a[b>>0]|0)==76:0){w=b+1|0;do switch(a[w>>0]|0){case 84:break a;case 119:{M=b+2|0;Ag(r,20494,7);e=jh(M,d,r,e)|0;lg(r);b=(e|0)==(M|0)?b:e;break a}case 98:{if((a[b+3>>0]|0)!=69)break a;switch(a[b+2>>0]|0){case 48:{kh(y,28356);f=e+4|0;j=c[f>>2]|0;k=c[e+8>>2]|0;if(j>>>0>>0){Fg(j,y);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;M=j-f|0;l=(M|0)/24|0;j=l+1|0;if((M|0)<-24)rg(e);f=(k-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f}else f=2147483647;wg(K,f,l,e+12|0);M=K+8|0;L=c[M>>2]|0;Fg(L,y);c[M>>2]=L+24;yg(e,K);xg(K)}bg(y);b=b+4|0;break a}case 49:{lh(z,28351);f=e+4|0;j=c[f>>2]|0;k=c[e+8>>2]|0;if(j>>>0>>0){Fg(j,z);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;M=j-f|0;l=(M|0)/24|0;j=l+1|0;if((M|0)<-24)rg(e);f=(k-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f}else f=2147483647;wg(K,f,l,e+12|0);M=K+8|0;L=c[M>>2]|0;Fg(L,z);c[M>>2]=L+24;yg(e,K);xg(K)}bg(z);b=b+4|0;break a}default:break a}}case 99:{M=b+2|0;Ag(s,20502,4);e=jh(M,d,s,e)|0;lg(s);b=(e|0)==(M|0)?b:e;break a}case 97:{M=b+2|0;Ag(t,20507,11);e=jh(M,d,t,e)|0;lg(t);b=(e|0)==(M|0)?b:e;break a}case 104:{M=b+2|0;Ag(u,20519,13);e=jh(M,d,u,e)|0;lg(u);b=(e|0)==(M|0)?b:e;break a}case 115:{M=b+2|0;Ag(v,20533,5);e=jh(M,d,v,e)|0;lg(v);b=(e|0)==(M|0)?b:e;break a}case 116:{M=b+2|0;Ag(f,20539,14);e=jh(M,d,f,e)|0;lg(f);b=(e|0)==(M|0)?b:e;break a}case 105:{M=b+2|0;Ag(j,28262,0);e=jh(M,d,j,e)|0;lg(j);b=(e|0)==(M|0)?b:e;break a}case 106:{M=b+2|0;Ag(k,20554,1);e=jh(M,d,k,e)|0;lg(k);b=(e|0)==(M|0)?b:e;break a}case 108:{M=b+2|0;Ag(l,28257,1);e=jh(M,d,l,e)|0;lg(l);b=(e|0)==(M|0)?b:e;break a}case 109:{M=b+2|0;Ag(m,20556,2);e=jh(M,d,m,e)|0;lg(m);b=(e|0)==(M|0)?b:e;break a}case 120:{M=b+2|0;Ag(n,28259,2);e=jh(M,d,n,e)|0;lg(n);b=(e|0)==(M|0)?b:e;break a}case 121:{M=b+2|0;Ag(o,20559,3);e=jh(M,d,o,e)|0;lg(o);b=(e|0)==(M|0)?b:e;break a}case 110:{M=b+2|0;Ag(p,20563,8);e=jh(M,d,p,e)|0;lg(p);b=(e|0)==(M|0)?b:e;break a}case 111:{M=b+2|0;Ag(q,20572,17);e=jh(M,d,q,e)|0;lg(q);b=(e|0)==(M|0)?b:e;break a}case 102:{o=b+2|0;b:do if((x-o|0)>>>0>8){m=b+10|0;j=a[o>>0]|0;k=b;f=K;n=o;while(1){if(!(Fh(j<<24>>24)|0)){f=o;break b}l=a[n>>0]|0;k=a[k+3>>0]|0;a[f>>0]=(((k<<24>>24)+-48|0)>>>0<10?208:169)+(k&255)+(((l+-48|0)>>>0<10?0:9)+l<<4);l=n+2|0;k=f+1|0;j=a[l>>0]|0;if((l|0)==(m|0))break;else{I=n;f=k;n=l;k=I}}if(j<<24>>24==69){if((K|0)!=(k|0)&K>>>0>>0){j=K;do{I=a[j>>0]|0;a[j>>0]=a[f>>0]|0;a[f>>0]=I;j=j+1|0;f=f+-1|0}while(j>>>0>>0)}f=J;j=f+24|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(j|0));h[G>>3]=+g[K>>2];f=Di(J,24,20590,G)|0;if(f>>>0<=23){Ag(M,J,f);Mg(L,M);f=e+4|0;j=c[f>>2]|0;k=c[e+8>>2]|0;if(j>>>0>>0){Fg(j,L);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;K=j-f|0;l=(K|0)/24|0;j=l+1|0;if((K|0)<-24)rg(e);f=(k-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f}else f=2147483647;wg(G,f,l,e+12|0);K=G+8|0;J=c[K>>2]|0;Fg(J,L);c[K>>2]=J+24;yg(e,G);xg(G)}bg(L);lg(M);f=b+11|0}else f=o}else f=o}else f=o;while(0);b=(f|0)==(o|0)?b:f;break a}case 100:{o=b+2|0;c:do if((x-o|0)>>>0>16){m=b+18|0;j=a[o>>0]|0;k=b;f=K;n=o;while(1){if(!(Fh(j<<24>>24)|0)){f=o;break c}l=a[n>>0]|0;k=a[k+3>>0]|0;a[f>>0]=(((k<<24>>24)+-48|0)>>>0<10?208:169)+(k&255)+(((l+-48|0)>>>0<10?0:9)+l<<4);l=n+2|0;k=f+1|0;j=a[l>>0]|0;if((l|0)==(m|0))break;else{I=n;f=k;n=l;k=I}}if(j<<24>>24==69){if((K|0)!=(k|0)&K>>>0>>0){j=K;do{I=a[j>>0]|0;a[j>>0]=a[f>>0]|0;a[f>>0]=I;j=j+1|0;f=f+-1|0}while(j>>>0>>0)}f=J;j=f+32|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(j|0));h[H>>3]=+h[K>>3];f=Di(J,32,20594,H)|0;if(f>>>0<=31){Ag(M,J,f);Mg(L,M);f=e+4|0;j=c[f>>2]|0;k=c[e+8>>2]|0;if(j>>>0>>0){Fg(j,L);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;K=j-f|0;l=(K|0)/24|0;j=l+1|0;if((K|0)<-24)rg(e);f=(k-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f}else f=2147483647;wg(H,f,l,e+12|0);K=H+8|0;J=c[K>>2]|0;Fg(J,L);c[K>>2]=J+24;yg(e,H);xg(H)}bg(L);lg(M);f=b+19|0}else f=o}else f=o}else f=o;while(0);b=(f|0)==(o|0)?b:f;break a}case 101:{o=b+2|0;d:do if((x-o|0)>>>0>20){m=b+22|0;j=a[o>>0]|0;k=b;f=K;n=o;while(1){if(!(Fh(j<<24>>24)|0)){f=o;break d}l=a[n>>0]|0;k=a[k+3>>0]|0;a[f>>0]=(((k<<24>>24)+-48|0)>>>0<10?208:169)+(k&255)+(((l+-48|0)>>>0<10?0:9)+l<<4);l=n+2|0;k=f+1|0;j=a[l>>0]|0;if((l|0)==(m|0))break;else{H=n;f=k;n=l;k=H}}if(j<<24>>24==69){if((K|0)!=(k|0)&K>>>0>>0){j=K;do{H=a[j>>0]|0;a[j>>0]=a[f>>0]|0;a[f>>0]=H;j=j+1|0;f=f+-1|0}while(j>>>0>>0)}f=J;j=f+40|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(j|0));h[I>>3]=+h[K>>3];f=Di(J,40,20597,I)|0;if(f>>>0>39){f=o;break}Ag(M,J,f);Mg(L,M);f=e+4|0;j=c[f>>2]|0;k=c[e+8>>2]|0;if(j>>>0>>0){Fg(j,L);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;K=j-f|0;l=(K|0)/24|0;j=l+1|0;if((K|0)<-24)rg(e);f=(k-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f}else f=2147483647;wg(I,f,l,e+12|0);K=I+8|0;J=c[K>>2]|0;Fg(J,L);c[K>>2]=J+24;yg(e,I);xg(I)}bg(L);lg(M);f=b+23|0}else f=o}else f=o;while(0);b=(f|0)==(o|0)?b:f;break a}case 95:{if((a[b+2>>0]|0)!=90)break a;M=b+3|0;f=mg(M,d,e)|0;if((f|0)==(M|0)|(f|0)==(d|0))break a;i=N;return ((a[f>>0]|0)==69?f+1|0:b)|0}default:{n=pg(w,d,e)|0;if((n|0)==(w|0)|(n|0)==(d|0))break a;if((a[n>>0]|0)==69){b=n+1|0;break a}if((n|0)==(d|0))break a;else j=n;while(1){f=a[j>>0]|0;if(((f<<24>>24)+-48|0)>>>0>=10){m=j;break}j=j+1|0;if((j|0)==(d|0))break a}if(!((m|0)!=(n|0)&f<<24>>24==69))break a;f=c[e+4>>2]|0;if((c[e>>2]|0)==(f|0))break a;j=f+-24|0;Gg(E,j);k=ng(E,0,19444)|0;c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;k=og(D,19349)|0;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;k=m-n|0;if(k>>>0>4294967279)kf(F);if(k>>>0<11){a[F>>0]=k<<1;l=F+1|0}else{e=k+16&-16;l=ij(e)|0;c[F+8>>2]=l;c[F>>2]=e|1;c[F+4>>2]=k}if((n|0)!=(m|0)){b=n;f=l;while(1){a[f>>0]=a[b>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else f=f+1|0}}a[l+k>>0]=0;b=a[F>>0]|0;e=(b&1)==0;b=dg(C,e?F+1|0:c[F+8>>2]|0,e?(b&255)>>>1:c[F+4>>2]|0)|0;c[B>>2]=c[b>>2];c[B+4>>2]=c[b+4>>2];c[B+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Mg(A,B);Ng(j,A);bg(A);lg(B);lg(F);lg(C);lg(D);lg(E);b=m+1|0;break a}}while(0)}while(0);i=N;return b|0}function jh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;n=q+48|0;k=q+24|0;l=q+12|0;m=q;p=Cg(b,d)|0;if(!((p|0)==(b|0)|(p|0)==(d|0))?(a[p>>0]|0)==69:0){j=a[e>>0]|0;o=e+4|0;do if(((j&1)==0?(j&255)>>>1:c[o>>2]|0)>>>0>3){Rg(m,19444,e);d=og(m,19349)|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Mg(k,l);d=f+4|0;g=c[d>>2]|0;h=c[f+8>>2]|0;if(g>>>0>>0){Fg(g,k);c[d>>2]=(c[d>>2]|0)+24}else{d=c[f>>2]|0;r=g-d|0;j=(r|0)/24|0;g=j+1|0;if((r|0)<-24)rg(f);d=(h-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?g:d}else d=2147483647;wg(n,d,j,f+12|0);r=n+8|0;j=c[r>>2]|0;Fg(j,k);c[r>>2]=j+24;yg(f,n);xg(n)}bg(k);lg(l);lg(m)}else{d=f+4|0;g=c[d>>2]|0;h=c[f+8>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;r=g+12|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[d>>2]=(c[d>>2]|0)+24;break}d=c[f>>2]|0;r=g-d|0;j=(r|0)/24|0;g=j+1|0;if((r|0)<-24)rg(f);d=(h-d|0)/24|0;if(d>>>0<1073741823){d=d<<1;d=d>>>0>>0?g:d}else d=2147483647;wg(n,d,j,f+12|0);r=n+8|0;m=c[r>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;l=m+12|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[r>>2]=m+24;yg(f,n);xg(n)}while(0);g=f+4|0;if((a[b>>0]|0)==110){ch((c[g>>2]|0)+-24|0,45);b=b+1|0}bh((c[g>>2]|0)+-24|0,b,p);b=a[e>>0]|0;d=(b&1)==0;b=d?(b&255)>>>1:c[o>>2]|0;if(b>>>0<4)dg((c[g>>2]|0)+-24|0,d?e+1|0:c[e+8>>2]|0,b)|0;b=p+1|0}i=q;return b|0}function kh(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=10;e=b+1|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;a[e+3>>0]=a[d+3>>0]|0;a[e+4>>0]=a[d+4>>0]|0;a[b+6>>0]=0;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function lh(b,e){b=b|0;e=e|0;var f=0;a[b>>0]=8;f=b+1|0;e=d[e>>0]|d[e+1>>0]<<8|d[e+2>>0]<<16|d[e+3>>0]<<24;a[f>>0]=e;a[f+1>>0]=e>>8;a[f+2>>0]=e>>16;a[f+3>>0]=e>>24;a[b+5>>0]=0;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function mh(a,b){a=a|0;b=b|0;var d=0,e=0;d=b+15&-16;e=a+4096|0;b=c[e>>2]|0;if((a+4096-b|0)>>>0>>0)b=ij(d)|0;else c[e>>2]=b+d;return b|0}function nh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+128|0;q=r+108|0;f=r+104|0;n=r+80|0;o=r+64|0;p=r+52|0;g=r+48|0;j=r+24|0;k=r+12|0;l=r;a:do if((d-b|0)>2?(a[b>>0]|0)==102:0){switch(a[b+1>>0]|0){case 112:{f=qg(b+2|0,d,f)|0;h=Cg(f,d)|0;if((h|0)==(d|0))break a;if((a[h>>0]|0)!=95)break a;g=h-f|0;if(g>>>0>4294967279)kf(p);if(g>>>0<11){a[p>>0]=g<<1;d=p+1|0}else{m=g+16&-16;d=ij(m)|0;c[p+8>>2]=d;c[p>>2]=m|1;c[p+4>>2]=g}if((f|0)!=(h|0)){b=f;f=d;while(1){a[f>>0]=a[b>>0]|0;b=b+1|0;if((b|0)==(h|0))break;else f=f+1|0}}a[d+g>>0]=0;b=ng(p,0,20862)|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Mg(n,o);b=e+4|0;f=c[b>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,n);c[b>>2]=(c[b>>2]|0)+24}else{b=c[e>>2]|0;m=f-b|0;d=(m|0)/24|0;f=d+1|0;if((m|0)<-24)rg(e);b=(g-b|0)/24|0;if(b>>>0<1073741823){b=b<<1;b=b>>>0>>0?f:b}else b=2147483647;wg(q,b,d,e+12|0);m=q+8|0;l=c[m>>2]|0;Fg(l,n);c[m>>2]=l+24;yg(e,q);xg(q)}bg(n);lg(o);lg(p);b=h+1|0;break a}case 76:break;default:break a}f=Cg(b+2|0,d)|0;if((((f|0)!=(d|0)?(a[f>>0]|0)==112:0)?(h=qg(f+1|0,d,g)|0,m=Cg(h,d)|0,(m|0)!=(d|0)):0)?(a[m>>0]|0)==95:0){g=m-h|0;if(g>>>0>4294967279)kf(l);if(g>>>0<11){a[l>>0]=g<<1;d=l+1|0}else{p=g+16&-16;d=ij(p)|0;c[l+8>>2]=d;c[l>>2]=p|1;c[l+4>>2]=g}if((h|0)!=(m|0)){b=h;f=d;while(1){a[f>>0]=a[b>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else f=f+1|0}}a[d+g>>0]=0;b=ng(l,0,20862)|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Mg(j,k);b=e+4|0;f=c[b>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,j);c[b>>2]=(c[b>>2]|0)+24}else{b=c[e>>2]|0;p=f-b|0;d=(p|0)/24|0;f=d+1|0;if((p|0)<-24)rg(e);b=(g-b|0)/24|0;if(b>>>0<1073741823){b=b<<1;b=b>>>0>>0?f:b}else b=2147483647;wg(q,b,d,e+12|0);p=q+8|0;o=c[p>>2]|0;Fg(o,j);c[p>>2]=o+24;yg(e,q);xg(q)}bg(j);lg(k);lg(l);b=m+1|0}}while(0);i=r;return b|0}function oh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+96|0;r=s+84|0;q=s+72|0;k=s+60|0;l=s+48|0;m=s+36|0;n=s+24|0;o=s+12|0;p=s;g=Eg(b,d,f)|0;a:do if((g|0)!=(b|0)){d=Eg(g,d,f)|0;j=f+4|0;h=c[j>>2]|0;if((d|0)==(g|0)){g=h+-24|0;d=h;while(1){r=d+-24|0;c[j>>2]=r;bg(r);d=c[j>>2]|0;if((d|0)==(g|0)){d=b;break a}}}if(((h-(c[f>>2]|0)|0)/24|0)>>>0>=2){Gg(r,h+-24|0);g=c[j>>2]|0;h=g+-24|0;f=g;do{b=f+-24|0;c[j>>2]=b;bg(b);f=c[j>>2]|0}while((f|0)!=(h|0));Gg(q,g+-48|0);g=c[j>>2]|0;b=g+-24|0;if(!(a[b>>0]&1)){a[b+1>>0]=0;a[b>>0]=0}else{a[c[g+-16>>2]>>0]=0;c[g+-20>>2]=0}u=a[e>>0]|0;j=(u&1)==0;g=e+4|0;u=j?(u&255)>>>1:c[g>>2]|0;h=e+8|0;f=e+1|0;t=u>>>0>1;j=Pi(j?f:c[h>>2]|0,19508,t?1:u)|0;if(!(((j|0)==0?((u|0)==0?-1:t&1):j)|0))ch(b,40);Rg(p,19444,q);u=og(p,20720)|0;c[o>>2]=c[u>>2];c[o+4>>2]=c[u+4>>2];c[o+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=a[e>>0]|0;t=(u&1)==0;u=dg(o,t?f:c[h>>2]|0,t?(u&255)>>>1:c[g>>2]|0)|0;c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=og(n,19346)|0;c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=a[r>>0]|0;t=(u&1)==0;u=dg(m,t?r+1|0:c[r+8>>2]|0,t?(u&255)>>>1:c[r+4>>2]|0)|0;c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];c[l+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=og(l,19349)|0;c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=a[k>>0]|0;t=(u&1)==0;dg(b,t?k+1|0:c[k+8>>2]|0,t?(u&255)>>>1:c[k+4>>2]|0)|0;lg(k);lg(l);lg(m);lg(n);lg(o);lg(p);e=a[e>>0]|0;u=(e&1)==0;e=u?(e&255)>>>1:c[g>>2]|0;t=e>>>0>1;u=Pi(u?f:c[h>>2]|0,19508,t?1:e)|0;if(!(((u|0)==0?((e|0)==0?-1:t&1):u)|0))ch(b,41);lg(q);lg(r)}else d=b}else d=b;while(0);i=s;return d|0}function ph(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;p=s+24|0;q=s+12|0;r=s;d=Eg(b,d,f)|0;if((d|0)!=(b|0)?(g=f+4|0,h=c[g>>2]|0,(c[f>>2]|0)!=(h|0)):0){n=h+-24|0;Lg(q,e,19444);Gg(r,(c[g>>2]|0)+-24|0);m=a[r>>0]|0;l=(m&1)==0;m=dg(q,l?r+1|0:c[r+8>>2]|0,l?(m&255)>>>1:c[r+4>>2]|0)|0;c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;m=og(p,19349)|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;do if(a[n>>0]&1){m=h+-16|0;a[c[m>>2]>>0]=0;j=h+-20|0;c[j>>2]=0;f=a[n>>0]|0;if(!(f&1))h=10;else{h=c[n>>2]|0;f=h&255;h=(h&-2)+-1|0}if(!(f&1)){b=(f&255)>>>1;if((f&255)<22){e=10;k=b;l=1}else{e=(b+16&240)+-1|0;k=b;l=1}}else{e=10;k=0;l=0}if((e|0)!=(h|0)){if((e|0)==10){g=n+1|0;b=c[m>>2]|0;if(l){pt(g|0,b|0,((f&255)>>>1)+1|0)|0;jj(b)}else{a[g>>0]=a[b>>0]|0;jj(b)}a[n>>0]=k<<1;break}b=e+1|0;g=ij(b)|0;if(!(e>>>0<=h>>>0&(g|0)==0)){if(l)pt(g|0,n+1|0,((f&255)>>>1)+1|0)|0;else{l=c[m>>2]|0;a[g>>0]=a[l>>0]|0;jj(l)}c[n>>2]=b|1;c[j>>2]=k;c[m>>2]=g}}}else{a[n+1>>0]=0;a[n>>0]=0}while(0);c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;lg(o);lg(p);lg(r);lg(q)}else d=b;i=s;return d|0}function qh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+144|0;m=x+132|0;s=x+120|0;r=x+108|0;w=x+96|0;v=x+84|0;l=x+72|0;o=x+60|0;n=x+48|0;q=x+36|0;p=x+24|0;u=x+12|0;t=x;g=d;a:do if((g-b|0)>2){if((a[b>>0]|0)==103){j=(a[b+1>>0]|0)==115;k=j;j=j?b+2|0:b}else{k=0;j=b}f=rh(j,d,e)|0;if((f|0)!=(j|0)){if(!k)break;g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break}ng(g+-24|0,0,19632)|0;break}if(((g-j|0)>2?(a[j>>0]|0)==115:0)?(a[j+1>>0]|0)==114:0){h=j+2|0;if((a[h>>0]|0)==78){u=j+3|0;f=sh(u,d,e)|0;if((f|0)==(u|0)|(f|0)==(d|0)){f=b;break}j=Jg(f,d,e)|0;o=e+4|0;do if((j|0)==(f|0))n=e;else{f=c[o>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Gg(m,f+-24|0);f=c[o>>2]|0;g=f+-24|0;h=f;do{u=h+-24|0;c[o>>2]=u;bg(u);h=c[o>>2]|0}while((h|0)!=(g|0));u=a[m>>0]|0;t=(u&1)==0;dg(f+-48|0,t?m+1|0:c[m+8>>2]|0,t?(u&255)>>>1:c[m+4>>2]|0)|0;if((j|0)!=(d|0)){lg(m);n=e;f=j;break}g=c[o>>2]|0;f=g+-24|0;do{e=g+-24|0;c[o>>2]=e;bg(e);g=c[o>>2]|0}while((g|0)!=(f|0));lg(m);f=b;break a}while(0);k=r+8|0;l=r+1|0;m=r+4|0;if((a[f>>0]|0)!=69){g=f;while(1){f=th(g,d,e)|0;if((f|0)==(g|0)|(f|0)==(d|0)){f=b;break a}g=c[o>>2]|0;if(((g-(c[n>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Gg(s,g+-24|0);g=c[o>>2]|0;h=g+-24|0;j=g;do{u=j+-24|0;c[o>>2]=u;bg(u);j=c[o>>2]|0}while((j|0)!=(h|0));u=ng(s,0,19632)|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;u=a[r>>0]|0;t=(u&1)==0;dg(g+-48|0,t?l:c[k>>2]|0,t?(u&255)>>>1:c[m>>2]|0)|0;lg(r);lg(s);if((a[f>>0]|0)==69)break;else g=f}}u=f+1|0;f=rh(u,d,e)|0;if((f|0)==(u|0)){f=c[o>>2]|0;if((c[n>>2]|0)==(f|0)){f=b;break}g=f+-24|0;while(1){e=f+-24|0;c[o>>2]=e;bg(e);f=c[o>>2]|0;if((f|0)==(g|0)){f=b;break a}}}g=c[o>>2]|0;if(((g-(c[n>>2]|0)|0)/24|0)>>>0<2){f=b;break}Gg(w,g+-24|0);g=c[o>>2]|0;h=g+-24|0;j=g;do{b=j+-24|0;c[o>>2]=b;bg(b);j=c[o>>2]|0}while((j|0)!=(h|0));b=ng(w,0,19632)|0;c[v>>2]=c[b>>2];c[v+4>>2]=c[b+4>>2];c[v+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[v>>0]|0;e=(b&1)==0;dg(g+-48|0,e?v+1|0:c[v+8>>2]|0,e?(b&255)>>>1:c[v+4>>2]|0)|0;lg(v);lg(w);break}g=sh(h,d,e)|0;if((g|0)!=(h|0)){k=Jg(g,d,e)|0;if((k|0)!=(g|0)){j=e+4|0;f=c[j>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break}Gg(l,f+-24|0);f=c[j>>2]|0;g=f+-24|0;h=f;do{w=h+-24|0;c[j>>2]=w;bg(w);h=c[j>>2]|0}while((h|0)!=(g|0));g=a[l>>0]|0;w=(g&1)==0;dg(f+-48|0,w?l+1|0:c[l+8>>2]|0,w?(g&255)>>>1:c[l+4>>2]|0)|0;lg(l);g=k}f=rh(g,d,e)|0;if((f|0)==(g|0)){h=e+4|0;f=c[h>>2]|0;if((c[e>>2]|0)==(f|0)){f=b;break}g=f+-24|0;while(1){e=f+-24|0;c[h>>2]=e;bg(e);f=c[h>>2]|0;if((f|0)==(g|0)){f=b;break a}}}k=e+4|0;g=c[k>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break}Gg(o,g+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{b=j+-24|0;c[k>>2]=b;bg(b);j=c[k>>2]|0}while((j|0)!=(h|0));b=ng(o,0,19632)|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[n>>0]|0;e=(b&1)==0;dg(g+-48|0,e?n+1|0:c[n+8>>2]|0,e?(b&255)>>>1:c[n+4>>2]|0)|0;lg(n);lg(o);break}f=th(h,d,e)|0;if(!((f|0)==(h|0)|(f|0)==(d|0))){if(k){g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==(h|0)){f=b;break}ng(h+-24|0,0,19632)|0;o=g;n=e}else{o=e+4|0;n=e}k=p+8|0;l=p+1|0;m=p+4|0;if((a[f>>0]|0)!=69)while(1){j=th(f,d,e)|0;if((j|0)==(f|0)|(j|0)==(d|0)){f=b;break a}f=c[o>>2]|0;if(((f-(c[n>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Gg(q,f+-24|0);f=c[o>>2]|0;g=f+-24|0;h=f;do{w=h+-24|0;c[o>>2]=w;bg(w);h=c[o>>2]|0}while((h|0)!=(g|0));w=ng(q,0,19632)|0;c[p>>2]=c[w>>2];c[p+4>>2]=c[w+4>>2];c[p+8>>2]=c[w+8>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;w=a[p>>0]|0;v=(w&1)==0;dg(f+-48|0,v?l:c[k>>2]|0,v?(w&255)>>>1:c[m>>2]|0)|0;lg(p);lg(q);if((a[j>>0]|0)==69){f=j;break}else f=j}w=f+1|0;f=rh(w,d,e)|0;if((f|0)==(w|0)){f=c[o>>2]|0;if((c[n>>2]|0)==(f|0)){f=b;break}g=f+-24|0;while(1){e=f+-24|0;c[o>>2]=e;bg(e);f=c[o>>2]|0;if((f|0)==(g|0)){f=b;break a}}}g=c[o>>2]|0;if(((g-(c[n>>2]|0)|0)/24|0)>>>0>=2){Gg(u,g+-24|0);g=c[o>>2]|0;h=g+-24|0;j=g;do{b=j+-24|0;c[o>>2]=b;bg(b);j=c[o>>2]|0}while((j|0)!=(h|0));b=ng(u,0,19632)|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[t>>0]|0;e=(b&1)==0;dg(g+-48|0,e?t+1|0:c[t+8>>2]|0,e?(b&255)>>>1:c[t+4>>2]|0)|0;lg(t);lg(u)}else f=b}else f=b}else f=b}else f=b;while(0);i=x;return f|0}function rh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+12|0;k=l;a:do if((d-b|0)>1){f=a[b>>0]|0;switch(f<<24>>24){case 100:case 111:{if((a[b+1>>0]|0)==110){h=b+2|0;if(f<<24>>24==111){f=eh(h,d,e)|0;if((f|0)==(h|0)){f=b;break a}b=Jg(f,d,e)|0;if((b|0)==(f|0))break a;d=e+4|0;f=c[d>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Gg(j,f+-24|0);f=c[d>>2]|0;g=f+-24|0;h=f;do{e=h+-24|0;c[d>>2]=e;bg(e);h=c[d>>2]|0}while((h|0)!=(g|0));e=a[j>>0]|0;k=(e&1)==0;dg(f+-48|0,k?j+1|0:c[j+8>>2]|0,k?(e&255)>>>1:c[j+4>>2]|0)|0;lg(j);f=b;break a}if((h|0)!=(d|0)){f=sh(h,d,e)|0;if((f|0)==(h|0))f=th(h,d,e)|0;if((f|0)!=(h|0)?(g=c[e+4>>2]|0,(c[e>>2]|0)!=(g|0)):0)ng(g+-24|0,0,19658)|0;else f=h}else f=d;i=l;return ((f|0)==(h|0)?b:f)|0}break}default:{}}f=th(b,d,e)|0;if((f|0)==(b|0)){f=eh(b,d,e)|0;if((f|0)!=(b|0)){b=Jg(f,d,e)|0;if((b|0)!=(f|0)){d=e+4|0;f=c[d>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2)f=b;else{Gg(k,f+-24|0);f=c[d>>2]|0;g=f+-24|0;h=f;do{e=h+-24|0;c[d>>2]=e;bg(e);h=c[d>>2]|0}while((h|0)!=(g|0));e=a[k>>0]|0;j=(e&1)==0;dg(f+-48|0,j?k+1|0:c[k+8>>2]|0,j?(e&255)>>>1:c[k+4>>2]|0)|0;lg(k);f=b}}}else f=b}}else f=b;while(0);i=l;return f|0}function sh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+96|0;o=p+72|0;n=p+56|0;k=p+48|0;l=p+32|0;g=p+24|0;m=p+8|0;h=p;a:do if((b|0)==(d|0))f=b;else switch(a[b>>0]|0){case 84:{j=e+4|0;h=((c[j>>2]|0)-(c[e>>2]|0)|0)/24|0;f=Ig(b,d,e)|0;g=c[j>>2]|0;d=(g-(c[e>>2]|0)|0)/24|0;if(!((f|0)!=(b|0)&(d|0)==(h+1|0))){if((d|0)==(h|0)){f=b;break a}while(1){f=g;g=g+-24|0;do{e=f+-24|0;c[j>>2]=e;bg(e);f=c[j>>2]|0}while((f|0)!=(g|0));d=d+-1|0;if((d|0)==(h|0)){f=b;break a}}}b=e+16|0;c[k>>2]=c[e+12>>2];Hg(n,g+-24|0,k);d=e+20|0;g=c[d>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g+12>>2]=c[n+12>>2];c[g>>2]=c[n>>2];e=n+4|0;c[g+4>>2]=c[e>>2];o=n+8|0;c[g+8>>2]=c[o>>2];c[o>>2]=0;c[e>>2]=0;c[n>>2]=0;c[d>>2]=(c[d>>2]|0)+16}else{d=c[b>>2]|0;m=g-d|0;j=m>>4;g=j+1|0;if((m|0)<-16)rg(b);d=h-d|0;if(d>>4>>>0<1073741823){d=d>>3;d=d>>>0>>0?g:d}else d=2147483647;sg(o,d,j,e+28|0);e=o+8|0;m=c[e>>2]|0;c[m+12>>2]=c[n+12>>2];c[m>>2]=c[n>>2];l=n+4|0;c[m+4>>2]=c[l>>2];k=n+8|0;c[m+8>>2]=c[k>>2];c[k>>2]=0;c[l>>2]=0;c[n>>2]=0;c[e>>2]=m+16;tg(b,o);ug(o)}cg(n);break a}case 68:{f=Qg(b,d,e)|0;if((f|0)==(b|0)){f=b;break a}d=c[e+4>>2]|0;if((c[e>>2]|0)==(d|0)){f=b;break a}b=e+16|0;c[g>>2]=c[e+12>>2];Hg(l,d+-24|0,g);d=e+20|0;g=c[d>>2]|0;j=c[e+24>>2]|0;if(g>>>0>>0){c[g+12>>2]=c[l+12>>2];c[g>>2]=c[l>>2];e=l+4|0;c[g+4>>2]=c[e>>2];o=l+8|0;c[g+8>>2]=c[o>>2];c[o>>2]=0;c[e>>2]=0;c[l>>2]=0;c[d>>2]=(c[d>>2]|0)+16}else{d=c[b>>2]|0;n=g-d|0;h=n>>4;g=h+1|0;if((n|0)<-16)rg(b);d=j-d|0;if(d>>4>>>0<1073741823){d=d>>3;d=d>>>0>>0?g:d}else d=2147483647;sg(o,d,h,e+28|0);e=o+8|0;n=c[e>>2]|0;c[n+12>>2]=c[l+12>>2];c[n>>2]=c[l>>2];m=l+4|0;c[n+4>>2]=c[m>>2];k=l+8|0;c[n+8>>2]=c[k>>2];c[k>>2]=0;c[m>>2]=0;c[l>>2]=0;c[e>>2]=n+16;tg(b,o);ug(o)}cg(l);break a}case 83:{f=Pg(b,d,e)|0;if((f|0)!=(b|0))break a;if((d-b|0)<=2){f=b;break a}if((a[b+1>>0]|0)!=116){f=b;break a}n=b+2|0;f=_g(n,d,e)|0;if((f|0)==(n|0)){f=b;break a}g=e+4|0;d=c[g>>2]|0;if((c[e>>2]|0)==(d|0)){f=b;break a}ng(d+-24|0,0,19652)|0;b=e+16|0;d=(c[g>>2]|0)+-24|0;c[h>>2]=c[e+12>>2];Hg(m,d,h);d=e+20|0;g=c[d>>2]|0;h=c[e+24>>2]|0;if(g>>>0>>0){c[g+12>>2]=c[m+12>>2];c[g>>2]=c[m>>2];e=m+4|0;c[g+4>>2]=c[e>>2];o=m+8|0;c[g+8>>2]=c[o>>2];c[o>>2]=0;c[e>>2]=0;c[m>>2]=0;c[d>>2]=(c[d>>2]|0)+16}else{d=c[b>>2]|0;n=g-d|0;j=n>>4;g=j+1|0;if((n|0)<-16)rg(b);d=h-d|0;if(d>>4>>>0<1073741823){d=d>>3;d=d>>>0>>0?g:d}else d=2147483647;sg(o,d,j,e+28|0);e=o+8|0;n=c[e>>2]|0;c[n+12>>2]=c[m+12>>2];c[n>>2]=c[m>>2];l=m+4|0;c[n+4>>2]=c[l>>2];k=m+8|0;c[n+8>>2]=c[k>>2];c[k>>2]=0;c[l>>2]=0;c[m>>2]=0;c[e>>2]=n+16;tg(b,o);ug(o)}cg(m);break a}default:{f=b;break a}}while(0);i=p;return f|0}function th(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;if((b|0)!=(d|0)?(f=Kg(b,d,e)|0,(f|0)!=(b|0)):0){h=Jg(f,d,e)|0;if((h|0)!=(f|0)){g=e+4|0;f=c[g>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2)f=b;else{Gg(j,f+-24|0);f=c[g>>2]|0;d=f+-24|0;e=f;do{b=e+-24|0;c[g>>2]=b;bg(b);e=c[g>>2]|0}while((e|0)!=(d|0));g=a[j>>0]|0;b=(g&1)==0;dg(f+-48|0,b?j+1|0:c[j+8>>2]|0,b?(g&255)>>>1:c[j+4>>2]|0)|0;lg(j);f=h}}}else f=b;i=k;return f|0}function uh(a){a=a|0;Da(20865,19033,1175,20894)}function vh(b,d){b=b|0;d=d|0;var e=0;a[b>>0]=6;e=b+1|0;a[e>>0]=a[d>>0]|0;a[e+1>>0]=a[d+1>>0]|0;a[e+2>>0]=a[d+2>>0]|0;a[b+4>>0]=0;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function wh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;a[b>>0]=16;f=e;h=f;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;f=f+4|0;f=d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24;e=b+1|0;g=e;a[g>>0]=h;a[g+1>>0]=h>>8;a[g+2>>0]=h>>16;a[g+3>>0]=h>>24;e=e+4|0;a[e>>0]=f;a[e+1>>0]=f>>8;a[e+2>>0]=f>>16;a[e+3>>0]=f>>24;a[b+9>>0]=0;b=b+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function xh(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;a:do if((b|0)!=(c|0)){switch(a[b>>0]|0){case 104:{e=b+1|0;d=Cg(e,c)|0;if((d|0)==(e|0)|(d|0)==(c|0))break a;b=(a[d>>0]|0)==95?d+1|0:b;break a}case 118:break;default:break a}f=b+1|0;d=Cg(f,c)|0;if((!((d|0)==(f|0)|(d|0)==(c|0))?(a[d>>0]|0)==95:0)?(f=d+1|0,e=Cg(f,c)|0,!((e|0)==(f|0)|(e|0)==(c|0))):0)return ((a[e>>0]|0)==95?e+1|0:b)|0}while(0);return b|0}function yh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=Mi(a,b,c)|0;return a|0}function zh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=Ni(a,b,c)|0;return a|0}function Ah(){return 4100}function Bh(){return 4104}function Ch(){return 4108}function Dh(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Eh(a){a=a|0;return (a+-65|0)>>>0<26|0}function Fh(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6;return a&1|0}function Gh(){var a=0;if(!(c[959]|0))a=4112;else a=c[(Ta()|0)+60>>2]|0;return a|0}function Hh(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[21558+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=21646;e=5;break}}if((e|0)==2)if(!c)b=21646;else{b=21646;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function Ih(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;C=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Lh(b)|0}while((Dh(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=Lh(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[23450+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Lh(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[26327+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=Lh(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Lh(b)|0;if((e|0)==40)e=1;else{if(!(c[C>>2]|0)){g=s;break a}c[E>>2]=(c[E>>2]|0)+-1;g=s;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=Lh(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(Gh()|0)>>2]=22;Kh(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Lh(b)|0;if((e|32|0)!=120){if(!(c[C>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=Lh(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Lh(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Lh(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Lh(b)|0;k=nt(k|0,h|0,-1,-1)|0;h=D}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){r=m*.0625;p=w;j=r;g=g+r*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=nt(l|0,y|0,1,0)|0;v=x;u=D;n=1}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=Lh(b)|0;w=p;m=j;continue}}if(!n){e=(c[C>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else Kh(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=nt(l|0,h|0,1,0)|0;h=D}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=Yi(b,f)|0;e=D;if((h|0)==0&(e|0)==-2147483648){if(!f){Kh(b,0);g=0.0;break a}if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=qt(o|0,n|0,2)|0;H=nt(H|0,D|0,-32,-1)|0;e=nt(H|0,D|0,h|0,e|0)|0;h=D;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(Gh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0>>0){c[(Gh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=nt(e|0,h|0,-1,-1)|0;h=D}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=lt(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=nt(l|0,h|0,e|0,D|0)|0;J=D;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+Wh(+$h(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(Gh()|0)>>2]=34;g=+ai(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=Lh(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Lh(b)|0;if((e|0)==48){h=0;e=0;while(1){h=nt(h|0,e|0,-1,-1)|0;k=D;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Lh(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=nt(y|0,v|0,1,0)|0;v=D;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=Lh(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=Yi(b,f)|0;e=D;if((n|0)==0&(e|0)==-2147483648){if(!f){Kh(b,0);g=0.0;break}if(!(c[C>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=nt(n|0,e|0,h|0,p|0)|0;u=y;p=D;n=v;A=173}while(0);if((A|0)==169)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(Gh()|0)>>2]=22;Kh(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(Gh()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0>>0){c[(Gh()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[4116+(8-h<<2)>>2]|0);break}b=K+27+($(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[4116+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[4116+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{C=H+(p<<2)|0;E=c[C>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[C>>2]=b;e=$((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=qt(c[p>>2]|0,0,29)|0;o=nt(o|0,D|0,n|0,0)|0;n=D;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=yt(o|0,n|0,1e9,0)|0;o=zt(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=$(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}r=+(I|0);j=r*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+Wh(+$h(1.0,105-o|0),j);m=+Yh(j,+$h(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=r*.75+g;break}if((k+3&127|0)==(l|0)){g=r*.5+g;break}else{g=r*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=r*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Yh(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+O(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(Gh()|0)>>2]=34}while(0);g=+ai(g,e)}while(0);break a}default:{if(c[C>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(Gh()|0)>>2]=22;Kh(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*t}while(0);i=L;return +g}function Jh(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(Gh()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Lh(b)|0}while((Dh(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=Lh(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e&-17|0)==0&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Lh(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Lh(b)|0;if((d[23459+(i+1)>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){Kh(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[23459+(i+1)>>0]|0)>>>0>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;Kh(b,0);c[(Gh()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=Lh(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=xt(e|0,j|0,10,0)|0;l=D;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=nt(k|0,l|0,f|0,m|0)|0;j=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Lh(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[23716+((e*23|0)>>>5&7)>>0]|0;j=a[23459+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f|i<>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Lh(b)|0;j=a[23459+(i+1)>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0>>0))break;else i=k}f=0}else{f=0;k=0}l=ot(-1,-1,n|0)|0;m=D;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=qt(k|0,i|0,n|0)|0;f=D;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Lh(b)|0;j=a[23459+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[23459+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f+($(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Lh(b)|0;j=a[23459+(i+1)>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0>>0){n=yt(-1,-1,e|0,0)|0;o=D;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=xt(k|0,m|0,e|0,0)|0;l=D;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=nt(j|0,0,f|0,l|0)|0;f=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Lh(b)|0;j=a[23459+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[23459+(i+1)>>0]|0)>>>0>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=Lh(b)|0}while((d[23459+(i+1)>>0]|0)>>>0>>0);c[(Gh()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0>>0|(j|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(Gh()|0)>>2]=34;g=nt(g|0,h|0,-1,-1)|0;h=D;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(Gh()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=lt(i^e|0,j^g|0,e|0,g|0)|0;h=D}while(0);D=h;return g|0}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function Lh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=wi(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Mh(a){a=a|0;if(a>>>0>4294963200){c[(Gh()|0)>>2]=0-a;a=-1}return a|0}function Nh(a){a=a|0;return 0}function Oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function Ph(a,b){a=a|0;b=b|0;return -1|0}function Qh(a){a=a|0;jj(a);return}function Rh(a,b){a=a|0;b=b|0;return (a+-48|0)>>>0<10|0}function Sh(a,b){a=a|0;b=b|0;return Fh(a)|0}function Th(b,c,d){b=b|0;c=c|0;d=d|0;if(((a[c>>0]|0)!=0?(Ri(c,28249)|0)!=0:0)?(Ri(c,23725)|0)!=0:0)d=0;else if(!d)d=kj(1,4)|0;return d|0}function Uh(a){a=a|0;var b=0,d=0;b=(Ta()|0)+176|0;d=c[b>>2]|0;if(a)c[b>>2]=a;return d|0}function Vh(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return +(+h[k>>3])}function Wh(a,b){a=+a;b=+b;return +(+Vh(a,b))}function Xh(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=ot(d|0,m|0,52)|0;e=e&2047;j=ot(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=qt(n|0,o|0,1)|0;l=D;a:do if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=qt(d|0,m|0,1)|0;g=D;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=qt(d|0,m|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=qt(g|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=qt(d|0,m|0,1-e|0)|0;f=D}else f=m&1048575|1048576;if(!j){g=qt(n|0,o|0,12)|0;i=D;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=qt(g|0,i|0,1)|0;i=D}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=qt(n|0,o|0,1-j|0)|0;m=D}else m=o&1048575|1048576;l=lt(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=qt(d|0,f|0,1)|0;f=D;e=e+-1|0;l=lt(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=qt(d|0,f|0,1)|0;f=D;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=nt(d|0,f|0,0,-1048576)|0;d=D;e=qt(e|0,0,52)|0;d=d|D;e=o|e}else{e=ot(d|0,f|0,1-e|0)|0;d=D}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function Yh(a,b){a=+a;b=+b;return +(+Xh(a,b))}function Zh(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=ot(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Zh(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function _h(a,b){a=+a;b=b|0;return +(+Zh(a,b))}function $h(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=qt(d+1023|0,0,52)|0;b=D;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function ai(a,b){a=+a;b=b|0;return +(+$h(a,b))}function bi(a,b,c){a=a|0;b=b|0;c=c|0;return ci(0,a,b,(c|0)!=0?c:4148)|0}function ci(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?4152:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[3880+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(Gh()|0)>>2]=84;f=-1}i=l;return f|0}function di(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function ei(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+1040|0;l=o+8|0;n=o;k=c[b>>2]|0;c[n>>2]=k;m=(a|0)!=0;e=m?e:256;a=m?a:l;g=k;a:do if((e|0)!=0&(k|0)!=0){j=e;k=g;e=0;while(1){g=d>>>2;h=g>>>0>=j>>>0;if(!(d>>>0>131|h)){g=k;break a}g=h?j:g;d=d-g|0;g=fi(a,n,g,f)|0;if((g|0)==-1){e=d;break}p=(a|0)==(l|0);k=p?0:g;h=j-k|0;a=p?a:a+(g<<2)|0;e=g+e|0;g=c[n>>2]|0;if((j|0)!=(k|0)&(g|0)!=0){j=h;k=g}else{j=h;break a}}d=e;j=0;g=c[n>>2]|0;e=-1}else{j=e;e=0}while(0);b:do if((g|0)!=0?(j|0)!=0&(d|0)!=0:0){h=g;g=a;while(1){a=ci(g,h,d,f)|0;if((a+2|0)>>>0<3)break;h=(c[n>>2]|0)+a|0;c[n>>2]=h;j=j+-1|0;e=e+1|0;if(!((j|0)!=0&(d|0)!=(a|0)))break b;else{d=d-a|0;g=g+4|0}}switch(a|0){case -1:{e=-1;break b}case 0:{c[n>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[n>>2];i=o;return e|0}function fi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){g=f;j=h;m=16}else{c[g>>2]=0;l=b;g=f;k=i;m=37}else if(!b){g=f;m=7}else{i=b;g=f;m=6}a:while(1)if((m|0)==6){if(!g){m=26;break}else b=i;while(1){i=a[h>>0]|0;do if(((i&255)+-1|0)>>>0<127?g>>>0>4&(h&3|0)==0:0){j=h;while(1){h=c[j>>2]|0;if((h+-16843009|h)&-2139062144){i=h;h=j;m=32;break}c[b>>2]=h&255;c[b+4>>2]=d[j+1>>0];c[b+8>>2]=d[j+2>>0];h=j+4|0;i=b+16|0;c[b+12>>2]=d[j+3>>0];g=g+-4|0;if(g>>>0>4){b=i;j=h}else{m=31;break}}if((m|0)==31){b=i;i=a[h>>0]|0;break}else if((m|0)==32){i=i&255;break}}while(0);i=i&255;if((i+-1|0)>>>0>=127)break;h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g){m=26;break a}else b=b+4|0}i=i+-194|0;if(i>>>0>50){m=48;break}l=b;k=c[3880+(i<<2)>>2]|0;h=h+1|0;m=37;continue}else if((m|0)==7){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){i=c[h>>2]|0;if(!((i+-16843009|i)&-2139062144))do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(((i+-16843009|i)&-2139062144|0)==0);i=i&255}i=i&255;if((i+-1|0)>>>0<127){g=g+-1|0;h=h+1|0;m=7;continue}i=i+-194|0;if(i>>>0>50){m=48;break}i=c[3880+(i<<2)>>2]|0;j=h+1|0;m=16;continue}else if((m|0)==16){m=(d[j>>0]|0)>>>3;if((m+-16|m+(i>>26))>>>0>7){m=17;break}h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){m=20;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){m=23;break}h=j+3|0}}g=g+-1|0;m=7;continue}else if((m|0)==37){i=d[h>>0]|0;m=i>>>3;if((m+-16|m+(k>>26))>>>0>7){m=38;break}j=h+1|0;b=i+-128|k<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=41;break}j=h+2|0;b=i+-128|b<<6;if((b|0)<0){i=d[j>>0]|0;if((i&192|0)!=128){m=44;break}b=i+-128|b<<6;h=h+3|0}else h=j}else h=j;c[l>>2]=b;i=l+4|0;g=g+-1|0;m=6;continue}if((m|0)==17){h=j+-1|0;m=47}else if((m|0)==20){h=j+-1|0;m=47}else if((m|0)==23){h=j+-1|0;m=47}else if((m|0)==26)c[e>>2]=h;else if((m|0)==38){b=l;i=k;h=h+-1|0;m=47}else if((m|0)==41){g=l;f=h+-1|0;m=52}else if((m|0)==44){g=l;f=h+-1|0;m=52}if((m|0)==47)if(!i)m=48;else{g=b;f=h;m=52}if((m|0)==48)if(!(a[h>>0]|0)){if(b){c[b>>2]=0;c[e>>2]=0}f=f-g|0}else{g=b;f=h;m=52}if((m|0)==52){c[(Gh()|0)>>2]=84;if(!g)f=-1;else{c[e>>2]=f;f=-1}}return f|0}function gi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k;a:do if(!e)g=0;else{do if(f){j=(b|0)==0?g:b;g=a[e>>0]|0;b=g&255;if(g<<24>>24>-1){c[j>>2]=b;g=g<<24>>24!=0&1;break a}g=b+-194|0;if(g>>>0<=50){b=e+1|0;h=c[3880+(g<<2)>>2]|0;if(f>>>0<4?(h&-2147483648>>>((f*6|0)+-6|0)|0)!=0:0)break;g=d[b>>0]|0;f=g>>>3;if((f+-16|f+(h>>26))>>>0<=7){g=g+-128|h<<6;if((g|0)>=0){c[j>>2]=g;g=2;break a}b=d[e+2>>0]|0;if((b&192|0)==128){b=b+-128|g<<6;if((b|0)>=0){c[j>>2]=b;g=3;break a}g=d[e+3>>0]|0;if((g&192|0)==128){c[j>>2]=g+-128|b<<6;g=4;break a}}}}}while(0);c[(Gh()|0)>>2]=84;g=-1}while(0);i=k;return g|0}function hi(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(Gh()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function ii(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+272|0;j=m+8|0;l=m;h=c[b>>2]|0;c[l>>2]=h;k=(a|0)!=0;f=k?e:256;e=k?a:j;a=h;a:do if((f|0)!=0&(h|0)!=0){h=f;g=a;f=0;while(1){a=d>>>0>=h>>>0;if(!(a|d>>>0>32)){a=g;break a}a=a?h:d;d=d-a|0;a=ji(e,l,a,0)|0;if((a|0)==-1){f=d;break}o=(e|0)==(j|0);n=o?0:a;g=h-n|0;e=o?e:e+a|0;f=a+f|0;a=c[l>>2]|0;if((h|0)!=(n|0)&(a|0)!=0){h=g;g=a}else{h=g;break a}}d=f;h=0;a=c[l>>2]|0;f=-1}else{h=f;f=0}while(0);b:do if((a|0)!=0?(h|0)!=0&(d|0)!=0:0){g=a;a=e;while(1){e=hi(a,c[g>>2]|0,0)|0;if((e+1|0)>>>0<2)break;g=(c[l>>2]|0)+4|0;c[l>>2]=g;d=d+-1|0;f=f+1|0;if(!((h|0)!=(e|0)&(d|0)!=0))break b;else{h=h-e|0;a=a+e|0}}if(!e)c[l>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[l>>2];i=m;return f|0}function ji(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do if(!b){b=c[d>>2]|0;f=c[b>>2]|0;if(!f)e=0;else{e=0;do{if(f>>>0>127){f=hi(j,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=hi(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=19;break}h=hi(j,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=22;break}hi(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==19){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==22){e=e-f|0;break}}}while(0);i=k;return e|0}function ki(a,b){a=a|0;b=b|0;if(!a)a=0;else a=hi(a,b,0)|0;return a|0}function li(a){a=a|0;return 0}function mi(a){a=a|0;return}function ni(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=m;k=e&255;a[l>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(vi(b)|0)){h=c[g>>2]|0;j=4}else f=-1;else j=4;do if((j|0)==4){g=b+20|0;j=c[g>>2]|0;if(j>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=j+1;a[j>>0]=k;break}if((pb[c[b+36>>2]&31](b,l,1)|0)==1)f=d[l>>0]|0;else f=-1}while(0);i=m;return f|0}function oi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=Mh(eb(6,d|0)|0)|0;i=b;return a|0}function pi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[959]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=Mh(lb(145,h|0)|0)|0}else{fb(105,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=Mh(lb(145,g|0)|0)|0;Ya(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function qi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Mh(jb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[959]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=Mh(mb(146,n|0)|0)|0}else{fb(106,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=Mh(mb(146,m|0)|0)|0;Ya(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function si(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=6;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Wa(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=ri(b,d,e)|0;i=g;return f|0}function ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Oi(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;pt(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function ui(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)pb[c[b+36>>2]&31](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function vi(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function wi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(ui(a)|0)!=0:0)b=-1;else if((pb[c[a+32>>2]&31](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function xi(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=$i(a)|0;break}d=(li(a)|0)==0;b=$i(a)|0;if(!d)mi(a)}else{if(!(c[1024]|0))b=0;else b=xi(c[1024]|0)|0;db(3864);a=c[965]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=li(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=$i(a)|0|b;if(d)mi(a);a=c[a+56>>2]|0}while((a|0)!=0);Xa(3864)}while(0);return b|0}function yi(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(li(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=wi(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=wi(a)|0;break}}while(0);return b|0}function zi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(li(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=ni(d,b)|0;mi(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=ni(d,b)|0}while(0);return e|0}function Ai(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(vi(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=pb[c[e+36>>2]&31](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((pb[c[e+36>>2]&31](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);pt(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}while(0);return f|0}function Bi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(li(e)|0)==0;a=Ai(a,f,e)|0;if(!g)mi(e)}else a=Ai(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function Ci(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(li(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=wi(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=wi(a)|0;break}}while(0);return b|0}function Di(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Ji(a,b,d,g)|0;i=f;return e|0}function Ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Ki(a,b,f)|0;i=e;return d|0}function Fi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=li(d)|0;else g=0;if(!((c[d+8>>2]|0)==0?(ui(d)|0)!=0:0))h=6;if((h|0)==6?(e=d+4|0,f=c[e>>2]|0,f>>>0>((c[d+44>>2]|0)+-8|0)>>>0):0){h=f+-1|0;c[e>>2]=h;a[h>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;mi(d);break}if(g){mi(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function Gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j;f=ij(240)|0;do if(f){c[e>>2]=c[d>>2];e=Ji(f,240,b,e)|0;if(e>>>0<240){b=lj(f,e+1|0)|0;c[a>>2]=(b|0)!=0?b:f;break}jj(f);if((e|0)>=0?(h=e+1|0,g=ij(h)|0,c[a>>2]=g,(g|0)!=0):0)e=Ji(g,h,b,d)|0;else e=-1}else e=-1;while(0);i=j;return e|0}function Hi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((aj(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=li(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=aj(b,d,o,q,r)|0;if(h){pb[c[b+36>>2]&31](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=aj(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)mi(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function Ii(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=li(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;C=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(Dh(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=152;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{Kh(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Lh(e)|0}while((Dh(o)|0)!=0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}Kh(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0>>0)c[L>>2]=o+1;else{if((Lh(e)|0)<0){N=152;break b}q=c[M>>2]|0}if(q)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r&239|0)==99){mt(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{Q=n+1|0;s=(a[Q>>0]|0)==94;o=s&1;r=s?Q:n;n=s?n+2|0:Q;mt(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=r+2|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=r+2|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=ij(r<<2)|0;if(!f){l=0;N=152;break b}}else f=x;c[J>>2]=0;c[C>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=Lh(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(ci(K,y,1,J)|0){case -1:{l=0;N=152;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=lj(f,l<<2)|0;if(!o){l=0;N=152;break b}Q=r;r=l;f=o;l=Q}if(!(di(J)|0)){l=0;N=152;break b}else{q=l;l=0}}else{if(t){l=ij(r)|0;if(!l){l=0;f=0;N=152;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Lh(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=lj(l,f)|0;if(!o){f=0;N=152;break b}else{Q=r;r=f;l=o;o=Q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Lh(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=Lh(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=134;break}case 111:{o=8;N=134;break}case 117:case 100:{o=10;N=134;break}case 105:{o=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Ih(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==134){N=0;o=Jh(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{Q=x;c[Q>>2]=o;c[Q+4>>2]=D;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;Kh(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Lh(e)|0;if((m|0)!=(d[n>>0]|0)){N=21;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(Dh(d[m>>0]|0)|0))break;else n=m}Kh(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=Lh(e)|0}while((Dh(m)|0)!=0);m=c[L>>2]|0;if(c[M>>2]|0){m=m+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==21){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=153}}else if((N|0)==152)if(!k){k=m;N=153}if((N|0)==153){m=k;k=-1}if(m){jj(l);jj(f)}}else k=0;while(0);if(O)mi(e);i=P;return k|0}function Ji(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=4156;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(Gh()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=Hi(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function Ki(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=26;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Ii(e,b,d)|0;i=g;return h|0}function Li(a,b,c){a=a|0;b=b|0;c=c|0;return +(+cj(a,b,2))}function Mi(a,b,c){a=a|0;b=b|0;c=c|0;a=dj(a,b,c,-1,-1)|0;return a|0}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;a=dj(a,b,c,0,-2147483648)|0;return a|0}function Oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return ((e|0)!=0?b:0)|0}function Pi(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function Qi(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Ri(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function Si(a,b){a=a|0;b=b|0;Qi(a,b)|0;return a|0}function Ti(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Ui(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function Vi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function Wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(d|0)==0;if(a-b>>2>>>0>>0){if(!e)do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0)}else if(!e){e=b;b=a;while(1){d=d+-1|0;c[b>>2]=c[e>>2];if(!d)break;else{e=e+4|0;b=b+4|0}}}return a|0}function Xi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function Yi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Lh(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Lh(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Lh(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=xt(f|0,b|0,10,0)|0;f=D;e=nt(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=nt(e|0,D|0,b|0,f|0)|0;b=D;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Lh(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=Lh(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=lt(0,0,g|0,b|0)|0;f=a?D:b;e=a?e:g}D=f;return e|0}function Zi(a){a=a|0;if(!(c[a+68>>2]|0))mi(a);return}function _i(a){a=a|0;if(!(c[a+68>>2]|0))mi(a);return}function $i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(pb[c[a+36>>2]&31](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)pb[c[a+40>>2]&31](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0} +function zg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+720|0;M=N+696|0;j=N+672|0;k=N+648|0;u=N+624|0;w=N+600|0;x=N+576|0;y=N+552|0;z=N+528|0;A=N+504|0;B=N+480|0;C=N+456|0;l=N+432|0;m=N+408|0;n=N+384|0;L=N+360|0;o=N+336|0;p=N+312|0;q=N+288|0;r=N+264|0;s=N+240|0;t=N+216|0;v=N+192|0;D=N+168|0;E=N+144|0;F=N+120|0;G=N+96|0;H=N+72|0;I=N+48|0;J=N+24|0;K=N;a:do if((b|0)!=(d|0))do switch(a[b>>0]|0){case 118:{lh(j,20915);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,j);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,j);c[L>>2]=K+24;yg(e,M);xg(M)}bg(j);b=b+1|0;break a}case 119:{a[k>>0]=14;f=k+1|0;a[f>>0]=a[20494]|0;a[f+1>>0]=a[20495]|0;a[f+2>>0]=a[20496]|0;a[f+3>>0]=a[20497]|0;a[f+4>>0]=a[20498]|0;a[f+5>>0]=a[20499]|0;a[f+6>>0]=a[20500]|0;a[k+8>>0]=0;f=k+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,k);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,k);c[L>>2]=K+24;yg(e,M);xg(M)}bg(k);b=b+1|0;break a}case 98:{lh(u,20920);f=e+4|0;d=c[f>>2]|0;h=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,u);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;g=(L|0)/24|0;d=g+1|0;if((L|0)<-24)rg(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,g,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,u);c[L>>2]=K+24;yg(e,M);xg(M)}bg(u);b=b+1|0;break a}case 99:{lh(w,20502);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,w);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,w);c[L>>2]=K+24;yg(e,M);xg(M)}bg(w);b=b+1|0;break a}case 97:{Vg(x,20507);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,x);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,x);c[L>>2]=K+24;yg(e,M);xg(M)}bg(x);b=b+1|0;break a}case 104:{Xg(y,20519);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,y);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,y);c[L>>2]=K+24;yg(e,M);xg(M)}bg(y);b=b+1|0;break a}case 115:{kh(z,20533);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,z);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,z);c[L>>2]=K+24;yg(e,M);xg(M)}bg(z);b=b+1|0;break a}case 116:{Tg(A,20539);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,A);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,A);c[L>>2]=K+24;yg(e,M);xg(M)}bg(A);b=b+1|0;break a}case 105:{vh(B,20925);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,B);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,B);c[L>>2]=K+24;yg(e,M);xg(M)}bg(B);b=b+1|0;break a}case 106:{Wg(C,20929);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,C);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,C);c[L>>2]=K+24;yg(e,M);xg(M)}bg(C);b=b+1|0;break a}case 108:{lh(l,20942);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,l);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,l);c[L>>2]=K+24;yg(e,M);xg(M)}bg(l);b=b+1|0;break a}case 109:{Xg(m,20947);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,m);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,m);c[L>>2]=K+24;yg(e,M);xg(M)}bg(m);b=b+1|0;break a}case 120:{gh(n,20961);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,n);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,n);c[L>>2]=K+24;yg(e,M);xg(M)}bg(n);b=b+1|0;break a}case 121:{f=ij(32)|0;c[L+8>>2]=f;c[L>>2]=33;c[L+4>>2]=18;d=f;g=20971;h=d+18|0;do{a[d>>0]=a[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));a[f+18>>0]=0;f=L+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,L);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;K=d-f|0;h=(K|0)/24|0;d=h+1|0;if((K|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);K=M+8|0;J=c[K>>2]|0;Fg(J,L);c[K>>2]=J+24;yg(e,M);xg(M)}bg(L);b=b+1|0;break a}case 110:{wh(o,20563);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,o);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,o);c[L>>2]=K+24;yg(e,M);xg(M)}bg(o);b=b+1|0;break a}case 111:{Ug(p,20572);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,p);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,p);c[L>>2]=K+24;yg(e,M);xg(M)}bg(p);b=b+1|0;break a}case 102:{kh(q,20990);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,q);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,q);c[L>>2]=K+24;yg(e,M);xg(M)}bg(q);b=b+1|0;break a}case 100:{a[r>>0]=12;f=r+1|0;a[f>>0]=a[20996]|0;a[f+1>>0]=a[20997]|0;a[f+2>>0]=a[20998]|0;a[f+3>>0]=a[20999]|0;a[f+4>>0]=a[21e3]|0;a[f+5>>0]=a[21001]|0;a[r+7>>0]=0;f=r+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,r);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,r);c[L>>2]=K+24;yg(e,M);xg(M)}bg(r);b=b+1|0;break a}case 101:{Vg(s,21003);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,s);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,s);c[L>>2]=K+24;yg(e,M);xg(M)}bg(s);b=b+1|0;break a}case 103:{fh(t,21015);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,t);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,t);c[L>>2]=K+24;yg(e,M);xg(M)}bg(t);b=b+1|0;break a}case 122:{vh(v,21026);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,v);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,v);c[L>>2]=K+24;yg(e,M);xg(M)}bg(v);b=b+1|0;break a}case 117:{M=b+1|0;e=Kg(M,d,e)|0;i=N;return ((e|0)==(M|0)?b:e)|0}case 68:{f=b+1|0;if((f|0)==(d|0))break a;switch(a[f>>0]|0){case 100:{gh(D,21030);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,D);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,D);c[L>>2]=K+24;yg(e,M);xg(M)}bg(D);b=b+2|0;break a}case 101:{fh(E,21040);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,E);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,E);c[L>>2]=K+24;yg(e,M);xg(M)}bg(E);b=b+2|0;break a}case 102:{gh(F,21051);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,F);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,F);c[L>>2]=K+24;yg(e,M);xg(M)}bg(F);b=b+2|0;break a}case 104:{gh(G,21061);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,G);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,G);c[L>>2]=K+24;yg(e,M);xg(M)}bg(G);b=b+2|0;break a}case 105:{wh(H,21071);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,H);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,H);c[L>>2]=K+24;yg(e,M);xg(M)}bg(H);b=b+2|0;break a}case 115:{wh(I,21080);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,I);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,I);c[L>>2]=K+24;yg(e,M);xg(M)}bg(I);b=b+2|0;break a}case 97:{lh(J,21089);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,J);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;K=c[L>>2]|0;Fg(K,J);c[L>>2]=K+24;yg(e,M);xg(M)}bg(J);b=b+2|0;break a}case 110:{Tg(K,21094);f=e+4|0;d=c[f>>2]|0;g=c[e+8>>2]|0;if(d>>>0>>0){Fg(d,K);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;L=d-f|0;h=(L|0)/24|0;d=h+1|0;if((L|0)<-24)rg(e);f=(g-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?d:f}else f=2147483647;wg(M,f,h,e+12|0);L=M+8|0;J=c[L>>2]|0;Fg(J,K);c[L>>2]=J+24;yg(e,M);xg(M)}bg(K);b=b+2|0;break a}default:break a}}default:break a}while(0);while(0);i=N;return b|0}function Ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)kf(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=ij(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}pt(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function Bg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a[b>>0]|0;if(!(d&1)){e=(d&255)>>>1;h=b+1|0}else{e=c[b+4>>2]|0;h=c[b+8>>2]|0}f=(e|0)!=0&1;g=e-f|0;if((e|0)!=(f|0)){rt(h|0,h+f|0,g|0)|0;d=a[b>>0]|0}if(!(d&1))a[b>>0]=g<<1;else c[b+4>>2]=g;a[h+g>>0]=0;return}function Cg(b,c){b=b|0;c=c|0;var d=0,e=0;a:do if((b|0)!=(c|0)?(d=(a[b>>0]|0)==110?b+1|0:b,(d|0)!=(c|0)):0){e=a[d>>0]|0;if(e<<24>>24==48){d=d+1|0;break}if((e+-49&255)<9)do{d=d+1|0;if((d|0)==(c|0)){d=c;break a}}while(((a[d>>0]|0)+-48|0)>>>0<10);else d=b}else d=b;while(0);return d|0}function Dg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=a[b>>0]|0;h=(g&1)==0;if(h)i=(g&255)>>>1;else i=c[b+4>>2]|0;if(i>>>0>>0)uh(b);if(h)h=10;else{g=c[b>>2]|0;h=(g&-2)+-1|0;g=g&255}if((h-i|0)>>>0>=f>>>0){if(f){if(!(g&1))h=b+1|0;else h=c[b+8>>2]|0;if((i|0)==(d|0))g=h+d|0;else{g=h+d|0;rt(h+(f+d)|0,g|0,i-d|0)|0;e=g>>>0<=e>>>0&(h+i|0)>>>0>e>>>0?e+f|0:e}rt(g|0,e|0,f|0)|0;g=i+f|0;if(!(a[b>>0]&1))a[b>>0]=g<<1;else c[b+4>>2]=g;a[h+g>>0]=0}}else kg(b,h,i+f-h|0,i,d,0,f,e);return b|0}function Eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0;Yb=i;i=i+1168|0;Wb=Yb+1144|0;Xb=Yb+1120|0;Vb=Yb+1096|0;Tb=Yb+1084|0;Sb=Yb+1072|0;Rb=Yb+1048|0;Ub=Yb+1032|0;Qb=Yb+900|0;Mb=Yb+632|0;Nb=Yb+620|0;Lb=Yb+584|0;Ob=Yb+560|0;Pb=Yb+524|0;l=Yb+1020|0;n=Yb+1008|0;r=Yb+996|0;x=Yb+984|0;B=Yb+972|0;E=Yb+960|0;F=Yb+948|0;yb=Yb+936|0;zb=Yb+924|0;Ab=Yb+912|0;Bb=Yb+888|0;G=Yb+876|0;Cb=Yb+864|0;Db=Yb+852|0;Eb=Yb+840|0;Fb=Yb+828|0;J=Yb+816|0;K=Yb+804|0;L=Yb+792|0;N=Yb+780|0;O=Yb+768|0;P=Yb+756|0;Q=Yb+744|0;gb=Yb+732|0;fb=Yb+720|0;ab=Yb+696|0;bb=Yb+680|0;cb=Yb+668|0;db=Yb+656|0;eb=Yb+644|0;R=Yb+608|0;S=Yb+596|0;T=Yb+548|0;U=Yb+536|0;V=Yb+512|0;W=Yb+500|0;X=Yb+488|0;Y=Yb+476|0;va=Yb+464|0;Ia=Yb+440|0;Ja=Yb+424|0;Ka=Yb+412|0;La=Yb+400|0;Z=Yb+388|0;_=Yb+376|0;$=Yb+364|0;aa=Yb+352|0;ba=Yb+340|0;ca=Yb+328|0;da=Yb+316|0;fa=Yb+304|0;ha=Yb+292|0;wa=Yb+280|0;Oa=Yb+256|0;Pa=Yb+240|0;Qa=Yb+228|0;Ra=Yb+216|0;ia=Yb+204|0;tb=Yb+192|0;sb=Yb+180|0;rb=Yb+168|0;kb=Yb+144|0;lb=Yb+132|0;mb=Yb+120|0;nb=Yb+108|0;ob=Yb+96|0;pb=Yb+84|0;qb=Yb+72|0;la=Yb+60|0;ma=Yb+48|0;oa=Yb+36|0;qa=Yb+24|0;hb=Yb;ub=d;ra=ub-b|0;a:do if((ra|0)>1){sa=(ra|0)>3;if(sa?(a[b>>0]|0)==103:0){ta=(a[b+1>>0]|0)==115;ib=ta;ta=ta?b+2|0:b}else{ib=0;ta=b}do switch(a[ta>>0]|0){case 76:{f=ih(b,d,e)|0;break a}case 84:{f=Ig(b,d,e)|0;break a}case 102:{f=nh(b,d,e)|0;break a}case 97:switch(a[ta+1>>0]|0){case 97:{Xb=b+2|0;Ag(l,19473,2);f=oh(Xb,d,l,e)|0;lg(l);f=(f|0)==(Xb|0)?b:f;break a}case 100:{Xb=b+2|0;Ag(n,19494,1);f=ph(Xb,d,n,e)|0;lg(n);f=(f|0)==(Xb|0)?b:f;break a}case 110:{Xb=b+2|0;Ag(r,19494,1);f=oh(Xb,d,r,e)|0;lg(r);f=(f|0)==(Xb|0)?b:f;break a}case 78:{Xb=b+2|0;Ag(x,20602,2);f=oh(Xb,d,x,e)|0;lg(x);f=(f|0)==(Xb|0)?b:f;break a}case 83:{Xb=b+2|0;Ag(B,20605,1);f=oh(Xb,d,B,e)|0;lg(B);f=(f|0)==(Xb|0)?b:f;break a}case 116:{if(((((ra|0)>2?(a[b>>0]|0)==97:0)?(a[b+1>>0]|0)==116:0)?(Ub=b+2|0,vb=pg(Ub,d,e)|0,(vb|0)!=(Ub|0)):0)?(xa=c[e+4>>2]|0,(c[e>>2]|0)!=(xa|0)):0){p=xa+-24|0;Gg(Vb,p);b=ng(Vb,0,20607)|0;c[Xb>>2]=c[b>>2];c[Xb+4>>2]=c[b+4>>2];c[Xb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Xb,19349)|0;c[Wb>>2]=c[b>>2];c[Wb+4>>2]=c[b+4>>2];c[Wb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;do if(a[p>>0]&1){o=xa+-16|0;a[c[o>>2]>>0]=0;l=xa+-20|0;c[l>>2]=0;f=a[p>>0]|0;if(!(f&1))k=10;else{k=c[p>>2]|0;f=k&255;k=(k&-2)+-1|0}if(!(f&1)){g=(f&255)>>>1;if((f&255)<22){j=10;n=1;m=g}else{j=(g+16&240)+-1|0;n=1;m=g}}else{j=10;n=0;m=0}if((j|0)!=(k|0)){if((j|0)==10){h=p+1|0;g=c[o>>2]|0;if(n){pt(h|0,g|0,((f&255)>>>1)+1|0)|0;jj(g)}else{a[h>>0]=a[g>>0]|0;jj(g)}a[p>>0]=m<<1;break}g=j+1|0;h=ij(g)|0;if(!(j>>>0<=k>>>0&(h|0)==0)){if(n)pt(h|0,p+1|0,((f&255)>>>1)+1|0)|0;else{b=c[o>>2]|0;a[h>>0]=a[b>>0]|0;jj(b)}c[p>>2]=g|1;c[l>>2]=m;c[o>>2]=h}}}else{a[p+1>>0]=0;a[p>>0]=0}while(0);c[p>>2]=c[Wb>>2];c[p+4>>2]=c[Wb+4>>2];c[p+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;lg(Wb);lg(Xb);lg(Vb);f=vb}else f=b;break a}case 122:{if(((((ra|0)>2?(a[b>>0]|0)==97:0)?(a[b+1>>0]|0)==122:0)?(Ub=b+2|0,xb=Eg(Ub,d,e)|0,(xb|0)!=(Ub|0)):0)?(ya=c[e+4>>2]|0,(c[e>>2]|0)!=(ya|0)):0){p=ya+-24|0;Gg(Vb,p);b=ng(Vb,0,20607)|0;c[Xb>>2]=c[b>>2];c[Xb+4>>2]=c[b+4>>2];c[Xb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Xb,19349)|0;c[Wb>>2]=c[b>>2];c[Wb+4>>2]=c[b+4>>2];c[Wb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;do if(a[p>>0]&1){o=ya+-16|0;a[c[o>>2]>>0]=0;l=ya+-20|0;c[l>>2]=0;f=a[p>>0]|0;if(!(f&1))k=10;else{k=c[p>>2]|0;f=k&255;k=(k&-2)+-1|0}if(!(f&1)){g=(f&255)>>>1;if((f&255)<22){n=1;j=10;m=g}else{n=1;j=(g+16&240)+-1|0;m=g}}else{n=0;j=10;m=0}if((j|0)!=(k|0)){if((j|0)==10){h=p+1|0;g=c[o>>2]|0;if(n){pt(h|0,g|0,((f&255)>>>1)+1|0)|0;jj(g)}else{a[h>>0]=a[g>>0]|0;jj(g)}a[p>>0]=m<<1;break}g=j+1|0;h=ij(g)|0;if(!(j>>>0<=k>>>0&(h|0)==0)){if(n)pt(h|0,p+1|0,((f&255)>>>1)+1|0)|0;else{b=c[o>>2]|0;a[h>>0]=a[b>>0]|0;jj(b)}c[p>>2]=g|1;c[l>>2]=m;c[o>>2]=h}}}else{a[p+1>>0]=0;a[p>>0]=0}while(0);c[p>>2]=c[Wb>>2];c[p+4>>2]=c[Wb+4>>2];c[p+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;lg(Wb);lg(Xb);lg(Vb);f=xb}else f=b;break a}default:{f=b;break a}}case 99:switch(a[ta+1>>0]|0){case 99:{if((((((ra|0)>2?(a[b>>0]|0)==99:0)?(a[b+1>>0]|0)==99:0)?(Qb=b+2|0,H=pg(Qb,d,e)|0,(H|0)!=(Qb|0)):0)?(Ga=Eg(H,d,e)|0,(Ga|0)!=(H|0)):0)?(Ha=e+4|0,I=c[Ha>>2]|0,((I-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Gg(Wb,I+-24|0);f=c[Ha>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[Ha>>2]=b;bg(b);h=c[Ha>>2]|0}while((h|0)!=(g|0));f=f+-48|0;Gg(Ub,f);b=ng(Ub,0,20617)|0;c[Rb>>2]=c[b>>2];c[Rb+4>>2]=c[b+4>>2];c[Rb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Rb,20629)|0;c[Sb>>2]=c[b>>2];c[Sb+4>>2]=c[b+4>>2];c[Sb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[Wb>>0]|0;e=(b&1)==0;b=dg(Sb,e?Wb+1|0:c[Wb+8>>2]|0,e?(b&255)>>>1:c[Wb+4>>2]|0)|0;c[Tb>>2]=c[b>>2];c[Tb+4>>2]=c[b+4>>2];c[Tb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Tb,19349)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Mg(Xb,Vb);Ng(f,Xb);bg(Xb);lg(Vb);lg(Tb);lg(Sb);lg(Rb);lg(Ub);lg(Wb);f=Ga}else f=b;break a}case 108:{b:do if((((sa?(a[b>>0]|0)==99:0)?(a[b+1>>0]|0)==108:0)?(Vb=b+2|0,g=Eg(Vb,d,e)|0,!((g|0)==(Vb|0)|(g|0)==(d|0))):0)?(Hb=e+4|0,M=c[Hb>>2]|0,(c[e>>2]|0)!=(M|0)):0){Vb=M+-12|0;f=a[Vb>>0]|0;q=(f&1)==0;dg(M+-24|0,q?Vb+1|0:c[M+-4>>2]|0,q?(f&255)>>>1:c[M+-8>>2]|0)|0;f=c[Hb>>2]|0;c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;q=f+-12|0;do if(a[q>>0]&1){p=f+-4|0;a[c[p>>2]>>0]=0;m=f+-8|0;c[m>>2]=0;f=a[q>>0]|0;if(!(f&1))l=10;else{l=c[q>>2]|0;f=l&255;l=(l&-2)+-1|0}if(!(f&1)){h=(f&255)>>>1;if((f&255)<22){o=1;k=10;n=h}else{o=1;k=(h+16&240)+-1|0;n=h}}else{o=0;k=10;n=0}if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){pt(j|0,h|0,((f&255)>>>1)+1|0)|0;jj(h)}else{a[j>>0]=a[h>>0]|0;jj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=ij(h)|0;if(!(k>>>0<=l>>>0&(j|0)==0)){if(o)pt(j|0,q+1|0,((f&255)>>>1)+1|0)|0;else{Vb=c[p>>2]|0;a[j>>0]=a[Vb>>0]|0;jj(Vb)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[Wb>>2];c[q+4>>2]=c[Wb+4>>2];c[q+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;lg(Wb);og((c[Hb>>2]|0)+-24|0,19444)|0;l=Xb+4|0;m=Xb+8|0;n=Xb+1|0;c:do if((a[g>>0]|0)!=69){while(1){k=Eg(g,d,e)|0;if((k|0)==(g|0)|(k|0)==(d|0)){f=b;break b}f=c[Hb>>2]|0;if((c[e>>2]|0)==(f|0)){f=b;break b}Gg(Xb,f+-24|0);h=c[Hb>>2]|0;j=h+-24|0;f=h;do{Wb=f+-24|0;c[Hb>>2]=Wb;bg(Wb);f=c[Hb>>2]|0}while((f|0)!=(j|0));g=a[Xb>>0]|0;f=(g&1)==0;g=f?(g&255)>>>1:c[l>>2]|0;if(g){if((c[e>>2]|0)==(j|0))break;dg(h+-48|0,f?n:c[m>>2]|0,g)|0}lg(Xb);if((a[k>>0]|0)==69){g=k;break c}else g=k}lg(Xb);f=b;break b}while(0);f=c[Hb>>2]|0;if((c[e>>2]|0)!=(f|0)){og(f+-24|0,19349)|0;f=g+1|0}else f=b}else f=b;while(0);break a}case 109:{Xb=b+2|0;Ag(E,20632,1);f=oh(Xb,d,E,e)|0;lg(E);f=(f|0)==(Xb|0)?b:f;break a}case 111:{Xb=b+2|0;Ag(F,19658,1);f=ph(Xb,d,F,e)|0;lg(F);f=(f|0)==(Xb|0)?b:f;break a}case 118:{d:do if((((ra|0)>2?(a[b>>0]|0)==99:0)?(a[b+1>>0]|0)==118:0)?(Ob=e+63|0,Nb=a[Ob>>0]|0,a[Ob>>0]=0,Pb=b+2|0,ua=pg(Pb,d,e)|0,a[Ob>>0]=Nb,!((ua|0)==(Pb|0)|(ua|0)==(d|0))):0){if((a[ua>>0]|0)!=95){f=Eg(ua,d,e)|0;if((f|0)==(ua|0)){f=b;break}}else{f=ua+1|0;if((f|0)==(d|0)){f=b;break}do if((a[f>>0]|0)==69){g=e+4|0;h=c[g>>2]|0;j=c[e+8>>2]|0;if(h>>>0>>0){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;Wb=h+12|0;c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;c[g>>2]=(c[g>>2]|0)+24;break}g=c[e>>2]|0;Pb=h-g|0;k=(Pb|0)/24|0;h=k+1|0;if((Pb|0)<-24)rg(e);g=(j-g|0)/24|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?h:g}else g=2147483647;wg(Wb,g,k,e+12|0);Pb=Wb+8|0;Ob=c[Pb>>2]|0;c[Ob>>2]=0;c[Ob+4>>2]=0;c[Ob+8>>2]=0;c[Ob+12>>2]=0;c[Ob+16>>2]=0;c[Ob+20>>2]=0;c[Ob>>2]=0;c[Ob+4>>2]=0;c[Ob+8>>2]=0;d=Ob+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[Pb>>2]=Ob+24;yg(e,Wb);xg(Wb)}else while(1){g=Eg(f,d,e)|0;if((g|0)==(f|0)|(g|0)==(d|0)){f=b;break d}if((a[g>>0]|0)==69){f=g;break}else f=g}while(0);f=f+1|0}k=e+4|0;g=c[k>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0>=2){Gg(Xb,g+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{Wb=j+-24|0;c[k>>2]=Wb;bg(Wb);j=c[k>>2]|0}while((j|0)!=(h|0));Wb=g+-48|0;Gg(Qb,Wb);b=ng(Qb,0,19444)|0;c[Ub>>2]=c[b>>2];c[Ub+4>>2]=c[b+4>>2];c[Ub+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Ub,20634)|0;c[Rb>>2]=c[b>>2];c[Rb+4>>2]=c[b+4>>2];c[Rb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[Xb>>0]|0;e=(b&1)==0;b=dg(Rb,e?Xb+1|0:c[Xb+8>>2]|0,e?(b&255)>>>1:c[Xb+4>>2]|0)|0;c[Sb>>2]=c[b>>2];c[Sb+4>>2]=c[b+4>>2];c[Sb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Sb,19349)|0;c[Tb>>2]=c[b>>2];c[Tb+4>>2]=c[b+4>>2];c[Tb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Mg(Vb,Tb);Ng(Wb,Vb);bg(Vb);lg(Tb);lg(Sb);lg(Rb);lg(Ub);lg(Qb);lg(Xb)}else f=b}else f=b;while(0);break a}default:{f=b;break a}}case 100:switch(a[ta+1>>0]|0){case 97:{Xb=ta+2|0;f=Eg(Xb,d,e)|0;if((f|0)==(Xb|0)){f=b;break a}g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==(h|0)){f=b;break a}q=h+-24|0;if(ib)Ag(Ab,19632,2);else{c[Ab>>2]=0;c[Ab+4>>2]=0;c[Ab+8>>2]=0}Xb=og(Ab,20637)|0;c[zb>>2]=c[Xb>>2];c[zb+4>>2]=c[Xb+4>>2];c[zb+8>>2]=c[Xb+8>>2];c[Xb>>2]=0;c[Xb+4>>2]=0;c[Xb+8>>2]=0;Gg(Bb,(c[g>>2]|0)+-24|0);Xb=a[Bb>>0]|0;Wb=(Xb&1)==0;Xb=dg(zb,Wb?Bb+1|0:c[Bb+8>>2]|0,Wb?(Xb&255)>>>1:c[Bb+4>>2]|0)|0;c[yb>>2]=c[Xb>>2];c[yb+4>>2]=c[Xb+4>>2];c[yb+8>>2]=c[Xb+8>>2];c[Xb>>2]=0;c[Xb+4>>2]=0;c[Xb+8>>2]=0;do if(a[q>>0]&1){p=h+-16|0;a[c[p>>2]>>0]=0;m=h+-20|0;c[m>>2]=0;g=a[q>>0]|0;if(!(g&1))l=10;else{l=c[q>>2]|0;g=l&255;l=(l&-2)+-1|0}if(!(g&1)){h=(g&255)>>>1;if((g&255)<22){o=1;k=10;n=h}else{o=1;k=(h+16&240)+-1|0;n=h}}else{o=0;k=10;n=0}if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){pt(j|0,h|0,((g&255)>>>1)+1|0)|0;jj(h)}else{a[j>>0]=a[h>>0]|0;jj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=ij(h)|0;if(!(k>>>0<=l>>>0&(j|0)==0)){if(o)pt(j|0,q+1|0,((g&255)>>>1)+1|0)|0;else{Xb=c[p>>2]|0;a[j>>0]=a[Xb>>0]|0;jj(Xb)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[yb>>2];c[q+4>>2]=c[yb+4>>2];c[q+8>>2]=c[yb+8>>2];c[yb>>2]=0;c[yb+4>>2]=0;c[yb+8>>2]=0;lg(yb);lg(Bb);lg(zb);lg(Ab);break a}case 99:{if((((((ra|0)>2?(a[b>>0]|0)==100:0)?(a[b+1>>0]|0)==99:0)?(Qb=b+2|0,ea=pg(Qb,d,e)|0,(ea|0)!=(Qb|0)):0)?(Ma=Eg(ea,d,e)|0,(Ma|0)!=(ea|0)):0)?(Na=e+4|0,ga=c[Na>>2]|0,((ga-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Gg(Wb,ga+-24|0);f=c[Na>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[Na>>2]=b;bg(b);h=c[Na>>2]|0}while((h|0)!=(g|0));f=f+-48|0;Gg(Ub,f);b=ng(Ub,0,20647)|0;c[Rb>>2]=c[b>>2];c[Rb+4>>2]=c[b+4>>2];c[Rb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Rb,20629)|0;c[Sb>>2]=c[b>>2];c[Sb+4>>2]=c[b+4>>2];c[Sb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[Wb>>0]|0;e=(b&1)==0;b=dg(Sb,e?Wb+1|0:c[Wb+8>>2]|0,e?(b&255)>>>1:c[Wb+4>>2]|0)|0;c[Tb>>2]=c[b>>2];c[Tb+4>>2]=c[b+4>>2];c[Tb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Tb,19349)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Mg(Xb,Vb);Ng(f,Xb);bg(Xb);lg(Vb);lg(Tb);lg(Sb);lg(Rb);lg(Ub);lg(Wb);f=Ma}else f=b;break a}case 101:{Xb=b+2|0;Ag(G,19489,1);f=ph(Xb,d,G,e)|0;lg(G);f=(f|0)==(Xb|0)?b:f;break a}case 108:{Xb=ta+2|0;f=Eg(Xb,d,e)|0;if((f|0)==(Xb|0)){f=b;break a}g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==(h|0)){f=b;break a}q=h+-24|0;if(ib)Ag(Eb,19632,2);else{c[Eb>>2]=0;c[Eb+4>>2]=0;c[Eb+8>>2]=0}Xb=og(Eb,20661)|0;c[Db>>2]=c[Xb>>2];c[Db+4>>2]=c[Xb+4>>2];c[Db+8>>2]=c[Xb+8>>2];c[Xb>>2]=0;c[Xb+4>>2]=0;c[Xb+8>>2]=0;Gg(Fb,(c[g>>2]|0)+-24|0);Xb=a[Fb>>0]|0;Wb=(Xb&1)==0;Xb=dg(Db,Wb?Fb+1|0:c[Fb+8>>2]|0,Wb?(Xb&255)>>>1:c[Fb+4>>2]|0)|0;c[Cb>>2]=c[Xb>>2];c[Cb+4>>2]=c[Xb+4>>2];c[Cb+8>>2]=c[Xb+8>>2];c[Xb>>2]=0;c[Xb+4>>2]=0;c[Xb+8>>2]=0;do if(a[q>>0]&1){p=h+-16|0;a[c[p>>2]>>0]=0;m=h+-20|0;c[m>>2]=0;g=a[q>>0]|0;if(!(g&1))l=10;else{l=c[q>>2]|0;g=l&255;l=(l&-2)+-1|0}if(!(g&1)){h=(g&255)>>>1;if((g&255)<22){o=1;k=10;n=h}else{o=1;k=(h+16&240)+-1|0;n=h}}else{o=0;k=10;n=0}if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){pt(j|0,h|0,((g&255)>>>1)+1|0)|0;jj(h)}else{a[j>>0]=a[h>>0]|0;jj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=ij(h)|0;if(!(k>>>0<=l>>>0&(j|0)==0)){if(o)pt(j|0,q+1|0,((g&255)>>>1)+1|0)|0;else{Xb=c[p>>2]|0;a[j>>0]=a[Xb>>0]|0;jj(Xb)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[Cb>>2];c[q+4>>2]=c[Cb+4>>2];c[q+8>>2]=c[Cb+8>>2];c[Cb>>2]=0;c[Cb+4>>2]=0;c[Cb+8>>2]=0;lg(Cb);lg(Fb);lg(Db);lg(Eb);break a}case 110:{f=qh(b,d,e)|0;break a}case 115:{if((((((ra|0)>2?(a[b>>0]|0)==100:0)?(a[b+1>>0]|0)==115:0)?(Vb=b+2|0,ja=Eg(Vb,d,e)|0,(ja|0)!=(Vb|0)):0)?(Sa=Eg(ja,d,e)|0,(Sa|0)!=(ja|0)):0)?(Ta=e+4|0,ka=c[Ta>>2]|0,((ka-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Gg(Wb,ka+-24|0);f=c[Ta>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[Ta>>2]=b;bg(b);h=c[Ta>>2]|0}while((h|0)!=(g|0));Rg(Xb,20669,Wb);b=a[Xb>>0]|0;e=(b&1)==0;dg(f+-48|0,e?Xb+1|0:c[Xb+8>>2]|0,e?(b&255)>>>1:c[Xb+4>>2]|0)|0;lg(Xb);lg(Wb);f=Sa}else f=b;break a}case 116:{if((((((ra|0)>2?(a[b>>0]|0)==100:0)?(a[b+1>>0]|0)==116:0)?(Vb=b+2|0,na=Eg(Vb,d,e)|0,(na|0)!=(Vb|0)):0)?(Ua=qh(na,d,e)|0,(Ua|0)!=(na|0)):0)?(Va=e+4|0,pa=c[Va>>2]|0,((pa-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Gg(Wb,pa+-24|0);f=c[Va>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[Va>>2]=b;bg(b);h=c[Va>>2]|0}while((h|0)!=(g|0));Rg(Xb,26335,Wb);b=a[Xb>>0]|0;e=(b&1)==0;dg(f+-48|0,e?Xb+1|0:c[Xb+8>>2]|0,e?(b&255)>>>1:c[Xb+4>>2]|0)|0;lg(Xb);lg(Wb);f=Ua}else f=b;break a}case 118:{Xb=b+2|0;Ag(J,20672,1);f=oh(Xb,d,J,e)|0;lg(J);f=(f|0)==(Xb|0)?b:f;break a}case 86:{Xb=b+2|0;Ag(K,20674,2);f=oh(Xb,d,K,e)|0;lg(K);f=(f|0)==(Xb|0)?b:f;break a}default:{f=b;break a}}case 101:switch(a[ta+1>>0]|0){case 111:{Xb=b+2|0;Ag(L,20677,1);f=oh(Xb,d,L,e)|0;lg(L);f=(f|0)==(Xb|0)?b:f;break a}case 79:{Xb=b+2|0;Ag(N,20679,2);f=oh(Xb,d,N,e)|0;lg(N);f=(f|0)==(Xb|0)?b:f;break a}case 113:{Xb=b+2|0;Ag(O,20682,2);f=oh(Xb,d,O,e)|0;lg(O);f=(f|0)==(Xb|0)?b:f;break a}default:{f=b;break a}}case 103:switch(a[ta+1>>0]|0){case 101:{Xb=b+2|0;Ag(P,20685,2);f=oh(Xb,d,P,e)|0;lg(P);f=(f|0)==(Xb|0)?b:f;break a}case 116:{Xb=b+2|0;Ag(Q,19508,1);f=oh(Xb,d,Q,e)|0;lg(Q);f=(f|0)==(Xb|0)?b:f;break a}default:{f=b;break a}}case 105:{if((a[ta+1>>0]|0)!=120){f=b;break a}Xb=b+2|0;g=Eg(Xb,d,e)|0;if((g|0)==(Xb|0)){f=b;break a}f=Eg(g,d,e)|0;k=e+4|0;h=c[k>>2]|0;if((f|0)==(g|0)){g=h+-24|0;f=h;while(1){Xb=f+-24|0;c[k>>2]=Xb;bg(Xb);f=c[k>>2]|0;if((f|0)==(g|0)){f=b;break a}}}if(((h-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Gg(gb,h+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{Xb=j+-24|0;c[k>>2]=Xb;bg(Xb);j=c[k>>2]|0}while((j|0)!=(h|0));Gg(fb,g+-48|0);Xb=(c[k>>2]|0)+-24|0;Rg(eb,19444,fb);Wb=og(eb,20688)|0;c[db>>2]=c[Wb>>2];c[db+4>>2]=c[Wb+4>>2];c[db+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=a[gb>>0]|0;b=(Wb&1)==0;Wb=dg(db,b?gb+1|0:c[gb+8>>2]|0,b?(Wb&255)>>>1:c[gb+4>>2]|0)|0;c[cb>>2]=c[Wb>>2];c[cb+4>>2]=c[Wb+4>>2];c[cb+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=og(cb,19433)|0;c[bb>>2]=c[Wb>>2];c[bb+4>>2]=c[Wb+4>>2];c[bb+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Mg(ab,bb);Ng(Xb,ab);bg(ab);lg(bb);lg(cb);lg(db);lg(eb);lg(fb);lg(gb);break a}case 108:switch(a[ta+1>>0]|0){case 101:{Xb=b+2|0;Ag(R,20691,2);f=oh(Xb,d,R,e)|0;lg(R);f=(f|0)==(Xb|0)?b:f;break a}case 115:{Xb=b+2|0;Ag(S,20694,2);f=oh(Xb,d,S,e)|0;lg(S);f=(f|0)==(Xb|0)?b:f;break a}case 83:{Xb=b+2|0;Ag(T,20697,3);f=oh(Xb,d,T,e)|0;lg(T);f=(f|0)==(Xb|0)?b:f;break a}case 116:{Xb=b+2|0;Ag(U,19506,1);f=oh(Xb,d,U,e)|0;lg(U);f=(f|0)==(Xb|0)?b:f;break a}default:{f=b;break a}}case 109:switch(a[ta+1>>0]|0){case 105:{Xb=b+2|0;Ag(V,20701,1);f=oh(Xb,d,V,e)|0;lg(V);f=(f|0)==(Xb|0)?b:f;break a}case 73:{Xb=b+2|0;Ag(W,20703,2);f=oh(Xb,d,W,e)|0;lg(W);f=(f|0)==(Xb|0)?b:f;break a}case 108:{Xb=b+2|0;Ag(X,19489,1);f=oh(Xb,d,X,e)|0;lg(X);f=(f|0)==(Xb|0)?b:f;break a}case 76:{Xb=b+2|0;Ag(Y,20706,2);f=oh(Xb,d,Y,e)|0;lg(Y);f=(f|0)==(Xb|0)?b:f;break a}case 109:{g=b+2|0;if((g|0)!=(d|0)?(a[g>>0]|0)==95:0){Xb=b+3|0;Ag(va,20709,2);f=ph(Xb,d,va,e)|0;lg(va);f=(f|0)==(Xb|0)?b:f;break a}f=Eg(g,d,e)|0;if((f|0)==(g|0)){f=b;break a}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}Xb=g+-24|0;Gg(La,Xb);Wb=ng(La,0,19444)|0;c[Ka>>2]=c[Wb>>2];c[Ka+4>>2]=c[Wb+4>>2];c[Ka+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=og(Ka,20712)|0;c[Ja>>2]=c[Wb>>2];c[Ja+4>>2]=c[Wb+4>>2];c[Ja+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Mg(Ia,Ja);Ng(Xb,Ia);bg(Ia);lg(Ja);lg(Ka);lg(La);break a}default:{f=b;break a}}case 110:switch(a[ta+1>>0]|0){case 119:case 97:{e:do if(sa){f=a[b>>0]|0;if(f<<24>>24==103){t=(a[b+1>>0]|0)==115;g=t?b+2|0:b;f=a[g>>0]|0}else{t=0;g=b}if(f<<24>>24==110){f=a[g+1>>0]|0;switch(f<<24>>24){case 97:case 119:break;default:{f=b;Ib=319;break e}}s=f<<24>>24==97;f=g+2|0;if((f|0)!=(d|0)){g=0;while(1){if((a[f>>0]|0)==95){q=g;break}Hb=f;f=Eg(f,d,e)|0;if((f|0)==(Hb|0)|(f|0)==(d|0)){f=b;break e}else g=1}Hb=f+1|0;g=pg(Hb,d,e)|0;if(!((g|0)==(Hb|0)|(g|0)==(d|0))){f=a[g>>0]|0;f:do if(!((ub-g|0)>2&f<<24>>24==112))if(f<<24>>24==69){p=0;r=g}else{f=b;break e}else{if((a[g+1>>0]|0)!=105){f=b;break e}f=g+2|0;while(1){if((a[f>>0]|0)==69){p=1;r=f;break f}Hb=f;f=Eg(f,d,e)|0;if((f|0)==(Hb|0)|(f|0)==(d|0)){f=b;break e}}}while(0);c[Xb>>2]=0;c[Xb+4>>2]=0;c[Xb+8>>2]=0;if(p){o=e+4|0;f=c[o>>2]|0;if((c[e>>2]|0)!=(f|0)){Gg(Vb,f+-24|0);g:do if(!(a[Xb>>0]&1)){a[Xb+1>>0]=0;a[Xb>>0]=0}else{k=Xb+8|0;g=c[k>>2]|0;a[g>>0]=0;l=Xb+4|0;c[l>>2]=0;m=c[Xb>>2]|0;n=(m&-2)+-1|0;h=m&255;do if(!(h&1)){f=m>>>1&127;if((h&255)<22){pt(Xb+1|0,g|0,(m>>>1&127)+1|0)|0;jj(g);break}g=f+16&240;j=g+-1|0;if((j|0)==(n|0))break g;h=ij(g)|0;if(j>>>0<=n>>>0&(h|0)==0)break g;pt(h|0,Xb+1|0,(m>>>1&127)+1|0)|0;c[Xb>>2]=g|1;c[l>>2]=f;c[k>>2]=h;break g}else{a[Xb+1>>0]=0;jj(g);f=0}while(0);a[Xb>>0]=f<<1}while(0);c[Xb>>2]=c[Vb>>2];c[Xb+4>>2]=c[Vb+4>>2];c[Xb+8>>2]=c[Vb+8>>2];c[Vb>>2]=0;c[Vb+4>>2]=0;c[Vb+8>>2]=0;lg(Vb);f=c[o>>2]|0;g=f+-24|0;do{Vb=f+-24|0;c[o>>2]=Vb;bg(Vb);f=c[o>>2]|0}while((f|0)!=(g|0));Jb=o;Kb=e;Gb=g;Ib=283}}else{Gb=e+4|0;Jb=Gb;Kb=e;Gb=c[Gb>>2]|0;Ib=283}if((Ib|0)==283?(c[Kb>>2]|0)!=(Gb|0):0){Gg(Tb,Gb+-24|0);f=c[Jb>>2]|0;g=f+-24|0;h=f;do{Vb=h+-24|0;c[Jb>>2]=Vb;bg(Vb);h=c[Jb>>2]|0}while((h|0)!=(g|0));c[Sb>>2]=0;c[Sb+4>>2]=0;c[Sb+8>>2]=0;if(q)if((c[Kb>>2]|0)==(g|0)){f=b;g=0}else{Gg(Rb,f+-48|0);h:do if(!(a[Sb>>0]&1)){a[Sb+1>>0]=0;a[Sb>>0]=0}else{k=Sb+8|0;g=c[k>>2]|0;a[g>>0]=0;l=Sb+4|0;c[l>>2]=0;m=c[Sb>>2]|0;n=(m&-2)+-1|0;h=m&255;do if(!(h&1)){f=m>>>1&127;if((h&255)<22){pt(Sb+1|0,g|0,(m>>>1&127)+1|0)|0;jj(g);break}g=f+16&240;j=g+-1|0;if((j|0)==(n|0))break h;h=ij(g)|0;if(j>>>0<=n>>>0&(h|0)==0)break h;pt(h|0,Sb+1|0,(m>>>1&127)+1|0)|0;c[Sb>>2]=g|1;c[l>>2]=f;c[k>>2]=h;break h}else{a[Sb+1>>0]=0;jj(g);f=0}while(0);a[Sb>>0]=f<<1}while(0);c[Sb>>2]=c[Rb>>2];c[Sb+4>>2]=c[Rb+4>>2];c[Sb+8>>2]=c[Rb+8>>2];c[Rb>>2]=0;c[Rb+4>>2]=0;c[Rb+8>>2]=0;lg(Rb);g=c[Jb>>2]|0;f=g+-24|0;do{Vb=g+-24|0;c[Jb>>2]=Vb;bg(Vb);g=c[Jb>>2]|0}while((g|0)!=(f|0));Ib=300}else Ib=300;if((Ib|0)==300){c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;if(t)Yg(Ub,19632,2);if(s)og(Ub,20716)|0;else og(Ub,19456)|0;if(q){Rg(Mb,19444,Sb);Vb=og(Mb,20720)|0;c[Qb>>2]=c[Vb>>2];c[Qb+4>>2]=c[Vb+4>>2];c[Qb+8>>2]=c[Vb+8>>2];c[Vb>>2]=0;c[Vb+4>>2]=0;c[Vb+8>>2]=0;Vb=a[Qb>>0]|0;Rb=(Vb&1)==0;dg(Ub,Rb?Qb+1|0:c[Qb+8>>2]|0,Rb?(Vb&255)>>>1:c[Qb+4>>2]|0)|0;lg(Qb);lg(Mb)}Vb=a[Tb>>0]|0;Rb=(Vb&1)==0;dg(Ub,Rb?Tb+1|0:c[Tb+8>>2]|0,Rb?(Vb&255)>>>1:c[Tb+4>>2]|0)|0;if(p){Rg(Lb,19346,Xb);Vb=og(Lb,19349)|0;c[Nb>>2]=c[Vb>>2];c[Nb+4>>2]=c[Vb+4>>2];c[Nb+8>>2]=c[Vb+8>>2];c[Vb>>2]=0;c[Vb+4>>2]=0;c[Vb+8>>2]=0;Vb=a[Nb>>0]|0;Rb=(Vb&1)==0;dg(Ub,Rb?Nb+1|0:c[Nb+8>>2]|0,Rb?(Vb&255)>>>1:c[Nb+4>>2]|0)|0;lg(Nb);lg(Lb)};c[Pb>>2]=c[Ub>>2];c[Pb+4>>2]=c[Ub+4>>2];c[Pb+8>>2]=c[Ub+8>>2];c[Ub>>2]=0;c[Ub+4>>2]=0;c[Ub+8>>2]=0;Mg(Ob,Pb);f=c[Jb>>2]|0;k=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,Ob);c[Jb>>2]=(c[Jb>>2]|0)+24}else{g=c[Kb>>2]|0;Vb=f-g|0;j=(Vb|0)/24|0;h=j+1|0;if((Vb|0)<-24)rg(e);f=(k-g|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f}else f=2147483647;wg(Wb,f,j,e+12|0);Vb=Wb+8|0;Rb=c[Vb>>2]|0;Fg(Rb,Ob);c[Vb>>2]=Rb+24;yg(e,Wb);xg(Wb)}bg(Ob);lg(Pb);lg(Ub);f=r+1|0;g=1}lg(Sb);lg(Tb);lg(Xb);if(g){Ib=319;break}else{f=b;break}}lg(Xb);f=b}else f=b}else f=b}else{f=b;Ib=319}}else{f=b;Ib=319}while(0);break a}case 101:{Xb=b+2|0;Ag(Z,20723,2);f=oh(Xb,d,Z,e)|0;lg(Z);f=(f|0)==(Xb|0)?b:f;break a}case 103:{Xb=b+2|0;Ag(_,20701,1);f=ph(Xb,d,_,e)|0;lg(_);f=(f|0)==(Xb|0)?b:f;break a}case 116:{Xb=b+2|0;Ag($,20726,1);f=ph(Xb,d,$,e)|0;lg($);f=(f|0)==(Xb|0)?b:f;break a}case 120:{r=b+2|0;f=Eg(r,d,e)|0;if((f|0)!=(r|0)?(Xa=c[e+4>>2]|0,(c[e>>2]|0)!=(Xa|0)):0){q=Xa+-24|0;Gg(Vb,q);e=ng(Vb,0,20728)|0;c[Xb>>2]=c[e>>2];c[Xb+4>>2]=c[e+4>>2];c[Xb+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;e=og(Xb,19349)|0;c[Wb>>2]=c[e>>2];c[Wb+4>>2]=c[e+4>>2];c[Wb+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;do if(a[q>>0]&1){p=Xa+-16|0;a[c[p>>2]>>0]=0;m=Xa+-20|0;c[m>>2]=0;g=a[q>>0]|0;if(!(g&1))l=10;else{l=c[q>>2]|0;g=l&255;l=(l&-2)+-1|0}if(!(g&1)){h=(g&255)>>>1;if((g&255)<22){k=10;n=h;o=1}else{k=(h+16&240)+-1|0;n=h;o=1}}else{k=10;n=0;o=0}if((k|0)!=(l|0)){if((k|0)==10){j=q+1|0;h=c[p>>2]|0;if(o){pt(j|0,h|0,((g&255)>>>1)+1|0)|0;jj(h)}else{a[j>>0]=a[h>>0]|0;jj(h)}a[q>>0]=n<<1;break}h=k+1|0;j=ij(h)|0;if(!(k>>>0<=l>>>0&(j|0)==0)){if(o)pt(j|0,q+1|0,((g&255)>>>1)+1|0)|0;else{e=c[p>>2]|0;a[j>>0]=a[e>>0]|0;jj(e)}c[q>>2]=h|1;c[m>>2]=n;c[p>>2]=j}}}else{a[q+1>>0]=0;a[q>>0]=0}while(0);c[q>>2]=c[Wb>>2];c[q+4>>2]=c[Wb+4>>2];c[q+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;lg(Wb);lg(Xb);lg(Vb)}else f=r;f=(f|0)==(r|0)?b:f;break a}default:{f=b;break a}}case 111:switch(a[ta+1>>0]|0){case 110:{f=qh(b,d,e)|0;break a}case 111:{Xb=b+2|0;Ag(aa,20739,2);f=oh(Xb,d,aa,e)|0;lg(aa);f=(f|0)==(Xb|0)?b:f;break a}case 114:{Xb=b+2|0;Ag(ba,20742,1);f=oh(Xb,d,ba,e)|0;lg(ba);f=(f|0)==(Xb|0)?b:f;break a}case 82:{Xb=b+2|0;Ag(ca,20744,2);f=oh(Xb,d,ca,e)|0;lg(ca);f=(f|0)==(Xb|0)?b:f;break a}default:{f=b;break a}}case 112:switch(a[ta+1>>0]|0){case 109:{Xb=b+2|0;Ag(da,20747,3);f=oh(Xb,d,da,e)|0;lg(da);f=(f|0)==(Xb|0)?b:f;break a}case 108:{Xb=b+2|0;Ag(fa,20751,1);f=oh(Xb,d,fa,e)|0;lg(fa);f=(f|0)==(Xb|0)?b:f;break a}case 76:{Xb=b+2|0;Ag(ha,20753,2);f=oh(Xb,d,ha,e)|0;lg(ha);f=(f|0)==(Xb|0)?b:f;break a}case 112:{g=b+2|0;if((g|0)!=(d|0)?(a[g>>0]|0)==95:0){Xb=b+3|0;Ag(wa,20756,2);f=ph(Xb,d,wa,e)|0;lg(wa);f=(f|0)==(Xb|0)?b:f;break a}f=Eg(g,d,e)|0;if((f|0)==(g|0)){f=b;break a}g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}Xb=g+-24|0;Gg(Ra,Xb);Wb=ng(Ra,0,19444)|0;c[Qa>>2]=c[Wb>>2];c[Qa+4>>2]=c[Wb+4>>2];c[Qa+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=og(Qa,20759)|0;c[Pa>>2]=c[Wb>>2];c[Pa+4>>2]=c[Wb+4>>2];c[Pa+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Mg(Oa,Pa);Ng(Xb,Oa);bg(Oa);lg(Pa);lg(Qa);lg(Ra);break a}case 115:{Xb=b+2|0;Ag(ia,20751,1);f=ph(Xb,d,ia,e)|0;lg(ia);f=(f|0)==(Xb|0)?b:f;break a}case 116:{if((((((ra|0)>2?(a[b>>0]|0)==112:0)?(a[b+1>>0]|0)==116:0)?(Xb=b+2|0,j=Eg(Xb,d,e)|0,(j|0)!=(Xb|0)):0)?(f=Eg(j,d,e)|0,(f|0)!=(j|0)):0)?(za=e+4|0,k=c[za>>2]|0,((k-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Gg(Wb,k+-24|0);g=c[za>>2]|0;h=g+-24|0;j=g;do{Xb=j+-24|0;c[za>>2]=Xb;bg(Xb);j=c[za>>2]|0}while((j|0)!=(h|0));og(g+-48|0,20763)|0;Xb=a[Wb>>0]|0;b=(Xb&1)==0;dg((c[za>>2]|0)+-24|0,b?Wb+1|0:c[Wb+8>>2]|0,b?(Xb&255)>>>1:c[Wb+4>>2]|0)|0;lg(Wb)}else f=b;break a}default:{f=b;break a}}case 113:{if((a[ta+1>>0]|0)!=117){f=b;break a}Xb=b+2|0;f=Eg(Xb,d,e)|0;if((f|0)==(Xb|0)){f=b;break a}g=Eg(f,d,e)|0;if((g|0)==(f|0)){f=e+4|0;h=c[f>>2]|0;g=h+-24|0;while(1){Xb=h+-24|0;c[f>>2]=Xb;bg(Xb);h=c[f>>2]|0;if((h|0)==(g|0)){f=b;break a}}}f=Eg(g,d,e)|0;k=e+4|0;h=c[k>>2]|0;if((f|0)==(g|0)){f=h+-24|0;g=h;do{Xb=g+-24|0;c[k>>2]=Xb;bg(Xb);g=c[k>>2]|0}while((g|0)!=(f|0));g=h+-48|0;while(1){Xb=f+-24|0;c[k>>2]=Xb;bg(Xb);f=c[k>>2]|0;if((f|0)==(g|0)){f=b;break a}}}if(((h-(c[e>>2]|0)|0)/24|0)>>>0<3){f=b;break a}Gg(tb,h+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{Xb=j+-24|0;c[k>>2]=Xb;bg(Xb);j=c[k>>2]|0}while((j|0)!=(h|0));Gg(sb,g+-48|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{Xb=j+-24|0;c[k>>2]=Xb;bg(Xb);j=c[k>>2]|0}while((j|0)!=(h|0));Gg(rb,g+-48|0);Xb=(c[k>>2]|0)+-24|0;Rg(qb,19444,rb);Wb=og(qb,20766)|0;c[pb>>2]=c[Wb>>2];c[pb+4>>2]=c[Wb+4>>2];c[pb+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=a[sb>>0]|0;b=(Wb&1)==0;Wb=dg(pb,b?sb+1|0:c[sb+8>>2]|0,b?(Wb&255)>>>1:c[sb+4>>2]|0)|0;c[ob>>2]=c[Wb>>2];c[ob+4>>2]=c[Wb+4>>2];c[ob+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=og(ob,20772)|0;c[nb>>2]=c[Wb>>2];c[nb+4>>2]=c[Wb+4>>2];c[nb+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=a[tb>>0]|0;b=(Wb&1)==0;Wb=dg(nb,b?tb+1|0:c[tb+8>>2]|0,b?(Wb&255)>>>1:c[tb+4>>2]|0)|0;c[mb>>2]=c[Wb>>2];c[mb+4>>2]=c[Wb+4>>2];c[mb+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Wb=og(mb,19349)|0;c[lb>>2]=c[Wb>>2];c[lb+4>>2]=c[Wb+4>>2];c[lb+8>>2]=c[Wb+8>>2];c[Wb>>2]=0;c[Wb+4>>2]=0;c[Wb+8>>2]=0;Mg(kb,lb);Ng(Xb,kb);bg(kb);lg(lb);lg(mb);lg(nb);lg(ob);lg(pb);lg(qb);lg(rb);lg(sb);lg(tb);break a}case 114:switch(a[ta+1>>0]|0){case 99:{if((((((ra|0)>2?(a[b>>0]|0)==114:0)?(a[b+1>>0]|0)==99:0)?(Qb=b+2|0,m=pg(Qb,d,e)|0,(m|0)!=(Qb|0)):0)?(Aa=Eg(m,d,e)|0,(Aa|0)!=(m|0)):0)?(Ba=e+4|0,o=c[Ba>>2]|0,((o-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Gg(Wb,o+-24|0);f=c[Ba>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[Ba>>2]=b;bg(b);h=c[Ba>>2]|0}while((h|0)!=(g|0));f=f+-48|0;Gg(Ub,f);b=ng(Ub,0,20778)|0;c[Rb>>2]=c[b>>2];c[Rb+4>>2]=c[b+4>>2];c[Rb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Rb,20629)|0;c[Sb>>2]=c[b>>2];c[Sb+4>>2]=c[b+4>>2];c[Sb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[Wb>>0]|0;e=(b&1)==0;b=dg(Sb,e?Wb+1|0:c[Wb+8>>2]|0,e?(b&255)>>>1:c[Wb+4>>2]|0)|0;c[Tb>>2]=c[b>>2];c[Tb+4>>2]=c[b+4>>2];c[Tb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Tb,19349)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Mg(Xb,Vb);Ng(f,Xb);bg(Xb);lg(Vb);lg(Tb);lg(Sb);lg(Rb);lg(Ub);lg(Wb);f=Aa}else f=b;break a}case 109:{Xb=b+2|0;Ag(la,20796,1);f=oh(Xb,d,la,e)|0;lg(la);f=(f|0)==(Xb|0)?b:f;break a}case 77:{Xb=b+2|0;Ag(ma,20798,2);f=oh(Xb,d,ma,e)|0;lg(ma);f=(f|0)==(Xb|0)?b:f;break a}case 115:{Xb=b+2|0;Ag(oa,20801,2);f=oh(Xb,d,oa,e)|0;lg(oa);f=(f|0)==(Xb|0)?b:f;break a}case 83:{Wb=b+2|0;Ag(qa,20804,3);Xb=oh(Wb,d,qa,e)|0;lg(qa);i=Yb;return ((Xb|0)==(Wb|0)?b:Xb)|0}default:{f=b;break a}}case 115:switch(a[ta+1>>0]|0){case 99:{if((((((ra|0)>2?(a[b>>0]|0)==115:0)?(a[b+1>>0]|0)==99:0)?(Qb=b+2|0,p=pg(Qb,d,e)|0,(p|0)!=(Qb|0)):0)?(Ca=Eg(p,d,e)|0,(Ca|0)!=(p|0)):0)?(Da=e+4|0,q=c[Da>>2]|0,((q-(c[e>>2]|0)|0)/24|0)>>>0>=2):0){Gg(Wb,q+-24|0);f=c[Da>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[Da>>2]=b;bg(b);h=c[Da>>2]|0}while((h|0)!=(g|0));f=f+-48|0;Gg(Ub,f);b=ng(Ub,0,20808)|0;c[Rb>>2]=c[b>>2];c[Rb+4>>2]=c[b+4>>2];c[Rb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Rb,20629)|0;c[Sb>>2]=c[b>>2];c[Sb+4>>2]=c[b+4>>2];c[Sb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[Wb>>0]|0;e=(b&1)==0;b=dg(Sb,e?Wb+1|0:c[Wb+8>>2]|0,e?(b&255)>>>1:c[Wb+4>>2]|0)|0;c[Tb>>2]=c[b>>2];c[Tb+4>>2]=c[b+4>>2];c[Tb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Tb,19349)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Mg(Xb,Vb);Ng(f,Xb);bg(Xb);lg(Vb);lg(Tb);lg(Sb);lg(Rb);lg(Ub);lg(Wb);f=Ca}else f=b;break a}case 112:{if((ra|0)<=2){f=b;break a}if((a[b>>0]|0)!=115){f=b;break a}if((a[b+1>>0]|0)!=112){f=b;break a}Xb=b+2|0;f=Eg(Xb,d,e)|0;f=(f|0)==(Xb|0)?b:f;break a}case 114:{f=qh(b,d,e)|0;break a}case 116:{if(((((ra|0)>2?(a[b>>0]|0)==115:0)?(a[b+1>>0]|0)==116:0)?(Ub=b+2|0,s=pg(Ub,d,e)|0,(s|0)!=(Ub|0)):0)?(t=c[e+4>>2]|0,(c[e>>2]|0)!=(t|0)):0){f=t+-24|0;Gg(Tb,f);b=ng(Tb,0,20821)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Vb,19349)|0;c[Xb>>2]=c[b>>2];c[Xb+4>>2]=c[b+4>>2];c[Xb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Mg(Wb,Xb);Ng(f,Wb);bg(Wb);lg(Xb);lg(Vb);lg(Tb);f=s}else f=b;break a}case 122:{if(((((ra|0)>2?(a[b>>0]|0)==115:0)?(a[b+1>>0]|0)==122:0)?(Ub=b+2|0,u=Eg(Ub,d,e)|0,(u|0)!=(Ub|0)):0)?(v=c[e+4>>2]|0,(c[e>>2]|0)!=(v|0)):0){f=v+-24|0;Gg(Tb,f);b=ng(Tb,0,20821)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Vb,19349)|0;c[Xb>>2]=c[b>>2];c[Xb+4>>2]=c[b+4>>2];c[Xb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Mg(Wb,Xb);Ng(f,Wb);bg(Wb);lg(Xb);lg(Vb);lg(Tb);f=u}else f=b;break a}case 90:{if((ub-ta|0)<=2){f=b;break a}switch(a[ta+2>>0]|0){case 84:break;case 102:{if((((((ra|0)>2?(a[b>>0]|0)==115:0)?(a[b+1>>0]|0)==90:0)?(y=b+2|0,(a[y>>0]|0)==102):0)?(z=nh(y,d,e)|0,(z|0)!=(y|0)):0)?(A=c[e+4>>2]|0,(c[e>>2]|0)!=(A|0)):0){f=A+-24|0;Gg(Tb,f);b=ng(Tb,0,20830)|0;c[Vb>>2]=c[b>>2];c[Vb+4>>2]=c[b+4>>2];c[Vb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=og(Vb,19349)|0;c[Xb>>2]=c[b>>2];c[Xb+4>>2]=c[b+4>>2];c[Xb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Mg(Wb,Xb);Ng(f,Wb);bg(Wb);lg(Xb);lg(Vb);lg(Tb);f=z}else f=b;break a}default:{f=b;break a}}if(((((ra|0)>2?(a[b>>0]|0)==115:0)?(a[b+1>>0]|0)==90:0)?(w=b+2|0,(a[w>>0]|0)==84):0)?(jb=e+4|0,$a=((c[jb>>2]|0)-(c[e>>2]|0)|0)/24|0,wb=Ig(w,d,e)|0,Ea=c[e>>2]|0,h=((c[jb>>2]|0)-Ea|0)/24|0,(wb|0)!=(w|0)):0){a[Xb>>0]=20;f=Xb+1|0;g=20830;j=f+10|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(j|0));a[Xb+11>>0]=0;if(($a|0)!=(h|0)?(Gg(Vb,Ea+($a*24|0)|0),Ya=a[Vb>>0]|0,Za=(Ya&1)==0,dg(Xb,Za?Vb+1|0:c[Vb+8>>2]|0,Za?(Ya&255)>>>1:c[Vb+4>>2]|0)|0,lg(Vb),Ya=Tb+8|0,Za=Tb+1|0,_a=Tb+4|0,Wa=$a+1|0,(Wa|0)!=(h|0)):0){f=Wa;do{Gg(Sb,(c[e>>2]|0)+(f*24|0)|0);b=ng(Sb,0,19446)|0;c[Tb>>2]=c[b>>2];c[Tb+4>>2]=c[b+4>>2];c[Tb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=a[Tb>>0]|0;Vb=(b&1)==0;dg(Xb,Vb?Za:c[Ya>>2]|0,Vb?(b&255)>>>1:c[_a>>2]|0)|0;lg(Tb);lg(Sb);f=f+1|0}while((f|0)!=(h|0))}og(Xb,19349)|0;if((h|0)!=($a|0))do{g=c[jb>>2]|0;f=g+-24|0;do{b=g+-24|0;c[jb>>2]=b;bg(b);g=c[jb>>2]|0}while((g|0)!=(f|0));h=h+-1|0}while((h|0)!=($a|0));c[Ub>>2]=c[Xb>>2];c[Ub+4>>2]=c[Xb+4>>2];c[Ub+8>>2]=c[Xb+8>>2];c[Xb>>2]=0;c[Xb+4>>2]=0;c[Xb+8>>2]=0;Mg(Rb,Ub);f=c[jb>>2]|0;j=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,Rb);c[jb>>2]=(c[jb>>2]|0)+24}else{g=c[e>>2]|0;b=f-g|0;k=(b|0)/24|0;h=k+1|0;if((b|0)<-24)rg(e);f=(j-g|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f}else f=2147483647;wg(Wb,f,k,e+12|0);b=Wb+8|0;Vb=c[b>>2]|0;Fg(Vb,Rb);c[b>>2]=Vb+24;yg(e,Wb);xg(Wb)}bg(Rb);lg(Ub);lg(Xb);f=wb}else f=b;break a}default:{f=b;break a}}case 116:switch(a[ta+1>>0]|0){case 105:case 101:{i:do if((ra|0)>2?(a[b>>0]|0)==116:0){f=a[b+1>>0]|0;switch(f<<24>>24){case 105:case 101:break;default:{f=b;break i}}g=b+2|0;if(f<<24>>24==101)f=Eg(g,d,e)|0;else f=pg(g,d,e)|0;if((f|0)!=(g|0)?(Fa=c[e+4>>2]|0,(c[e>>2]|0)!=(Fa|0)):0){b=Fa+-24|0;Gg(Tb,b);e=ng(Tb,0,20841)|0;c[Vb>>2]=c[e>>2];c[Vb+4>>2]=c[e+4>>2];c[Vb+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;e=og(Vb,19349)|0;c[Xb>>2]=c[e>>2];c[Xb+4>>2]=c[e+4>>2];c[Xb+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;Mg(Wb,Xb);Ng(b,Wb);bg(Wb);lg(Xb);lg(Vb);lg(Tb)}else f=b}else f=b;while(0);break a}case 114:{kh(hb,20849);f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Fg(g,hb);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;Xb=g-f|0;j=(Xb|0)/24|0;g=j+1|0;if((Xb|0)<-24)rg(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;wg(Wb,f,j,e+12|0);Xb=Wb+8|0;Vb=c[Xb>>2]|0;Fg(Vb,hb);c[Xb>>2]=Vb+24;yg(e,Wb);xg(Wb)}bg(hb);f=b+2|0;break a}case 119:{if(((((ra|0)>2?(a[b>>0]|0)==116:0)?(a[b+1>>0]|0)==119:0)?(Ub=b+2|0,C=Eg(Ub,d,e)|0,(C|0)!=(Ub|0)):0)?(D=c[e+4>>2]|0,(c[e>>2]|0)!=(D|0)):0){f=D+-24|0;Gg(Vb,f);b=ng(Vb,0,20855)|0;c[Xb>>2]=c[b>>2];c[Xb+4>>2]=c[b+4>>2];c[Xb+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;Mg(Wb,Xb);Ng(f,Wb);bg(Wb);lg(Xb);lg(Vb);f=C}else f=b;break a}default:{f=b;break a}}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{f=qh(b,d,e)|0;break a}default:{f=b;break a}}while(0)}else f=b;while(0);i=Yb;return f|0}function Fg(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=a+12|0;a=b+12|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Gg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+12|0;e=a[g>>0]|0;f=(e&1)==0;d=dg(d,f?g+1|0:c[d+20>>2]|0,f?(e&255)>>>1:c[d+16>>2]|0)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;return}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a>>2]=0;e=a+4|0;c[e>>2]=0;d=c[d>>2]|0;c[a+8>>2]=0;c[a+12>>2]=d;d=mh(d,24)|0;c[e>>2]=d;c[a>>2]=d;c[a+8>>2]=d+24;vg(d,b);vg(d+12|0,b+12|0);c[e>>2]=(c[e>>2]|0)+24;return}function Ig(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;q=r+64|0;k=r+40|0;o=r+16|0;p=r;m=b;a:do if((d-m|0)>1?(a[b>>0]|0)==84:0){f=a[b+1>>0]|0;if(f<<24>>24==95){f=c[e+36>>2]|0;if((c[e+32>>2]|0)==(f|0)){f=b;break}g=c[f+-16>>2]|0;if((g|0)==(c[f+-12>>2]|0)){a[k>>0]=4;f=k+1|0;a[f>>0]=84;a[f+1>>0]=95;a[k+3>>0]=0;f=k+12|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Fg(g,k);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;p=g-f|0;j=(p|0)/24|0;g=j+1|0;if((p|0)<-24)rg(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;wg(q,f,j,e+12|0);p=q+8|0;o=c[p>>2]|0;Fg(o,k);c[p>>2]=o+24;yg(e,q);xg(q)}bg(k);a[e+62>>0]=1;f=b+2|0;break}f=c[g>>2]|0;j=c[g+4>>2]|0;d=e+4|0;k=e+8|0;l=e+12|0;m=q+8|0;b:do if((f|0)!=(j|0)){while(1){g=c[d>>2]|0;if((g|0)==(c[k>>2]|0)){p=g-(c[e>>2]|0)|0;h=(p|0)/24|0;g=h+1|0;if((p|0)<-24)break;if(h>>>0<1073741823){p=h<<1;g=p>>>0>>0?g:p}else g=2147483647;wg(q,g,h,l);p=c[m>>2]|0;vg(p,f);vg(p+12|0,f+12|0);c[m>>2]=p+24;yg(e,q);xg(q)}else{vg(g,f);vg(g+12|0,f+12|0);c[d>>2]=(c[d>>2]|0)+24}f=f+24|0;if((f|0)==(j|0))break b}rg(e)}while(0);f=b+2|0;break}f=(f<<24>>24)+-48|0;if(f>>>0<10?(g=b+2|0,(g|0)!=(d|0)):0){j=g;while(1){g=a[j>>0]|0;h=(g<<24>>24)+-48|0;if(h>>>0>=10){n=j;break}j=j+1|0;if((j|0)==(d|0)){f=b;break a}else f=h+(f*10|0)|0}if(g<<24>>24==95?(l=c[e+36>>2]|0,(c[e+32>>2]|0)!=(l|0)):0){f=f+1|0;g=c[l+-16>>2]|0;if(f>>>0<(c[l+-12>>2]|0)-g>>4>>>0){h=c[g+(f<<4)>>2]|0;j=c[g+(f<<4)+4>>2]|0;d=e+4|0;k=e+8|0;l=e+12|0;m=q+8|0;c:do if((h|0)!=(j|0)){while(1){f=c[d>>2]|0;if((f|0)==(c[k>>2]|0)){b=f-(c[e>>2]|0)|0;g=(b|0)/24|0;f=g+1|0;if((b|0)<-24)break;if(g>>>0<1073741823){b=g<<1;f=b>>>0>>0?f:b}else f=2147483647;wg(q,f,g,l);b=c[m>>2]|0;vg(b,h);vg(b+12|0,h+12|0);c[m>>2]=b+24;yg(e,q);xg(q)}else{vg(f,h);vg(f+12|0,h+12|0);c[d>>2]=(c[d>>2]|0)+24}h=h+24|0;if((h|0)==(j|0))break c}rg(e)}while(0);f=n+1|0;break}f=n+1|0;j=f-m|0;if(j>>>0>4294967279)kf(p);if(j>>>0<11){a[p>>0]=j<<1;d=p+1|0}else{m=j+16&-16;d=ij(m)|0;c[p+8>>2]=d;c[p>>2]=m|1;c[p+4>>2]=j}if((f|0)!=(b|0)){g=b;h=d;while(1){a[h>>0]=a[g>>0]|0;if((g|0)==(n|0))break;else{g=g+1|0;h=h+1|0}}}a[d+j>>0]=0;Mg(o,p);g=e+4|0;h=c[g>>2]|0;j=c[e+8>>2]|0;if(h>>>0>>0){Fg(h,o);c[g>>2]=(c[g>>2]|0)+24}else{g=c[e>>2]|0;b=h-g|0;d=(b|0)/24|0;h=d+1|0;if((b|0)<-24)rg(e);g=(j-g|0)/24|0;if(g>>>0<1073741823){g=g<<1;g=g>>>0>>0?h:g}else g=2147483647;wg(q,g,d,e+12|0);b=q+8|0;n=c[b>>2]|0;Fg(n,o);c[b>>2]=n+24;yg(e,q);xg(q)}bg(o);lg(p);a[e+62>>0]=1}else f=b}else f=b}else f=b;while(0);i=r;return f|0}function Jg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+96|0;I=K+64|0;J=K+52|0;B=K+40|0;G=K+16|0;H=K;a:do if((d-b|0)>1?(a[b>>0]|0)==73:0){D=e+61|0;A=e+36|0;if((a[D>>0]|0)!=0?(h=c[A>>2]|0,g=c[h+-16>>2]|0,h=h+-12|0,f=c[h>>2]|0,(f|0)!=(g|0)):0)do{E=f+-16|0;c[h>>2]=E;cg(E);f=c[h>>2]|0}while((f|0)!=(g|0));f=b+1|0;Ag(J,19506,1);E=e+4|0;q=e+12|0;r=I+8|0;s=I+8|0;C=J+4|0;t=B+8|0;u=B+1|0;v=B+4|0;z=e+32|0;w=e+40|0;x=e+44|0;y=I+8|0;b:do if((a[f>>0]|0)!=69){c:while(1){do if(a[D>>0]|0){m=c[q>>2]|0;g=c[A>>2]|0;h=c[w>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=m;c[A>>2]=(c[A>>2]|0)+16;break}j=c[z>>2]|0;p=g-j|0;l=p>>4;k=l+1|0;if((p|0)<-16){f=12;break c}g=h-j|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?k:g}else g=2147483647;Zf(I,g,l,x);p=c[y>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=m;c[y>>2]=p+16;_f(z,I);$f(I)}while(0);p=((c[E>>2]|0)-(c[e>>2]|0)|0)/24|0;o=hh(f,d,e)|0;h=((c[E>>2]|0)-(c[e>>2]|0)|0)/24|0;if(a[D>>0]|0){j=c[A>>2]|0;g=j+-16|0;do{n=j+-16|0;c[A>>2]=n;ig(n);j=c[A>>2]|0}while((j|0)!=(g|0))}if((o|0)==(f|0)|(o|0)==(d|0)){f=56;break}if(a[D>>0]|0){l=c[A>>2]|0;m=l+-16|0;n=c[q>>2]|0;f=l+-12|0;g=c[f>>2]|0;j=c[l+-8>>2]|0;if(g>>>0>>0){c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=n;c[f>>2]=(c[f>>2]|0)+16}else{f=c[m>>2]|0;L=g-f|0;k=L>>4;g=k+1|0;if((L|0)<-16){b=m;f=25;break}f=j-f|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?g:f}else f=2147483647;sg(I,f,k,l+-4|0);L=c[r>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=n;c[r>>2]=L+16;tg(m,I);ug(I)}if(p>>>0>>0){n=p;do{j=c[(c[A>>2]|0)+-12>>2]|0;k=j+-16|0;l=c[e>>2]|0;m=l+(n*24|0)|0;f=j+-12|0;g=c[f>>2]|0;if((g|0)==(c[j+-8>>2]|0)){L=g-(c[k>>2]|0)|0;g=(L|0)/24|0;f=g+1|0;if((L|0)<-24){b=k;f=33;break c}if(g>>>0<1073741823){L=g<<1;f=L>>>0>>0?f:L}else f=2147483647;wg(I,f,g,j+-4|0);L=c[s>>2]|0;vg(L,m);vg(L+12|0,l+(n*24|0)+12|0);c[s>>2]=L+24;yg(k,I);xg(I)}else{vg(g,m);vg(g+12|0,l+(n*24|0)+12|0);c[f>>2]=(c[f>>2]|0)+24}n=n+1|0}while(n>>>0>>0)}}if(p>>>0>>0){f=p;do{L=a[J>>0]|0;if(((L&1)==0?(L&255)>>>1:c[C>>2]|0)>>>0>1)og(J,19446)|0;Gg(B,(c[e>>2]|0)+(f*24|0)|0);L=a[B>>0]|0;n=(L&1)==0;dg(J,n?u:c[t>>2]|0,n?(L&255)>>>1:c[v>>2]|0)|0;lg(B);f=f+1|0}while(f>>>0>>0)}if((h|0)!=(p|0))do{g=c[E>>2]|0;f=g+-24|0;do{L=g+-24|0;c[E>>2]=L;bg(L);g=c[E>>2]|0}while((g|0)!=(f|0));h=h+-1|0}while((h|0)!=(p|0));if((a[o>>0]|0)==69){F=o;break b}else f=o}if((f|0)==12)rg(z);else if((f|0)==25)rg(b);else if((f|0)==33)rg(b);else if((f|0)==56){lg(J);break a}}else F=f;while(0);b=F+1|0;L=a[J>>0]|0;F=(L&1)==0;if((a[(F?J+1|0:c[J+8>>2]|0)+((F?(L&255)>>>1:c[C>>2]|0)+-1)>>0]|0)==62)og(J,20491)|0;else og(J,19508)|0;c[H>>2]=c[J>>2];c[H+4>>2]=c[J+4>>2];c[H+8>>2]=c[J+8>>2];c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;Mg(G,H);f=c[E>>2]|0;j=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,G);c[E>>2]=(c[E>>2]|0)+24}else{g=c[e>>2]|0;L=f-g|0;k=(L|0)/24|0;h=k+1|0;if((L|0)<-24)rg(e);f=(j-g|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f}else f=2147483647;wg(I,f,k,e+12|0);L=I+8|0;F=c[L>>2]|0;Fg(F,G);c[L>>2]=F+24;yg(e,I);xg(I)}bg(G);lg(H);lg(J)}while(0);i=K;return b|0}function Kg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+112|0;p=r+88|0;q=r+76|0;k=r+64|0;n=r+40|0;l=r+16|0;m=r;a:do if(((b|0)!=(d|0)?(h=(a[b>>0]|0)+-48|0,h>>>0<10):0)?(f=b+1|0,(f|0)!=(d|0)):0){g=(a[f>>0]|0)+-48|0;if(g>>>0<10){j=f;while(1){f=j+1|0;if((f|0)==(d|0))break a;h=g+(h*10|0)|0;g=(a[f>>0]|0)+-48|0;if(g>>>0>=10){o=h;break}else j=f}}else{j=b;o=h}if((d-f|0)>>>0>=o>>>0){Ag(q,f,o);g=a[q>>0]|0;d=(g&1)==0;g=d?(g&255)>>>1:c[q+4>>2]|0;Ag(k,d?q+1|0:c[q+8>>2]|0,g>>>0<10?g:10);g=a[k>>0]|0;d=(g&1)==0;g=d?(g&255)>>>1:c[k+4>>2]|0;h=g>>>0>10;d=Pi(d?k+1|0:c[k+8>>2]|0,20458,h?10:g)|0;lg(k);if(!(((d|0)==0?(g>>>0<10?-1:h&1):d)|0)){b=ij(32)|0;c[n+8>>2]=b;c[n>>2]=33;c[n+4>>2]=21;f=b;g=20469;h=f+21|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[b+21>>0]=0;b=n+12|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;b=e+4|0;f=c[b>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,n);c[b>>2]=(c[b>>2]|0)+24}else{b=c[e>>2]|0;m=f-b|0;h=(m|0)/24|0;f=h+1|0;if((m|0)<-24)rg(e);b=(g-b|0)/24|0;if(b>>>0<1073741823){b=b<<1;b=b>>>0>>0?f:b}else b=2147483647;wg(p,b,h,e+12|0);m=p+8|0;l=c[m>>2]|0;Fg(l,n);c[m>>2]=l+24;yg(e,p);xg(p)}bg(n)}else{c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;Mg(l,m);b=e+4|0;f=c[b>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,l);c[b>>2]=(c[b>>2]|0)+24}else{b=c[e>>2]|0;n=f-b|0;h=(n|0)/24|0;f=h+1|0;if((n|0)<-24)rg(e);b=(g-b|0)/24|0;if(b>>>0<1073741823){b=b<<1;b=b>>>0>>0?f:b}else b=2147483647;wg(p,b,h,e+12|0);n=p+8|0;d=c[n>>2]|0;Fg(d,l);c[n>>2]=d+24;yg(e,p);xg(p)}bg(l);lg(m)}lg(q);b=j+(o+1)|0}}while(0);i=r;return b|0}function Lg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=a[d>>0]|0;h=(g&1)==0;g=h?(g&255)>>>1:c[d+4>>2]|0;f=Ti(e)|0;Sg(b,h?d+1|0:c[d+8>>2]|0,g,g+f|0);dg(b,e,f)|0;return}function Mg(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=a+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ng(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;do if(a[b>>0]&1){m=b+8|0;a[c[m>>2]>>0]=0;k=b+4|0;c[k>>2]=0;e=a[b>>0]|0;if(!(e&1))i=10;else{i=c[b>>2]|0;e=i&255;i=(i&-2)+-1|0}if(!(e&1)){f=(e&255)>>>1;if((e&255)<22){h=10;j=f;l=1}else{h=(f+16&240)+-1|0;j=f;l=1}}else{h=10;j=0;l=0}if((h|0)!=(i|0)){if((h|0)==10){g=b+1|0;f=c[m>>2]|0;if(l){pt(g|0,f|0,((e&255)>>>1)+1|0)|0;jj(f)}else{a[g>>0]=a[f>>0]|0;jj(f)}a[b>>0]=j<<1;break}f=h+1|0;g=ij(f)|0;if(!(h>>>0<=i>>>0&(g|0)==0)){if(l)pt(g|0,b+1|0,((e&255)>>>1)+1|0)|0;else{n=c[m>>2]|0;a[g>>0]=a[n>>0]|0;jj(n)}c[b>>2]=f|1;c[k>>2]=j;c[m>>2]=g}}}else{a[b+1>>0]=0;a[b>>0]=0}while(0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;n=b+12|0;d=d+12|0;do if(a[n>>0]&1){m=b+20|0;a[c[m>>2]>>0]=0;j=b+16|0;c[j>>2]=0;e=a[n>>0]|0;if(!(e&1))i=10;else{i=c[n>>2]|0;e=i&255;i=(i&-2)+-1|0}if(!(e&1)){f=(e&255)>>>1;if((e&255)<22){h=10;k=f;l=1}else{h=(f+16&240)+-1|0;k=f;l=1}}else{h=10;k=0;l=0}if((h|0)!=(i|0)){if((h|0)==10){g=n+1|0;f=c[m>>2]|0;if(l){pt(g|0,f|0,((e&255)>>>1)+1|0)|0;jj(f)}else{a[g>>0]=a[f>>0]|0;jj(f)}a[n>>0]=k<<1;break}f=h+1|0;g=ij(f)|0;if(!(h>>>0<=i>>>0&(g|0)==0)){if(l)pt(g|0,n+1|0,((e&255)>>>1)+1|0)|0;else{b=c[m>>2]|0;a[g>>0]=a[b>>0]|0;jj(b)}c[n>>2]=f|1;c[j>>2]=k;c[m>>2]=g}}}else{a[n+1>>0]=0;a[n>>0]=0}while(0);c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;return}function Og(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;Aa=i;i=i+304|0;ya=Aa+276|0;xa=Aa+264|0;qa=Aa+252|0;ca=Aa+240|0;da=Aa+224|0;ia=Aa+216|0;ra=Aa+204|0;ja=Aa+192|0;ka=Aa+176|0;la=Aa+168|0;sa=Aa+156|0;ma=Aa+144|0;na=Aa+128|0;oa=Aa+124|0;ta=Aa+112|0;pa=Aa+96|0;ea=Aa+76|0;ua=Aa+64|0;fa=Aa+48|0;ga=Aa+8|0;ha=Aa;p=Aa+80|0;n=Aa+60|0;q=Aa+36|0;l=Aa+24|0;o=d;a:do if((o-b|0)>1){za=(a[b>>0]|0)==76?b+1|0:b;f=a[za>>0]|0;switch(f<<24>>24|0){case 78:{b:do if((za|0)!=(d|0))if(f<<24>>24==78?(j=qg(za+1|0,d,xa)|0,(j|0)!=(d|0)):0){f=e+52|0;c[f>>2]=0;switch(a[j>>0]|0){case 82:{c[f>>2]=1;m=j+1|0;break}case 79:{c[f>>2]=2;m=j+1|0;break}default:m=j}ba=e+4|0;f=c[ba>>2]|0;h=c[e+8>>2]|0;if(f>>>0>>0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;aa=f+12|0;c[aa>>2]=0;c[aa+4>>2]=0;c[aa+8>>2]=0;c[ba>>2]=(c[ba>>2]|0)+24}else{j=c[e>>2]|0;aa=f-j|0;l=(aa|0)/24|0;k=l+1|0;if((aa|0)<-24)rg(e);f=(h-j|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?k:f}else f=2147483647;wg(ya,f,l,e+12|0);aa=ya+8|0;$=c[aa>>2]|0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;c[$+12>>2]=0;c[$+16>>2]=0;c[$+20>>2]=0;c[$>>2]=0;c[$+4>>2]=0;c[$+8>>2]=0;_=$+12|0;c[_>>2]=0;c[_+4>>2]=0;c[_+8>>2]=0;c[aa>>2]=$+24;yg(e,ya);xg(ya)}if(((o-m|0)>1?(a[m>>0]|0)==83:0)?(a[m+1>>0]|0)==116:0){Yg((c[ba>>2]|0)+-24|0,19628,3);m=m+2|0}if((m|0)==(d|0)){g=c[ba>>2]|0;f=g+-24|0;while(1){e=g+-24|0;c[ba>>2]=e;bg(e);g=c[ba>>2]|0;if((g|0)==(f|0)){f=za;break b}}}K=ta+8|0;L=ta+1|0;M=ta+4|0;N=e+12|0;O=e+16|0;aa=e+20|0;P=e+24|0;Q=pa+12|0;R=pa+4|0;S=pa+8|0;T=e+28|0;U=ya+8|0;V=ga+12|0;W=ga+4|0;X=ga+8|0;Y=ya+8|0;Z=fa+8|0;_=fa+1|0;$=fa+4|0;p=ca+8|0;q=ca+1|0;r=ca+4|0;s=da+12|0;t=da+4|0;u=da+8|0;v=ya+8|0;w=ka+12|0;x=ka+4|0;y=ka+8|0;z=ya+8|0;A=ja+8|0;B=ja+1|0;C=ja+4|0;D=na+12|0;E=na+4|0;F=na+8|0;G=ya+8|0;H=ma+8|0;I=ma+1|0;J=ma+4|0;f=a[m>>0]|0;c:do if(f<<24>>24!=69){o=0;d:while(1){e:while(1){switch(f<<24>>24|0){case 83:{f=m;n=25;break e}case 84:{f=m;n=44;break e}case 68:{h=m;n=61;break e}case 73:{n=Jg(m,d,e)|0;if((n|0)==(m|0)|(n|0)==(d|0)){f=za;break b}Gg(ta,(c[ba>>2]|0)+-24|0);f=c[ba>>2]|0;h=f+-24|0;j=f;do{m=j+-24|0;c[ba>>2]=m;bg(m);j=c[ba>>2]|0}while((j|0)!=(h|0));h=a[ta>>0]|0;m=(h&1)==0;dg(f+-48|0,m?L:c[K>>2]|0,m?(h&255)>>>1:c[M>>2]|0)|0;f=(c[ba>>2]|0)+-24|0;c[ea>>2]=c[N>>2];Hg(pa,f,ea);f=c[aa>>2]|0;h=c[P>>2]|0;if(f>>>0>>0){c[f+12>>2]=c[Q>>2];c[f>>2]=c[pa>>2];c[f+4>>2]=c[R>>2];c[f+8>>2]=c[S>>2];c[S>>2]=0;c[R>>2]=0;c[pa>>2]=0;c[aa>>2]=(c[aa>>2]|0)+16}else{j=c[O>>2]|0;m=f-j|0;l=m>>4;k=l+1|0;if((m|0)<-16){n=86;break d}f=h-j|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?k:f}else f=2147483647;sg(ya,f,l,T);m=c[U>>2]|0;c[m+12>>2]=c[Q>>2];c[m>>2]=c[pa>>2];c[m+4>>2]=c[R>>2];c[m+8>>2]=c[S>>2];c[S>>2]=0;c[R>>2]=0;c[pa>>2]=0;c[U>>2]=m+16;tg(O,ya);ug(ya)}cg(pa);lg(ta);m=n;break}case 76:{m=m+1|0;if((m|0)==(d|0)){f=za;break b}break}default:{f=m;n=93;break e}}f=a[m>>0]|0;if(f<<24>>24==69){wa=o;va=m;break c}}f:do if((n|0)==25){n=0;o=f+1|0;if((o|0)!=(d|0)?(a[o>>0]|0)==116:0){n=93;break}m=Pg(f,d,e)|0;if((m|0)==(f|0)|(m|0)==(d|0)){f=za;break b}Gg(qa,(c[ba>>2]|0)+-24|0);j=c[ba>>2]|0;f=j+-24|0;h=j;do{o=h+-24|0;c[ba>>2]=o;bg(o);h=c[ba>>2]|0}while((h|0)!=(f|0));h=j+-48|0;f=a[h>>0]|0;if(!(f&1))f=(f&255)>>>1;else f=c[j+-44>>2]|0;if(!f)Zg(h,qa);else{Rg(ca,19632,qa);f=a[ca>>0]|0;o=(f&1)==0;dg(h,o?q:c[p>>2]|0,o?(f&255)>>>1:c[r>>2]|0)|0;lg(ca);f=(c[ba>>2]|0)+-24|0;c[ia>>2]=c[N>>2];Hg(da,f,ia);f=c[aa>>2]|0;h=c[P>>2]|0;if(f>>>0>>0){c[f+12>>2]=c[s>>2];c[f>>2]=c[da>>2];c[f+4>>2]=c[t>>2];c[f+8>>2]=c[u>>2];c[u>>2]=0;c[t>>2]=0;c[da>>2]=0;c[aa>>2]=(c[aa>>2]|0)+16}else{j=c[O>>2]|0;o=f-j|0;l=o>>4;k=l+1|0;if((o|0)<-16){n=37;break d}f=h-j|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?k:f}else f=2147483647;sg(ya,f,l,T);o=c[v>>2]|0;c[o+12>>2]=c[s>>2];c[o>>2]=c[da>>2];c[o+4>>2]=c[t>>2];c[o+8>>2]=c[u>>2];c[u>>2]=0;c[t>>2]=0;c[da>>2]=0;c[v>>2]=o+16;tg(O,ya);ug(ya)}cg(da)}lg(qa)}else if((n|0)==44){n=0;m=Ig(f,d,e)|0;if((m|0)==(f|0)|(m|0)==(d|0)){f=za;break b}Gg(ra,(c[ba>>2]|0)+-24|0);j=c[ba>>2]|0;f=j+-24|0;h=j;do{o=h+-24|0;c[ba>>2]=o;bg(o);h=c[ba>>2]|0}while((h|0)!=(f|0));h=j+-48|0;f=a[h>>0]|0;if(!(f&1))f=(f&255)>>>1;else f=c[j+-44>>2]|0;if(!f)Zg(h,ra);else{Rg(ja,19632,ra);o=a[ja>>0]|0;l=(o&1)==0;dg(h,l?B:c[A>>2]|0,l?(o&255)>>>1:c[C>>2]|0)|0;lg(ja)}f=(c[ba>>2]|0)+-24|0;c[la>>2]=c[N>>2];Hg(ka,f,la);f=c[aa>>2]|0;h=c[P>>2]|0;if(f>>>0>>0){c[f+12>>2]=c[w>>2];c[f>>2]=c[ka>>2];c[f+4>>2]=c[x>>2];c[f+8>>2]=c[y>>2];c[y>>2]=0;c[x>>2]=0;c[ka>>2]=0;c[aa>>2]=(c[aa>>2]|0)+16}else{j=c[O>>2]|0;o=f-j|0;l=o>>4;k=l+1|0;if((o|0)<-16){n=56;break d}f=h-j|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?k:f}else f=2147483647;sg(ya,f,l,T);o=c[z>>2]|0;c[o+12>>2]=c[w>>2];c[o>>2]=c[ka>>2];c[o+4>>2]=c[x>>2];c[o+8>>2]=c[y>>2];c[y>>2]=0;c[x>>2]=0;c[ka>>2]=0;c[z>>2]=o+16;tg(O,ya);ug(ya)}cg(ka);lg(ra)}else if((n|0)==61){n=0;f=h+1|0;if((f|0)!=(d|0))switch(a[f>>0]|0){case 84:case 116:break;default:{f=h;n=93;break f}}m=Qg(h,d,e)|0;if((m|0)==(h|0)|(m|0)==(d|0)){f=za;break b}Gg(sa,(c[ba>>2]|0)+-24|0);j=c[ba>>2]|0;f=j+-24|0;h=j;do{o=h+-24|0;c[ba>>2]=o;bg(o);h=c[ba>>2]|0}while((h|0)!=(f|0));h=j+-48|0;f=a[h>>0]|0;if(!(f&1))f=(f&255)>>>1;else f=c[j+-44>>2]|0;if(!f)Zg(h,sa);else{Rg(ma,19632,sa);o=a[ma>>0]|0;l=(o&1)==0;dg(h,l?I:c[H>>2]|0,l?(o&255)>>>1:c[J>>2]|0)|0;lg(ma)}f=(c[ba>>2]|0)+-24|0;c[oa>>2]=c[N>>2];Hg(na,f,oa);f=c[aa>>2]|0;h=c[P>>2]|0;if(f>>>0>>0){c[f+12>>2]=c[D>>2];c[f>>2]=c[na>>2];c[f+4>>2]=c[E>>2];c[f+8>>2]=c[F>>2];c[F>>2]=0;c[E>>2]=0;c[na>>2]=0;c[aa>>2]=(c[aa>>2]|0)+16}else{j=c[O>>2]|0;o=f-j|0;l=o>>4;k=l+1|0;if((o|0)<-16){n=75;break d}f=h-j|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?k:f}else f=2147483647;sg(ya,f,l,T);o=c[G>>2]|0;c[o+12>>2]=c[D>>2];c[o>>2]=c[na>>2];c[o+4>>2]=c[E>>2];c[o+8>>2]=c[F>>2];c[F>>2]=0;c[E>>2]=0;c[na>>2]=0;c[G>>2]=o+16;tg(O,ya);ug(ya)}cg(na);lg(sa)}while(0);if((n|0)==93){m=_g(f,d,e)|0;if((m|0)==(f|0)|(m|0)==(d|0)){f=za;break b}Gg(ua,(c[ba>>2]|0)+-24|0);j=c[ba>>2]|0;f=j+-24|0;h=j;do{o=h+-24|0;c[ba>>2]=o;bg(o);h=c[ba>>2]|0}while((h|0)!=(f|0));h=j+-48|0;f=a[h>>0]|0;if(!(f&1))f=(f&255)>>>1;else f=c[j+-44>>2]|0;if(!f)Zg(h,ua);else{Rg(fa,19632,ua);o=a[fa>>0]|0;n=(o&1)==0;dg(h,n?_:c[Z>>2]|0,n?(o&255)>>>1:c[$>>2]|0)|0;lg(fa)}f=(c[ba>>2]|0)+-24|0;c[ha>>2]=c[N>>2];Hg(ga,f,ha);f=c[aa>>2]|0;h=c[P>>2]|0;if(f>>>0>>0){c[f+12>>2]=c[V>>2];c[f>>2]=c[ga>>2];c[f+4>>2]=c[W>>2];c[f+8>>2]=c[X>>2];c[X>>2]=0;c[W>>2]=0;c[ga>>2]=0;c[aa>>2]=(c[aa>>2]|0)+16}else{j=c[O>>2]|0;o=f-j|0;l=o>>4;k=l+1|0;if((o|0)<-16){n=105;break}f=h-j|0;if(f>>4>>>0<1073741823){f=f>>3;f=f>>>0>>0?k:f}else f=2147483647;sg(ya,f,l,T);o=c[Y>>2]|0;c[o+12>>2]=c[V>>2];c[o>>2]=c[ga>>2];c[o+4>>2]=c[W>>2];c[o+8>>2]=c[X>>2];c[X>>2]=0;c[W>>2]=0;c[ga>>2]=0;c[Y>>2]=o+16;tg(O,ya);ug(ya)}cg(ga);lg(ua)}f=a[m>>0]|0;if(f<<24>>24==69){wa=1;va=m;break c}else o=1}if((n|0)==37)rg(O);else if((n|0)==56)rg(O);else if((n|0)==75)rg(O);else if((n|0)==86)rg(O);else if((n|0)==105)rg(O)}else{wa=0;va=m}while(0);f=va+1|0;c[e+48>>2]=c[xa>>2];if(wa?(g=c[aa>>2]|0,(c[e+16>>2]|0)!=(g|0)):0){h=g+-16|0;do{e=g+-16|0;c[aa>>2]=e;cg(e);g=c[aa>>2]|0}while((g|0)!=(h|0))}}else f=za;else f=d;while(0);f=(f|0)==(za|0)?b:f;break a}case 90:{g:do if((za|0)!=(d|0))if(((f<<24>>24==90?(wa=za+1|0,h=mg(wa,d,e)|0,!((h|0)==(wa|0)|(h|0)==(d|0))):0)?(a[h>>0]|0)==69:0)?(k=h+1|0,(k|0)!=(d|0)):0)switch(a[k>>0]|0){case 115:{f=$g(h+2|0,d)|0;g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0))break g;og(g+-24|0,19635)|0;break g}case 100:{f=h+2|0;if((f|0)==(d|0)){f=za;break g}f=Cg(f,d)|0;if((f|0)==(d|0)){f=za;break g}if((a[f>>0]|0)!=95){f=za;break g}xa=f+1|0;f=Og(xa,d,e)|0;k=e+4|0;h=c[k>>2]|0;if((f|0)==(xa|0)){g=h+-24|0;f=h;while(1){e=f+-24|0;c[k>>2]=e;bg(e);f=c[k>>2]|0;if((f|0)==(g|0)){f=za;break g}}}if(((h-(c[e>>2]|0)|0)/24|0)>>>0<2){f=za;break g}Gg(ya,h+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{e=j+-24|0;c[k>>2]=e;bg(e);j=c[k>>2]|0}while((j|0)!=(h|0));og(g+-48|0,19632)|0;e=a[ya>>0]|0;d=(e&1)==0;dg((c[k>>2]|0)+-24|0,d?ya+1|0:c[ya+8>>2]|0,d?(e&255)>>>1:c[ya+4>>2]|0)|0;lg(ya);break g}default:{f=Og(k,d,e)|0;if((f|0)==(k|0)){f=e+4|0;h=c[f>>2]|0;g=h+-24|0;while(1){e=h+-24|0;c[f>>2]=e;bg(e);h=c[f>>2]|0;if((h|0)==(g|0)){f=za;break g}}}f=$g(f,d)|0;k=e+4|0;g=c[k>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0<2)break g;Gg(xa,g+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{e=j+-24|0;c[k>>2]=e;bg(e);j=c[k>>2]|0}while((j|0)!=(h|0));og(g+-48|0,19632)|0;e=a[xa>>0]|0;ya=(e&1)==0;dg((c[k>>2]|0)+-24|0,ya?xa+1|0:c[xa+8>>2]|0,ya?(e&255)>>>1:c[xa+4>>2]|0)|0;lg(xa);break g}}else f=za;else f=d;while(0);i=Aa;return ((f|0)==(za|0)?b:f)|0}default:{do if((o-za|0)>1){if(f<<24>>24==83?(a[za+1>>0]|0)==116:0){f=za+2|0;if((f|0)==(d|0)){h=0;g=d}else{h=0;g=(a[f>>0]|0)==76?za+3|0:f}}else{h=1;g=za}f=_g(g,d,e)|0;g=(f|0)==(g|0);if(h|g)f=g?za:f;else{g=c[e+4>>2]|0;if((c[e>>2]|0)==(g|0))break;ng(g+-24|0,0,19652)|0}if((f|0)!=(za|0)){if((f|0)==(d|0)){f=d;break a}if((a[f>>0]|0)!=73)break a;m=e+4|0;g=c[m>>2]|0;if((c[e>>2]|0)==(g|0)){f=b;break a}l=e+16|0;c[n>>2]=c[e+12>>2];Hg(p,g+-24|0,n);g=e+20|0;h=c[g>>2]|0;j=c[e+24>>2]|0;if(h>>>0>>0){c[h+12>>2]=c[p+12>>2];c[h>>2]=c[p>>2];za=p+4|0;c[h+4>>2]=c[za>>2];ya=p+8|0;c[h+8>>2]=c[ya>>2];c[ya>>2]=0;c[za>>2]=0;c[p>>2]=0;c[g>>2]=(c[g>>2]|0)+16}else{g=c[l>>2]|0;za=h-g|0;k=za>>4;h=k+1|0;if((za|0)<-16)rg(l);g=j-g|0;if(g>>4>>>0<1073741823){g=g>>3;g=g>>>0>>0?h:g}else g=2147483647;sg(ya,g,k,e+28|0);za=ya+8|0;xa=c[za>>2]|0;c[xa+12>>2]=c[p+12>>2];c[xa>>2]=c[p>>2];wa=p+4|0;c[xa+4>>2]=c[wa>>2];va=p+8|0;c[xa+8>>2]=c[va>>2];c[va>>2]=0;c[wa>>2]=0;c[p>>2]=0;c[za>>2]=xa+16;tg(l,ya);ug(ya)}cg(p);j=Jg(f,d,e)|0;if((j|0)==(f|0)){f=b;break a}f=c[m>>2]|0;if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Gg(q,f+-24|0);f=c[m>>2]|0;g=f+-24|0;h=f;do{b=h+-24|0;c[m>>2]=b;bg(b);h=c[m>>2]|0}while((h|0)!=(g|0));b=a[q>>0]|0;za=(b&1)==0;dg(f+-48|0,za?q+1|0:c[q+8>>2]|0,za?(b&255)>>>1:c[q+4>>2]|0)|0;lg(q);f=j;break a}}while(0);g=Pg(za,d,e)|0;if((g|0)==(za|0)|(g|0)==(d|0)){f=b;break a}if((a[g>>0]|0)!=73){f=b;break a}f=Jg(g,d,e)|0;if((f|0)==(g|0)){f=b;break a}k=e+4|0;g=c[k>>2]|0;if(((g-(c[e>>2]|0)|0)/24|0)>>>0<2){f=b;break a}Gg(l,g+-24|0);g=c[k>>2]|0;h=g+-24|0;j=g;do{b=j+-24|0;c[k>>2]=b;bg(b);j=c[k>>2]|0}while((j|0)!=(h|0));b=a[l>>0]|0;za=(b&1)==0;dg(g+-48|0,za?l+1|0:c[l+8>>2]|0,za?(b&255)>>>1:c[l+4>>2]|0)|0;lg(l);break a}}}else f=b;while(0);i=Aa;return f|0}function Pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+176|0;q=r+144|0;k=r+120|0;l=r+96|0;m=r+72|0;n=r+48|0;o=r+24|0;p=r;a:do if((d-b|0)>1?(a[b>>0]|0)==83:0){g=b+1|0;f=a[g>>0]|0;h=f<<24>>24;switch(h|0){case 97:{Tg(k,19543);f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Fg(g,k);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;d=g-f|0;j=(d|0)/24|0;g=j+1|0;if((d|0)<-24)rg(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;wg(q,f,j,e+12|0);d=q+8|0;p=c[d>>2]|0;Fg(p,k);c[d>>2]=p+24;yg(e,q);xg(q)}bg(k);b=b+2|0;break a}case 98:{Ug(l,19558);f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Fg(g,l);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;d=g-f|0;j=(d|0)/24|0;g=j+1|0;if((d|0)<-24)rg(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;wg(q,f,j,e+12|0);d=q+8|0;p=c[d>>2]|0;Fg(p,l);c[d>>2]=p+24;yg(e,q);xg(q)}bg(l);b=b+2|0;break a}case 115:{Vg(m,19576);f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Fg(g,m);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;d=g-f|0;j=(d|0)/24|0;g=j+1|0;if((d|0)<-24)rg(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;wg(q,f,j,e+12|0);d=q+8|0;p=c[d>>2]|0;Fg(p,m);c[d>>2]=p+24;yg(e,q);xg(q)}bg(m);b=b+2|0;break a}case 105:{Wg(n,19588);f=e+4|0;g=c[f>>2]|0;j=c[e+8>>2]|0;if(g>>>0>>0){Fg(g,n);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;d=g-f|0;h=(d|0)/24|0;g=h+1|0;if((d|0)<-24)rg(e);f=(j-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;wg(q,f,h,e+12|0);d=q+8|0;p=c[d>>2]|0;Fg(p,n);c[d>>2]=p+24;yg(e,q);xg(q)}bg(n);b=b+2|0;break a}case 111:{Wg(o,19601);f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Fg(g,o);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;d=g-f|0;j=(d|0)/24|0;g=j+1|0;if((d|0)<-24)rg(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;wg(q,f,j,e+12|0);d=q+8|0;p=c[d>>2]|0;Fg(p,o);c[d>>2]=p+24;yg(e,q);xg(q)}bg(o);b=b+2|0;break a}case 100:{Xg(p,19614);f=e+4|0;g=c[f>>2]|0;h=c[e+8>>2]|0;if(g>>>0>>0){Fg(g,p);c[f>>2]=(c[f>>2]|0)+24}else{f=c[e>>2]|0;d=g-f|0;j=(d|0)/24|0;g=j+1|0;if((d|0)<-24)rg(e);f=(h-f|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;wg(q,f,j,e+12|0);d=q+8|0;o=c[d>>2]|0;Fg(o,p);c[d>>2]=o+24;yg(e,q);xg(q)}bg(p);b=b+2|0;break a}case 95:{f=c[e+16>>2]|0;if((f|0)==(c[e+20>>2]|0))break a;g=c[f>>2]|0;j=c[f+4>>2]|0;k=e+4|0;l=e+8|0;m=e+12|0;n=q+8|0;b:do if((g|0)!=(j|0)){while(1){f=c[k>>2]|0;if((f|0)==(c[l>>2]|0)){d=f-(c[e>>2]|0)|0;h=(d|0)/24|0;f=h+1|0;if((d|0)<-24)break;if(h>>>0<1073741823){d=h<<1;f=d>>>0>>0?f:d}else f=2147483647;wg(q,f,h,m);d=c[n>>2]|0;vg(d,g);vg(d+12|0,g+12|0);c[n>>2]=d+24;yg(e,q);xg(q)}else{vg(f,g);vg(f+12|0,g+12|0);c[k>>2]=(c[k>>2]|0)+24}g=g+24|0;if((g|0)==(j|0))break b}rg(e)}while(0);b=b+2|0;break a}default:{if((h+-48|0)>>>0>=10){if(!(Eh(h)|0))break a;f=a[g>>0]|0}f=f<<24>>24;g=f+-48|0;h=b+2|0;if((h|0)==(d|0))break a;g=g>>>0<10?g:f+-55|0;while(1){f=a[h>>0]|0;j=f<<24>>24;if((j+-48|0)>>>0>=10){p=(Eh(j)|0)==0;f=a[h>>0]|0;if(p)break}f=f<<24>>24;j=f+-48|0;h=h+1|0;if((h|0)==(d|0))break a;else g=(j>>>0<10?j:f+-55|0)+(g*36|0)|0}if(f<<24>>24!=95)break a;f=g+1|0;g=c[e+16>>2]|0;if(f>>>0>=(c[e+20>>2]|0)-g>>4>>>0)break a;b=c[g+(f<<4)>>2]|0;j=c[g+(f<<4)+4>>2]|0;k=e+4|0;l=e+8|0;m=e+12|0;n=q+8|0;c:do if((b|0)!=(j|0)){g=b;while(1){b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){d=b-(c[e>>2]|0)|0;f=(d|0)/24|0;b=f+1|0;if((d|0)<-24)break;if(f>>>0<1073741823){d=f<<1;b=d>>>0>>0?b:d}else b=2147483647;wg(q,b,f,m);d=c[n>>2]|0;vg(d,g);vg(d+12|0,g+12|0);c[n>>2]=d+24;yg(e,q);xg(q)}else{vg(b,g);vg(b+12|0,g+12|0);c[k>>2]=(c[k>>2]|0)+24}g=g+24|0;if((g|0)==(j|0))break c}rg(e)}while(0);b=h+1|0;break a}}}while(0);i=r;return b|0}function Qg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+64|0;f=m+40|0;g=m+24|0;j=m+12|0;l=m;a:do if((d-b|0)>3?(a[b>>0]|0)==68:0){switch(a[b+1>>0]|0){case 84:case 116:break;default:break a}n=b+2|0;h=Eg(n,d,e)|0;if((!((h|0)==(n|0)|(h|0)==(d|0))?(a[h>>0]|0)==69:0)?(k=c[e+4>>2]|0,(c[e>>2]|0)!=(k|0)):0){b=k+-24|0;Gg(l,b);n=ng(l,0,19533)|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;n=og(j,19349)|0;c[g>>2]=c[n>>2];c[g+4>>2]=c[n+4>>2];c[g+8>>2]=c[n+8>>2];c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Mg(f,g);Ng(b,f);bg(f);lg(g);lg(j);lg(l);b=h+1|0}}while(0);i=m;return b|0}function Rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=Ti(d)|0;f=a[e>>0]|0;f=(f&1)==0?(f&255)>>>1:c[e+4>>2]|0;Sg(b,d,g,f+g|0);dg(b,(a[e>>0]&1)==0?e+1|0:c[e+8>>2]|0,f)|0;return}function Sg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;if(f>>>0>4294967279)kf(b);if(f>>>0<11){a[b>>0]=e<<1;f=b+1|0}else{g=f+16&-16;f=ij(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e}pt(f|0,d|0,e|0)|0;a[f+e>>0]=0;return}function Tg(a,b){a=a|0;b=b|0;Ag(a,b,14);a=a+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Ug(a,b){a=a|0;b=b|0;Ag(a,b,17);a=a+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Vg(a,b){a=a|0;b=b|0;Ag(a,b,11);a=a+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Wg(a,b){a=a|0;b=b|0;Ag(a,b,12);a=a+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Xg(a,b){a=a|0;b=b|0;Ag(a,b,13);a=a+12|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Yg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a[b>>0]|0;if(!(f&1))h=10;else{f=c[b>>2]|0;h=(f&-2)+-1|0;f=f&255}g=(f&1)==0;do if(h>>>0>=e>>>0){if(g)f=b+1|0;else f=c[b+8>>2]|0;rt(f|0,d|0,e|0)|0;a[f+e>>0]=0;if(!(a[b>>0]&1)){a[b>>0]=e<<1;break}else{c[b+4>>2]=e;break}}else{if(g)f=(f&255)>>>1;else f=c[b+4>>2]|0;kg(b,h,e-h|0,f,0,f,e,d)}while(0);return}function Zg(b,d){b=b|0;d=d|0;var e=0,f=0;if((b|0)!=(d|0)){e=a[d>>0]|0;f=(e&1)==0;Yg(b,f?d+1|0:c[d+8>>2]|0,f?(e&255)>>>1:c[d+4>>2]|0)}return}function _g(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+128|0;p=v+104|0;m=v+80|0;n=v+64|0;l=v+40|0;o=v+24|0;t=v+12|0;s=v;a:do if((b|0)!=(d|0)){g=a[b>>0]|0;h=g<<24>>24;switch(h|0){case 68:case 67:{b:do if((d-b|0)>1?(k=e+4|0,f=c[k>>2]|0,(c[e>>2]|0)!=(f|0)):0)switch(h|0){case 67:{switch(a[b+1>>0]|0){case 53:case 51:case 50:case 49:break;default:break b}ah(n,f+-24|0);Mg(m,n);f=c[k>>2]|0;j=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,m);c[k>>2]=(c[k>>2]|0)+24}else{g=c[e>>2]|0;d=f-g|0;k=(d|0)/24|0;h=k+1|0;if((d|0)<-24)rg(e);f=(j-g|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f}else f=2147483647;wg(p,f,k,e+12|0);d=p+8|0;u=c[d>>2]|0;Fg(u,m);c[d>>2]=u+24;yg(e,p);xg(p)}bg(m);lg(n);a[e+60>>0]=1;b=b+2|0;break b}case 68:{switch(a[b+1>>0]|0){case 53:case 50:case 49:case 48:break;default:break b}ah(t,f+-24|0);f=ng(t,0,19658)|0;c[o>>2]=c[f>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;Mg(l,o);f=c[k>>2]|0;j=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,l);c[k>>2]=(c[k>>2]|0)+24}else{g=c[e>>2]|0;d=f-g|0;k=(d|0)/24|0;h=k+1|0;if((d|0)<-24)rg(e);f=(j-g|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?h:f}else f=2147483647;wg(p,f,k,e+12|0);d=p+8|0;u=c[d>>2]|0;Fg(u,l);c[d>>2]=u+24;yg(e,p);xg(p)}bg(l);lg(o);lg(t);a[e+60>>0]=1;b=b+2|0;break b}default:break b}while(0);break a}case 85:{c:do if((d-b|0)>2&g<<24>>24==85){switch(a[b+1>>0]|0){case 116:{Ag(n,19660,8);Mg(m,n);l=e+4|0;f=c[l>>2]|0;h=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,m);c[l>>2]=(c[l>>2]|0)+24}else{j=c[e>>2]|0;u=f-j|0;k=(u|0)/24|0;g=k+1|0;if((u|0)<-24)rg(e);f=(h-j|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?g:f}else f=2147483647;wg(p,f,k,e+12|0);u=p+8|0;t=c[u>>2]|0;Fg(t,m);c[u>>2]=t+24;yg(e,p);xg(p)}bg(m);lg(n);f=b+2|0;if((f|0)==(d|0)){g=c[l>>2]|0;f=g+-24|0;while(1){d=g+-24|0;c[l>>2]=d;bg(d);g=c[l>>2]|0;if((g|0)==(f|0))break c}}if(((a[f>>0]|0)+-48|0)>>>0<10){g=b+3|0;d:do if((g|0)==(d|0))g=d;else while(1){if(((a[g>>0]|0)+-48|0)>>>0>=10)break d;g=g+1|0;if((g|0)==(d|0)){g=d;break}}while(0);bh((c[l>>2]|0)+-24|0,f,g);f=g}ch((c[l>>2]|0)+-24|0,39);if((f|0)!=(d|0)?(a[f>>0]|0)==95:0){b=f+1|0;break c}g=c[l>>2]|0;f=g+-24|0;while(1){d=g+-24|0;c[l>>2]=d;bg(d);g=c[l>>2]|0;if((g|0)==(f|0))break c}}case 108:break;default:break c}Ag(o,19669,9);Mg(l,o);u=e+4|0;f=c[u>>2]|0;g=c[e+8>>2]|0;if(f>>>0>>0){Fg(f,l);c[u>>2]=(c[u>>2]|0)+24}else{h=c[e>>2]|0;r=f-h|0;k=(r|0)/24|0;j=k+1|0;if((r|0)<-24)rg(e);f=(g-h|0)/24|0;if(f>>>0<1073741823){f=f<<1;f=f>>>0>>0?j:f}else f=2147483647;wg(p,f,k,e+12|0);r=p+8|0;q=c[r>>2]|0;Fg(q,l);c[r>>2]=q+24;yg(e,p);xg(p)}bg(l);lg(o);h=b+2|0;do if((a[h>>0]|0)!=118){g=pg(h,d,e)|0;f=c[u>>2]|0;if((g|0)==(h|0)){g=f+-24|0;while(1){d=f+-24|0;c[u>>2]=d;bg(d);f=c[u>>2]|0;if((f|0)==(g|0))break c}}if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2)break c;Gg(t,f+-24|0);j=c[u>>2]|0;f=j+-24|0;h=j;do{r=h+-24|0;c[u>>2]=r;bg(r);h=c[u>>2]|0}while((h|0)!=(f|0));h=a[t>>0]|0;n=(h&1)==0;p=t+8|0;q=t+1|0;r=t+4|0;dg(j+-48|0,n?q:c[p>>2]|0,n?(h&255)>>>1:c[r>>2]|0)|0;n=s+4|0;o=s+8|0;while(1){m=pg(g,d,e)|0;f=c[u>>2]|0;if((m|0)==(g|0)){h=79;break}if(((f-(c[e>>2]|0)|0)/24|0)>>>0<2){h=113;break}Gg(s,f+-24|0);e:do if(!(h&1)){a[q>>0]=0;a[t>>0]=0}else{g=c[p>>2]|0;a[g>>0]=0;c[r>>2]=0;k=c[t>>2]|0;l=(k&-2)+-1|0;h=k&255;do if(!(h&1)){f=k>>>1&127;if((h&255)<22){pt(q|0,g|0,(k>>>1&127)+1|0)|0;jj(g);break}g=f+16&240;j=g+-1|0;if((j|0)==(l|0))break e;h=ij(g)|0;if(j>>>0<=l>>>0&(h|0)==0)break e;pt(h|0,q|0,(k>>>1&127)+1|0)|0;c[t>>2]=g|1;c[r>>2]=f;c[p>>2]=h;break e}else{a[q>>0]=0;jj(g);f=0}while(0);a[t>>0]=f<<1}while(0);c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[s>>2]=0;c[n>>2]=0;c[o>>2]=0;lg(s);j=c[u>>2]|0;f=j+-24|0;g=j;do{l=g+-24|0;c[u>>2]=l;bg(l);g=c[u>>2]|0}while((g|0)!=(f|0));h=a[t>>0]|0;f=(h&1)==0;g=f?(h&255)>>>1:c[r>>2]|0;if(!g){g=m;continue}og(j+-48|0,19446)|0;dg((c[u>>2]|0)+-24|0,f?q:c[p>>2]|0,g)|0;g=m}if((h|0)==79){og(f+-24|0,19349)|0;lg(t);break}else if((h|0)==113){lg(t);break c}}else{ch((c[u>>2]|0)+-24|0,41);g=b+3|0}while(0);if((g|0)!=(d|0)?(a[g>>0]|0)==69:0){f=g+1|0;if((f|0)==(d|0)){g=c[u>>2]|0;f=g+-24|0;while(1){d=g+-24|0;c[u>>2]=d;bg(d);g=c[u>>2]|0;if((g|0)==(f|0))break c}}if(((a[f>>0]|0)+-48|0)>>>0<10){g=g+2|0;f:do if((g|0)==(d|0))g=d;else while(1){if(((a[g>>0]|0)+-48|0)>>>0>=10)break f;g=g+1|0;if((g|0)==(d|0)){g=d;break}}while(0);m=c[u>>2]|0;n=m+-24|0;h=a[n>>0]|0;if(!(h&1)){j=10;l=(h&255)>>>1}else{h=c[n>>2]|0;j=(h&-2)+-1|0;l=c[m+-20>>2]|0;h=h&255}k=g-f|0;if((g|0)!=(f|0)){if((j-l|0)>>>0>=k>>>0){if(!(h&1))h=n+1|0;else h=c[m+-16>>2]|0;if((l|0)==7)j=h;else{rt(h+(k+7)|0,h+7|0,l+-7|0)|0;j=h}}else{dh(n,j,l+k-j|0,l,7,k);j=c[m+-16>>2]|0}h=l+k|0;if(!(a[n>>0]&1))a[n>>0]=h<<1;else c[m+-20>>2]=h;a[j+h>>0]=0;if((f|0)==(g|0))f=g;else{h=j+7|0;while(1){a[h>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(g|0)){f=g;break}else h=h+1|0}}}}if((f|0)!=(d|0)?(a[f>>0]|0)==95:0){b=f+1|0;break}g=c[u>>2]|0;f=g+-24|0;while(1){d=g+-24|0;c[u>>2]=d;bg(d);g=c[u>>2]|0;if((g|0)==(f|0))break c}}g=c[u>>2]|0;f=g+-24|0;do{d=g+-24|0;c[u>>2]=d;bg(d);g=c[u>>2]|0}while((g|0)!=(f|0))}while(0);break a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{d=Kg(b,d,e)|0;i=v;return d|0}default:{b=eh(b,d,e)|0;break a}}}while(0);i=v;return b|0}function $g(b,c){b=b|0;c=c|0;var d=0,e=0;a:do if((b|0)!=(c|0)){e=a[b>>0]|0;if(e<<24>>24!=95){if(((e<<24>>24)+-48|0)>>>0>=10)break;while(1){b=b+1|0;if((b|0)==(c|0)){b=c;break a}if(((a[b>>0]|0)+-48|0)>>>0>=10)break a}}e=b+1|0;if((e|0)!=(c|0)){e=a[e>>0]|0;if(((e<<24>>24)+-48|0)>>>0<10){b=b+2|0;break}if(e<<24>>24==95?(d=b+2|0,(d|0)!=(c|0)):0){while(1){e=a[d>>0]|0;if(((e<<24>>24)+-48|0)>>>0>=10)break;d=d+1|0;if((d|0)==(c|0))break a}return (e<<24>>24==95?d+1|0:b)|0}}}while(0);return b|0}function ah(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=a[d>>0]|0;e=(h&1)==0;h=e?(h&255)>>>1:c[d+4>>2]|0;a:do if(!h)vg(b,d);else{e=e?d+1|0:c[d+8>>2]|0;f=h>>>0>11;g=Pi(e,19576,f?11:h)|0;if(!(((g|0)==0?(h>>>0<11?-1:f&1):g)|0)){Yg(d,20180,70);Ag(b,20251,12);break}f=h>>>0>12;g=f?12:h;i=Pi(e,19588,g)|0;f=h>>>0<12?-1:f&1;if(!(((i|0)==0?f:i)|0)){Yg(d,20264,49);Ag(b,20314,13);break}i=Pi(e,19601,g)|0;if(!(((i|0)==0?f:i)|0)){Yg(d,20328,49);Ag(b,20378,13);break}g=h>>>0>13;i=Pi(e,19614,g?13:h)|0;if(!(((i|0)==0?(h>>>0<13?-1:g&1):i)|0)){Yg(d,20392,50);Ag(b,20443,14);break}f=e+h|0;b:do if((a[e+(h+-1)>>0]|0)==62){d=1;c:while(1){g=f;d:while(1){f=g+-1|0;if((f|0)==(e|0))break c;g=g+-2|0;switch(a[g>>0]|0){case 60:{h=16;break d}case 62:{h=17;break d}default:g=f}}if((h|0)==16){d=d+-1|0;if(!d){f=g;break b}else continue}else if((h|0)==17){d=d+1|0;continue}}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;break a}while(0);d=f;while(1){g=d+-1|0;if((g|0)==(e|0))break;if((a[g>>0]|0)==58){e=d;break}else d=g}h=f-e|0;if(h>>>0>4294967279)kf(b);if(h>>>0<11){a[b>>0]=h<<1;d=b+1|0}else{i=h+16&-16;d=ij(i)|0;c[b+8>>2]=d;c[b>>2]=i|1;c[b+4>>2]=h}if((e|0)!=(f|0)){g=d;while(1){a[g>>0]=a[e>>0]|0;e=e+1|0;if((e|0)==(f|0))break;else g=g+1|0}}a[d+h>>0]=0}while(0);return}function bh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=10;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h|0;do if((e|0)!=(d|0)){if((g-k|0)>>>0>>0){dh(b,g,k+j-g|0,k,k,0);f=a[b>>0]|0}if(!(f&1))i=b+1|0;else i=c[b+8>>2]|0;h=e+(k-h)|0;if((d|0)!=(e|0)){f=d;g=i+k|0;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else g=g+1|0}}a[i+h>>0]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}while(0);return}function ch(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a[b>>0]|0;f=(e&1)!=0;if(f){g=(c[b>>2]&-2)+-1|0;h=c[b+4>>2]|0}else{g=10;h=(e&255)>>>1}if((h|0)==(g|0)){dh(b,g,1,g,g,0);if(!(a[b>>0]&1))g=7;else g=8}else if(f)g=8;else g=7;if((g|0)==7){a[b>>0]=(h<<1)+2;e=b+1|0;f=h+1|0}else if((g|0)==8){e=c[b+8>>2]|0;f=h+1|0;c[b+4>>2]=f}a[e+h>>0]=d;a[e+f>>0]=0;return}function dh(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;if((-17-d|0)>>>0>>0)kf(b);if(!(a[b>>0]&1))j=b+1|0;else j=c[b+8>>2]|0;if(d>>>0<2147483623){e=e+d|0;i=d<<1;e=e>>>0>>0?i:e;e=e>>>0<11?11:e+16&-16}else e=-17;i=ij(e)|0;if(g)pt(i|0,j|0,g|0)|0;if((f|0)!=(g|0))pt(i+(h+g)|0,j+g|0,f-g|0)|0;if((d|0)!=10)jj(j);c[b+8>>2]=i;c[b>>2]=e|1;return} +function Lr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=ir(f)|0;qm(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Zj(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){Zj(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Zj(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if(mm(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}v=et(f,c[v>>2]|0,g,u)|0;c[h>>2]=v;c[h+4>>2]=D;Zo(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Vj(x);Vj(y);i=z;return A|0}function Mr(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+320|0;s=A+208|0;k=A+200|0;z=A+24|0;y=A+12|0;w=A+8|0;x=A+40|0;u=A+4|0;t=A;v=ir(g)|0;qm(z,g,s,k);c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;if(!(a[y>>0]&1))d=10;else d=(c[y>>2]&-2)+-1|0;Zj(y,d,0);p=y+8|0;q=y+1|0;g=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=g;c[u>>2]=x;c[t>>2]=0;r=y+4|0;o=c[k>>2]|0;k=c[e>>2]|0;a:while(1){if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else d=c[d>>2]|0;if((d|0)==-1){c[e>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}l=c[f>>2]|0;do if(l){d=c[l+12>>2]|0;if((d|0)==(c[l+16>>2]|0))d=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else d=c[d>>2]|0;if((d|0)!=-1)if(m){n=l;break}else break a;else{c[f>>2]=0;B=16;break}}else B=16;while(0);if((B|0)==16){B=0;if(m){l=0;break}else n=0}l=a[y>>0]|0;l=(l&1)==0?(l&255)>>>1:c[r>>2]|0;if((c[w>>2]|0)==(g+l|0)){Zj(y,l<<1,0);if(!(a[y>>0]&1))d=10;else d=(c[y>>2]&-2)+-1|0;Zj(y,d,0);g=(a[y>>0]&1)==0?q:c[p>>2]|0;c[w>>2]=g+l}l=k+12|0;d=c[l>>2]|0;m=k+16|0;if((d|0)==(c[m>>2]|0))d=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else d=c[d>>2]|0;if(mm(d,v,g,w,t,o,z,x,u,s)|0){l=n;break}d=c[l>>2]|0;if((d|0)==(c[m>>2]|0)){xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;continue}else{c[l>>2]=d+4;continue}}s=a[z>>0]|0;d=c[u>>2]|0;if((((s&1)==0?(s&255)>>>1:c[z+4>>2]|0)|0)!=0?(d-x|0)<160:0){s=c[t>>2]|0;t=d+4|0;c[u>>2]=t;c[d>>2]=s;d=t}b[j>>1]=dt(g,c[w>>2]|0,h,v)|0;Zo(z,x,d,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else d=c[d>>2]|0;if((d|0)==-1){c[e>>2]=0;g=1}else g=0}else g=1;do if(l){d=c[l+12>>2]|0;if((d|0)==(c[l+16>>2]|0))d=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else d=c[d>>2]|0;if((d|0)!=-1)if(g)break;else{B=46;break}else{c[f>>2]=0;B=44;break}}else B=44;while(0);if((B|0)==44?g:0)B=46;if((B|0)==46)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;Vj(y);Vj(z);i=A;return B|0}function Nr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=ir(f)|0;qm(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Zj(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){Zj(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Zj(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if(mm(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}c[h>>2]=ct(f,c[v>>2]|0,g,u)|0;Zo(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Vj(x);Vj(y);i=z;return A|0}function Or(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=ir(f)|0;qm(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Zj(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){Zj(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Zj(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if(mm(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}c[h>>2]=bt(f,c[v>>2]|0,g,u)|0;Zo(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Vj(x);Vj(y);i=z;return A|0}function Pr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+320|0;r=z+208|0;j=z+200|0;y=z+24|0;x=z+12|0;v=z+8|0;w=z+40|0;t=z+4|0;s=z;u=ir(f)|0;qm(y,f,r,j);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Zj(x,b,0);o=x+8|0;p=x+1|0;f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f;c[t>>2]=w;c[s>>2]=0;q=x+4|0;n=c[j>>2]|0;j=c[d>>2]|0;a:while(1){if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}k=c[e>>2]|0;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(l){m=k;break}else break a;else{c[e>>2]=0;A=16;break}}else A=16;while(0);if((A|0)==16){A=0;if(l){k=0;break}else m=0}k=a[x>>0]|0;k=(k&1)==0?(k&255)>>>1:c[q>>2]|0;if((c[v>>2]|0)==(f+k|0)){Zj(x,k<<1,0);if(!(a[x>>0]&1))b=10;else b=(c[x>>2]&-2)+-1|0;Zj(x,b,0);f=(a[x>>0]&1)==0?p:c[o>>2]|0;c[v>>2]=f+k}k=j+12|0;b=c[k>>2]|0;l=j+16|0;if((b|0)==(c[l>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if(mm(b,u,f,v,s,n,y,w,t,r)|0){k=m;break}b=c[k>>2]|0;if((b|0)==(c[l>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;continue}else{c[k>>2]=b+4;continue}}r=a[y>>0]|0;b=c[t>>2]|0;if((((r&1)==0?(r&255)>>>1:c[y+4>>2]|0)|0)!=0?(b-w|0)<160:0){r=c[s>>2]|0;s=b+4|0;c[t>>2]=s;c[b>>2]=r;b=s}v=at(f,c[v>>2]|0,g,u)|0;c[h>>2]=v;c[h+4>>2]=D;Zo(y,w,b,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{A=46;break}else{c[e>>2]=0;A=44;break}}else A=44;while(0);if((A|0)==44?f:0)A=46;if((A|0)==46)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;Vj(x);Vj(y);i=z;return A|0}function Qr(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+352|0;t=C+208|0;k=C+40|0;l=C+36|0;B=C+24|0;A=C+12|0;y=C+8|0;z=C+48|0;w=C+4|0;v=C;x=C+337|0;u=C+336|0;rm(B,f,t,k,l);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;Zj(A,b,0);q=A+8|0;r=A+1|0;f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f;c[w>>2]=z;c[v>>2]=0;a[x>>0]=1;a[u>>0]=69;s=A+4|0;p=c[k>>2]|0;o=c[l>>2]|0;k=c[d>>2]|0;a:while(1){if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}l=c[e>>2]|0;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(m)break;else break a;else{c[e>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(m){l=0;break}else l=0}m=a[A>>0]|0;m=(m&1)==0?(m&255)>>>1:c[s>>2]|0;if((c[y>>2]|0)==(f+m|0)){Zj(A,m<<1,0);if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;Zj(A,b,0);f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f+m}m=k+12|0;b=c[m>>2]|0;n=k+16|0;if((b|0)==(c[n>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if(sm(b,x,u,f,y,p,o,B,z,w,v,t)|0)break;b=c[m>>2]|0;if((b|0)==(c[n>>2]|0)){xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;continue}else{c[m>>2]=b+4;continue}}u=a[B>>0]|0;b=c[w>>2]|0;if(!((a[x>>0]|0)==0?1:(((u&1)==0?(u&255)>>>1:c[B+4>>2]|0)|0)==0)?(b-z|0)<160:0){v=c[v>>2]|0;x=b+4|0;c[w>>2]=x;c[b>>2]=v;b=x}g[j>>2]=+$s(f,c[y>>2]|0,h);Zo(B,z,b,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{D=46;break}else{c[e>>2]=0;D=44;break}}else D=44;while(0);if((D|0)==44?f:0)D=46;if((D|0)==46)c[h>>2]=c[h>>2]|2;D=c[d>>2]|0;Vj(A);Vj(B);i=C;return D|0}function Rr(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+352|0;t=C+208|0;k=C+40|0;l=C+36|0;B=C+24|0;A=C+12|0;y=C+8|0;z=C+48|0;w=C+4|0;v=C;x=C+337|0;u=C+336|0;rm(B,f,t,k,l);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;Zj(A,b,0);q=A+8|0;r=A+1|0;f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f;c[w>>2]=z;c[v>>2]=0;a[x>>0]=1;a[u>>0]=69;s=A+4|0;p=c[k>>2]|0;o=c[l>>2]|0;k=c[d>>2]|0;a:while(1){if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}l=c[e>>2]|0;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(m)break;else break a;else{c[e>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(m){l=0;break}else l=0}m=a[A>>0]|0;m=(m&1)==0?(m&255)>>>1:c[s>>2]|0;if((c[y>>2]|0)==(f+m|0)){Zj(A,m<<1,0);if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;Zj(A,b,0);f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f+m}m=k+12|0;b=c[m>>2]|0;n=k+16|0;if((b|0)==(c[n>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if(sm(b,x,u,f,y,p,o,B,z,w,v,t)|0)break;b=c[m>>2]|0;if((b|0)==(c[n>>2]|0)){xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;continue}else{c[m>>2]=b+4;continue}}u=a[B>>0]|0;b=c[w>>2]|0;if(!((a[x>>0]|0)==0?1:(((u&1)==0?(u&255)>>>1:c[B+4>>2]|0)|0)==0)?(b-z|0)<160:0){v=c[v>>2]|0;x=b+4|0;c[w>>2]=x;c[b>>2]=v;b=x}h[j>>3]=+_s(f,c[y>>2]|0,g);Zo(B,z,b,g);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{D=46;break}else{c[e>>2]=0;D=44;break}}else D=44;while(0);if((D|0)==44?f:0)D=46;if((D|0)==46)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Vj(A);Vj(B);i=C;return D|0}function Sr(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+352|0;t=C+208|0;k=C+40|0;l=C+36|0;B=C+24|0;A=C+12|0;y=C+8|0;z=C+48|0;w=C+4|0;v=C;x=C+337|0;u=C+336|0;rm(B,f,t,k,l);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;Zj(A,b,0);q=A+8|0;r=A+1|0;f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f;c[w>>2]=z;c[v>>2]=0;a[x>>0]=1;a[u>>0]=69;s=A+4|0;p=c[k>>2]|0;o=c[l>>2]|0;k=c[d>>2]|0;a:while(1){if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;k=0;m=1}else m=0}else{k=0;m=1}l=c[e>>2]|0;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(m)break;else break a;else{c[e>>2]=0;D=16;break}}else D=16;while(0);if((D|0)==16){D=0;if(m){l=0;break}else l=0}m=a[A>>0]|0;m=(m&1)==0?(m&255)>>>1:c[s>>2]|0;if((c[y>>2]|0)==(f+m|0)){Zj(A,m<<1,0);if(!(a[A>>0]&1))b=10;else b=(c[A>>2]&-2)+-1|0;Zj(A,b,0);f=(a[A>>0]&1)==0?r:c[q>>2]|0;c[y>>2]=f+m}m=k+12|0;b=c[m>>2]|0;n=k+16|0;if((b|0)==(c[n>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if(sm(b,x,u,f,y,p,o,B,z,w,v,t)|0)break;b=c[m>>2]|0;if((b|0)==(c[n>>2]|0)){xb[c[(c[k>>2]|0)+40>>2]&63](k)|0;continue}else{c[m>>2]=b+4;continue}}u=a[B>>0]|0;b=c[w>>2]|0;if(!((a[x>>0]|0)==0?1:(((u&1)==0?(u&255)>>>1:c[B+4>>2]|0)|0)==0)?(b-z|0)<160:0){v=c[v>>2]|0;x=b+4|0;c[w>>2]=x;c[b>>2]=v;b=x}h[j>>3]=+Zs(f,c[y>>2]|0,g);Zo(B,z,b,g);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=xb[c[(c[k>>2]|0)+36>>2]&63](k)|0;else b=c[b>>2]|0;if((b|0)==-1){c[d>>2]=0;f=1}else f=0}else f=1;do if(l){b=c[l+12>>2]|0;if((b|0)==(c[l+16>>2]|0))b=xb[c[(c[l>>2]|0)+36>>2]&63](l)|0;else b=c[b>>2]|0;if((b|0)!=-1)if(f)break;else{D=46;break}else{c[e>>2]=0;D=44;break}}else D=44;while(0);if((D|0)==44?f:0)D=46;if((D|0)==46)c[g>>2]=c[g>>2]|2;D=c[d>>2]|0;Vj(A);Vj(B);i=C;return D|0}function Tr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[h>>2]=f;f=Uh(d)|0;d=Ji(a,b,e,h)|0;if(f)Uh(f)|0;i=g;return d|0}function Ur(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=Uh(b)|0;b=Gi(a,d,g)|0;if(e)Uh(e)|0;i=f;return b|0}function Vr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+16|0;n=o;j=c[b>>2]|0;a:do if(!j)j=0;else{p=d;l=f-p>>2;m=g+12|0;g=c[m>>2]|0;l=(g|0)>(l|0)?g-l|0:0;g=e;p=g-p|0;k=p>>2;if((p|0)>0?(pb[c[(c[j>>2]|0)+48>>2]&31](j,d,k)|0)!=(k|0):0){c[b>>2]=0;j=0;break}do if((l|0)>0){ek(n,l,h);if((pb[c[(c[j>>2]|0)+48>>2]&31](j,(a[n>>0]&1)==0?n+4|0:c[n+8>>2]|0,l)|0)==(l|0)){fk(n);break}else{c[b>>2]=0;fk(n);j=0;break a}}while(0);p=f-g|0;f=p>>2;if((p|0)>0?(pb[c[(c[j>>2]|0)+48>>2]&31](j,e,f)|0)!=(f|0):0){c[b>>2]=0;j=0;break}c[m>>2]=0}while(0);i=o;return j|0}function Wr(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=c[a>>2]|0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0))if((xb[c[(c[i>>2]|0)+36>>2]&63](i)|0)==-1){c[a>>2]=0;i=0;break}else{i=c[a>>2]|0;break}}else i=0;while(0);j=(i|0)==0;i=c[e>>2]|0;do if(i){if((c[i+12>>2]|0)==(c[i+16>>2]|0)?(xb[c[(c[i>>2]|0)+36>>2]&63](i)|0)==-1:0){c[e>>2]=0;r=11;break}if(j)r=13;else r=12}else r=11;while(0);if((r|0)==11)if(j)r=12;else{i=0;r=13}a:do if((r|0)==12){c[f>>2]=c[f>>2]|6;i=0}else if((r|0)==13){j=c[a>>2]|0;k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else j=d[k>>0]|0;k=j&255;if(k<<24>>24>-1?(q=g+8|0,(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048)!=0):0){m=(pb[c[(c[g>>2]|0)+36>>2]&31](g,k,0)|0)<<24>>24;j=c[a>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;o=h;n=i;h=i;i=m}else{c[k>>2]=l+1;o=h;n=i;h=i;i=m}while(1){i=i+-48|0;p=o+-1|0;j=c[a>>2]|0;do if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((xb[c[(c[j>>2]|0)+36>>2]&63](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0;while(0);l=(j|0)==0;if(h)if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((xb[c[(c[h>>2]|0)+36>>2]&63](h)|0)==-1){c[e>>2]=0;k=0;h=0}else{k=n;h=n}else k=n;else{k=n;h=0}j=c[a>>2]|0;if(!((o|0)>1&(l^(h|0)==0)))break;l=c[j+12>>2]|0;if((l|0)==(c[j+16>>2]|0))j=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else j=d[l>>0]|0;l=j&255;if(l<<24>>24<=-1)break a;if(!(b[(c[q>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=((pb[c[(c[g>>2]|0)+36>>2]&31](g,l,0)|0)<<24>>24)+(i*10|0)|0;j=c[a>>2]|0;l=j+12|0;m=c[l>>2]|0;if((m|0)==(c[j+16>>2]|0)){xb[c[(c[j>>2]|0)+40>>2]&63](j)|0;o=p;n=k;continue}else{c[l>>2]=m+1;o=p;n=k;continue}}do if(j){if((c[j+12>>2]|0)==(c[j+16>>2]|0))if((xb[c[(c[j>>2]|0)+36>>2]&63](j)|0)==-1){c[a>>2]=0;j=0;break}else{j=c[a>>2]|0;break}}else j=0;while(0);j=(j|0)==0;do if(k){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(xb[c[(c[k>>2]|0)+36>>2]&63](k)|0)==-1:0){c[e>>2]=0;r=50;break}if(j)break a}else r=50;while(0);if((r|0)==50?!j:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function Xr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else g=c[h>>2]|0;if((g|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else g=c[g>>2]|0;if((g|0)!=-1)if(i){o=17;break}else{o=16;break}else{c[b>>2]=0;o=14;break}}else o=14;while(0);if((o|0)==14)if(i)o=16;else{h=0;o=17}a:do if((o|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((o|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=xb[c[(c[g>>2]|0)+36>>2]&63](g)|0;else g=c[i>>2]|0;if(!(pb[c[(c[e>>2]|0)+12>>2]&31](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(pb[c[(c[e>>2]|0)+52>>2]&31](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0)){xb[c[(c[i>>2]|0)+40>>2]&63](i)|0;m=f;l=h;j=h}else{c[j>>2]=k+4;m=f;l=h;j=h}while(1){g=g+-48|0;n=m+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=xb[c[(c[h>>2]|0)+36>>2]&63](h)|0;else h=c[i>>2]|0;if((h|0)==-1){c[a>>2]=0;k=1;break}else{k=(c[a>>2]|0)==0;break}}else k=1;while(0);do if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else h=c[h>>2]|0;if((h|0)==-1){c[b>>2]=0;j=0;f=0;h=1;break}else{j=l;f=l;h=(l|0)==0;break}}else{j=l;f=0;h=1}while(0);i=c[a>>2]|0;if(!((m|0)>1&(k^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=xb[c[(c[i>>2]|0)+36>>2]&63](i)|0;else h=c[h>>2]|0;if(!(pb[c[(c[e>>2]|0)+12>>2]&31](e,2048,h)|0))break a;g=((pb[c[(c[e>>2]|0)+52>>2]&31](e,h,0)|0)<<24>>24)+(g*10|0)|0;h=c[a>>2]|0;i=h+12|0;k=c[i>>2]|0;if((k|0)==(c[h+16>>2]|0)){xb[c[(c[h>>2]|0)+40>>2]&63](h)|0;m=n;l=j;j=f;continue}else{c[i>>2]=k+4;m=n;l=j;j=f;continue}}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=xb[c[(c[i>>2]|0)+36>>2]&63](i)|0;else h=c[h>>2]|0;if((h|0)==-1){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=xb[c[(c[j>>2]|0)+36>>2]&63](j)|0;else h=c[h>>2]|0;if((h|0)!=-1)if(i)break a;else break;else{c[b>>2]=0;o=60;break}}else o=60;while(0);if((o|0)==60?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function Yr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;f=(c[h>>2]|0)!=108;e=c[a>>2]|0;i=e;g=(c[d>>2]|0)-i|0;g=g>>>0<2147483647?g<<1:-1;i=(c[b>>2]|0)-i|0;e=lj(f?e:0,g)|0;if(!e)Xf();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){ub[c[h>>2]&127](f);e=c[a>>2]|0}}else c[a>>2]=e;c[h>>2]=119;c[b>>2]=e+i;c[d>>2]=(c[a>>2]|0)+g;return}function Zr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;f=(c[h>>2]|0)!=108;e=c[a>>2]|0;i=e;g=(c[d>>2]|0)-i|0;g=g>>>0<2147483647?g<<1:-1;i=(c[b>>2]|0)-i>>2;e=lj(f?e:0,g)|0;if(!e)Xf();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){ub[c[h>>2]&127](f);e=c[a>>2]|0}}else c[a>>2]=e;c[h>>2]=119;c[b>>2]=e+(i<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function _r(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=10;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h|0;do if((e|0)!=(d|0)){if((g-k|0)>>>0>>0){ck(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+1|0;else i=c[b+8>>2]|0;h=e+(k-h)|0;if((d|0)!=(e|0)){f=d;g=i+k|0;while(1){a[g>>0]=a[f>>0]|0;f=f+1|0;if((f|0)==(e|0))break;else g=g+1|0}}a[i+h>>0]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}while(0);return b|0}function $r(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;f=(c[h>>2]|0)!=108;e=c[a>>2]|0;i=e;g=(c[d>>2]|0)-i|0;g=g>>>0<2147483647?g<<1:-1;i=(c[b>>2]|0)-i>>2;e=lj(f?e:0,g)|0;if(!e)Xf();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){ub[c[h>>2]&127](f);e=c[a>>2]|0}}else c[a>>2]=e;c[h>>2]=119;c[b>>2]=e+(i<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function as(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d;f=a[b>>0]|0;if(!(f&1)){g=1;k=(f&255)>>>1}else{f=c[b>>2]|0;g=(f&-2)+-1|0;k=c[b+4>>2]|0;f=f&255}j=e-h>>2;do if(j){if((g-k|0)>>>0>>0){lk(b,g,k+j-g|0,k,k,0,0);f=a[b>>0]|0}if(!(f&1))i=b+4|0;else i=c[b+8>>2]|0;h=k+((e-h|0)>>>2)|0;if((d|0)!=(e|0)){f=d;g=i+(k<<2)|0;while(1){c[g>>2]=c[f>>2];f=f+4|0;if((f|0)==(e|0))break;else g=g+4|0}}c[i+(h<<2)>>2]=0;f=k+j|0;if(!(a[b>>0]&1)){a[b>>0]=f<<1;break}else{c[b+4>>2]=f;break}}while(0);return b|0}function bs(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d){Ys(b,d);Us(b,d)}return}function cs(a,b){a=a|0;b=b|0;Cp(a,b,Lp(9796)|0);return}function ds(a,b){a=a|0;b=b|0;Cp(a,b,Lp(9836)|0);return}function es(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10868)|0);return}function fs(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10860)|0);return}function gs(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10928)|0);return}function hs(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10936)|0);return}function is(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10992)|0);return}function js(a,b){a=a|0;b=b|0;Cp(a,b,Lp(11e3)|0);return}function ks(a,b){a=a|0;b=b|0;Cp(a,b,Lp(11008)|0);return}function ls(a,b){a=a|0;b=b|0;Cp(a,b,Lp(11016)|0);return}function ms(a,b){a=a|0;b=b|0;Cp(a,b,Lp(9908)|0);return}function ns(a,b){a=a|0;b=b|0;Cp(a,b,Lp(9980)|0);return}function os(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10040)|0);return}function ps(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10100)|0);return}function qs(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10412)|0);return}function rs(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10476)|0);return}function ss(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10540)|0);return}function ts(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10604)|0);return}function us(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10640)|0);return}function vs(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10676)|0);return}function ws(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10712)|0);return}function xs(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10748)|0);return}function ys(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10192)|0);return}function zs(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10284)|0);return}function As(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10316)|0);return}function Bs(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10348)|0);return}function Cs(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10788)|0);return}function Ds(a,b){a=a|0;b=b|0;Cp(a,b,Lp(10828)|0);return}function Es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=a+4|0;d=c[h>>2]|0;e=c[a>>2]|0;f=d-e>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0?(g=e+(b<<2)|0,(d|0)!=(g|0)):0){do d=d+-4|0;while((d|0)!=(g|0));c[h>>2]=d}}else Ts(a,b-f|0);return}function Fs(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;do if(e){f=b+4|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do d=d+-4|0;while((d|0)!=(e|0));c[f>>2]=d}if((b+16|0)==(e|0)){a[b+128>>0]=0;break}else{of(e);break}}while(0);return}function Gs(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;d=c[d+4>>2]|0;a=(c[a>>2]|0)+(d>>1)|0;if(d&1)b=c[(c[a>>2]|0)+b>>2]|0;ub[b&127](a);return}function Hs(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;if(d>>>0>>0)while(1){l=b[d>>1]|0;m=l&65535;if(m>>>0>k>>>0){d=2;break a}do if((l&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=l}else{if((l&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>6&63|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;l=e[d>>1]|0;if((l&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}h=m&960;if(((h<<10)+65536|m<<10&64512|l&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(h>>>6)+1|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=d>>>2|240;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m>>>2&15|d<<4&48|128;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=m<<4&48|l>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=l&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d;if(d>>>0>=f>>>0){d=0;break}}else d=0}while(0);return d|0}function Is(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;l=f;if((((l-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0){c[g>>2]=e+3;m=c[j>>2]|0}else m=h}else{m=h;l=f}q=i;h=c[g>>2]|0;e=h>>>0>>0;a:do if(e&m>>>0>>0)while(1){e=a[h>>0]|0;o=e&255;if(o>>>0>k>>>0){e=2;break a}do if(e<<24>>24>-1){b[m>>1]=e&255;c[g>>2]=h+1}else{if((e&255)<194){e=2;break a}if((e&255)<224){if((l-h|0)<2){e=1;break a}e=d[h+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|o<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+2;break}if((e&255)<240){if((l-h|0)<3){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;switch(o|0){case 224:{if((n&-32)<<24>>24!=-96){e=2;break a}break}case 237:{if((n&-32)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(n&255)<<6&4032|o<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[m>>1]=e;c[g>>2]=h+3;break}if((e&255)>=245){e=2;break a}if((l-h|0)<4){e=1;break a}n=a[h+1>>0]|0;e=a[h+2>>0]|0;h=a[h+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){e=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){e=2;break a}break}default:if((n&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=h&255;if((e&192|0)!=128){e=2;break a}if((q-m|0)<4){e=1;break a}o=o&7;h=n&255;n=p<<6;e=e&63;if((h<<12&258048|o<<18|n&4032|e)>>>0>k>>>0){e=2;break a}b[m>>1]=h<<2&60|p>>>4&3|((h>>>4&3|o<<2)<<6)+16320|55296;p=m+2|0;c[j>>2]=p;b[p>>1]=e|n&960|56320;c[g>>2]=(c[g>>2]|0)+4}while(0);m=(c[j>>2]|0)+2|0;c[j>>2]=m;h=c[g>>2]|0;e=h>>>0>>0;if(!(e&m>>>0>>0)){r=39;break}}else r=39;while(0);if((r|0)==39)e=e&1;return e|0}function Js(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do if((e|0)!=0&g>>>0>>0){m=g;h=0;b:while(1){g=a[m>>0]|0;l=g&255;if(l>>>0>f>>>0){g=m;h=42;break a}do if(g<<24>>24>-1)g=m+1|0;else{if((g&255)<194){g=m;h=42;break a}if((g&255)<224){if((n-m|0)<2){g=m;h=42;break a}g=d[m+1>>0]|0;if((g&192|0)!=128){g=m;h=42;break a}if((g&63|l<<6&1984)>>>0>f>>>0){g=m;h=42;break a}g=m+2|0;break}if((g&255)<240){g=m;if((n-g|0)<3){g=m;h=42;break a}j=a[m+1>>0]|0;i=a[m+2>>0]|0;switch(l|0){case 224:{if((j&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((j&-32)<<24>>24!=-128){h=22;break b}break}default:if((j&-64)<<24>>24!=-128){h=24;break b}}g=i&255;if((g&192|0)!=128){g=m;h=42;break a}if(((j&255)<<6&4032|l<<12&61440|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+3|0;break}if((g&255)>=245){g=m;h=42;break a}g=m;if((e-h|0)>>>0<2|(n-g|0)<4){g=m;h=42;break a}k=a[m+1>>0]|0;i=a[m+2>>0]|0;j=a[m+3>>0]|0;switch(l|0){case 240:{if((k+112&255)>=48){h=32;break b}break}case 244:{if((k&-16)<<24>>24!=-128){h=34;break b}break}default:if((k&-64)<<24>>24!=-128){h=36;break b}}i=i&255;if((i&192|0)!=128){g=m;h=42;break a}g=j&255;if((g&192|0)!=128){g=m;h=42;break a}if(((k&255)<<12&258048|l<<18&1835008|i<<6&4032|g&63)>>>0>f>>>0){g=m;h=42;break a}g=m+4|0;h=h+1|0}while(0);h=h+1|0;if(!(h>>>0>>0&g>>>0>>0)){h=42;break a}else m=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42;while(0);if((h|0)==42)g=g-b|0;return g|0}function Ks(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;if(b>>>0>>0)while(1){j=c[b>>2]|0;if(j>>>0>i>>>0|(j&-2048|0)==55296){b=2;break a}do if(j>>>0>=128){if(j>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}b=c[h>>2]|0;g=l-b|0;if(j>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=j>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=j&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=j}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b;if(b>>>0>=d>>>0){b=0;break}}else b=0}while(0);return b|0}function Ls(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;k=e;if((((k-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0){c[f>>2]=b+3;g=c[i>>2]|0;p=k}else p=k}else p=e;k=c[f>>2]|0;b=k>>>0>>0;a:do if(b&g>>>0>>0)while(1){b=a[k>>0]|0;o=b&255;do if(b<<24>>24>-1){if(o>>>0>j>>>0){b=2;break a}c[g>>2]=o;c[f>>2]=k+1}else{if((b&255)<194){b=2;break a}if((b&255)<224){if((p-k|0)<2){b=1;break a}b=d[k+1>>0]|0;if((b&192|0)!=128){b=2;break a}b=b&63|o<<6&1984;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+2;break}if((b&255)<240){if((p-k|0)<3){b=1;break a}l=a[k+1>>0]|0;b=a[k+2>>0]|0;switch(o|0){case 224:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case 237:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}b=b&255;if((b&192|0)!=128){b=2;break a}b=(l&255)<<6&4032|o<<12&61440|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+3;break}if((b&255)>=245){b=2;break a}if((p-k|0)<4){b=1;break a}n=a[k+1>>0]|0;b=a[k+2>>0]|0;l=a[k+3>>0]|0;switch(o|0){case 240:{if((n+112&255)>=48){b=2;break a}break}case 244:{if((n&-16)<<24>>24!=-128){b=2;break a}break}default:if((n&-64)<<24>>24!=-128){b=2;break a}}m=b&255;if((m&192|0)!=128){b=2;break a}b=l&255;if((b&192|0)!=128){b=2;break a}b=(n&255)<<12&258048|o<<18&1835008|m<<6&4032|b&63;if(b>>>0>j>>>0){b=2;break a}c[g>>2]=b;c[f>>2]=k+4}while(0);g=(c[i>>2]|0)+4|0;c[i>>2]=g;k=c[f>>2]|0;b=k>>>0>>0;if(!(b&g>>>0>>0)){q=38;break}}else q=38;while(0);if((q|0)==38)b=b&1;return b|0}function Ms(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c;if((((g&4|0)!=0?(n-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;a:do if((e|0)!=0&g>>>0>>0){l=g;m=0;b:while(1){g=a[l>>0]|0;k=g&255;do if(g<<24>>24>-1){if(k>>>0>f>>>0){g=l;h=42;break a}g=l+1|0}else{if((g&255)<194){g=l;h=42;break a}if((g&255)<224){if((n-l|0)<2){g=l;h=42;break a}g=d[l+1>>0]|0;if((g&192|0)!=128){g=l;h=42;break a}if((g&63|k<<6&1984)>>>0>f>>>0){g=l;h=42;break a}g=l+2|0;break}if((g&255)<240){g=l;if((n-g|0)<3){g=l;h=42;break a}i=a[l+1>>0]|0;h=a[l+2>>0]|0;switch(k|0){case 224:{if((i&-32)<<24>>24!=-96){h=20;break b}break}case 237:{if((i&-32)<<24>>24!=-128){h=22;break b}break}default:if((i&-64)<<24>>24!=-128){h=24;break b}}g=h&255;if((g&192|0)!=128){g=l;h=42;break a}if(((i&255)<<6&4032|k<<12&61440|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+3|0;break}if((g&255)>=245){g=l;h=42;break a}g=l;if((n-g|0)<4){g=l;h=42;break a}j=a[l+1>>0]|0;h=a[l+2>>0]|0;i=a[l+3>>0]|0;switch(k|0){case 240:{if((j+112&255)>=48){h=32;break b}break}case 244:{if((j&-16)<<24>>24!=-128){h=34;break b}break}default:if((j&-64)<<24>>24!=-128){h=36;break b}}h=h&255;if((h&192|0)!=128){g=l;h=42;break a}g=i&255;if((g&192|0)!=128){g=l;h=42;break a}if(((j&255)<<12&258048|k<<18&1835008|h<<6&4032|g&63)>>>0>f>>>0){g=l;h=42;break a}g=l+4|0}while(0);m=m+1|0;if(!(m>>>0>>0&g>>>0>>0)){h=42;break a}else l=g}if((h|0)==20){g=g-b|0;break}else if((h|0)==22){g=g-b|0;break}else if((h|0)==24){g=g-b|0;break}else if((h|0)==32){g=g-b|0;break}else if((h|0)==34){g=g-b|0;break}else if((h|0)==36){g=g-b|0;break}}else h=42;while(0);if((h|0)==42)g=g-b|0;return g|0}function Ns(a){a=a|0;Vj(11844);Vj(11832);Vj(11820);Vj(11808);Vj(11796);Vj(11784);Vj(11772);Vj(11760);Vj(11748);Vj(11736);Vj(11724);Vj(11712);Vj(11700);Vj(11688);return}function Os(a){a=a|0;fk(12016);fk(12004);fk(11992);fk(11980);fk(11968);fk(11956);fk(11944);fk(11932);fk(11920);fk(11908);fk(11896);fk(11884);fk(11872);fk(11860);return}function Ps(a){a=a|0;Vj(12648);Vj(12636);Vj(12624);Vj(12612);Vj(12600);Vj(12588);Vj(12576);Vj(12564);Vj(12552);Vj(12540);Vj(12528);Vj(12516);Vj(12504);Vj(12492);Vj(12480);Vj(12468);Vj(12456);Vj(12444);Vj(12432);Vj(12420);Vj(12408);Vj(12396);Vj(12384);Vj(12372);return}function Qs(a){a=a|0;fk(12940);fk(12928);fk(12916);fk(12904);fk(12892);fk(12880);fk(12868);fk(12856);fk(12844);fk(12832);fk(12820);fk(12808);fk(12796);fk(12784);fk(12772);fk(12760);fk(12748);fk(12736);fk(12724);fk(12712);fk(12700);fk(12688);fk(12676);fk(12664);return}function Rs(a){a=a|0;Vj(13752);Vj(13740);Vj(13728);Vj(13716);Vj(13704);Vj(13692);Vj(13680);Vj(13668);Vj(13656);Vj(13644);Vj(13632);Vj(13620);Vj(13608);Vj(13596);Vj(13584);Vj(13572);Vj(13560);Vj(13548);Vj(13536);Vj(13524);Vj(13512);Vj(13500);Vj(13488);Vj(13476);return}function Ss(a){a=a|0;fk(14044);fk(14032);fk(14020);fk(14008);fk(13996);fk(13984);fk(13972);fk(13960);fk(13948);fk(13936);fk(13924);fk(13912);fk(13900);fk(13888);fk(13876);fk(13864);fk(13852);fk(13840);fk(13828);fk(13816);fk(13804);fk(13792);fk(13780);fk(13768);return}function Ts(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;g=c[a+8>>2]|0;d=c[a+4>>2]|0;if(g-d>>2>>>0>>0){e=c[a>>2]|0;h=d-e>>2;f=h+b|0;if(f>>>0>1073741823)rg(a);d=g-e|0;if(d>>2>>>0<536870911){d=d>>1;d=d>>>0>>0?f:d}else d=1073741823;Vs(j,d,h,a+16|0);h=j+8|0;g=c[h>>2]|0;mt(g|0,0,b<<2|0)|0;c[h>>2]=g+(b<<2);Ws(a,j);Xs(j)}else Us(a,b);i=k;return}function Us(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Vs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;c[b+12>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=mf(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[b+12>>2]=f+(d<<2);return}function Ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;g=a+4|0;d=b+4|0;f=(c[g>>2]|0)-e|0;h=(c[d>>2]|0)+(0-(f>>2)<<2)|0;c[d>>2]=h;pt(h|0,e|0,f|0)|0;f=c[a>>2]|0;c[a>>2]=c[d>>2];c[d>>2]=f;f=b+8|0;e=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=e;f=a+8|0;a=b+12|0;e=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=e;c[b>>2]=c[d>>2];return}function Xs(b){b=b|0;var d=0,e=0,f=0;e=c[b+4>>2]|0;f=b+8|0;d=c[f>>2]|0;if((d|0)!=(e|0)){do d=d+-4|0;while((d|0)!=(e|0));c[f>>2]=d}e=c[b>>2]|0;do if(e){d=c[b+16>>2]|0;if((d|0)==(e|0)){a[d+112>>0]=0;break}else{of(e);break}}while(0);return}function Ys(b,d){b=b|0;d=d|0;var e=0;if(d>>>0>1073741823)rg(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=mf(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function Zs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)!=(b|0)){f=Gh()|0;g=c[f>>2]|0;c[f>>2]=0;e=+Li(a,h,_l()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}while(0);i=j;return +e}function _s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)!=(b|0)){f=Gh()|0;g=c[f>>2]|0;c[f>>2]=0;e=+Li(a,h,_l()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;e=0.0}while(0);i=j;return +e}function $s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{f=Gh()|0;g=c[f>>2]|0;c[f>>2]=0;e=+Li(a,h,_l()|0);a=c[f>>2]|0;if(!a)c[f>>2]=g;if((c[h>>2]|0)!=(b|0)){c[d>>2]=4;e=0.0;break}if((a|0)==34)c[d>>2]=4}while(0);i=j;return +e}function at(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;f=0;b=0;break}g=Gh()|0;h=c[g>>2]|0;c[g>>2]=0;b=yh(b,j,f,_l()|0)|0;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(d|0)){c[e>>2]=4;f=0;b=0;break}if((f|0)==34){c[e>>2]=4;f=-1;b=-1}else f=D}else{c[e>>2]=4;f=0;b=0}while(0);D=f;i=k;return b|0}function bt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=Gh()|0;j=c[h>>2]|0;c[h>>2]=0;b=yh(b,k,f,_l()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function ct(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=Gh()|0;j=c[h>>2]|0;c[h>>2]=0;b=yh(b,k,f,_l()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==34){c[e>>2]=4;b=-1;break}else break}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function dt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;b=0;break}h=Gh()|0;j=c[h>>2]|0;c[h>>2]=0;b=yh(b,k,f,_l()|0)|0;f=D;g=c[h>>2]|0;if(!g)c[h>>2]=j;if((c[k>>2]|0)!=(d|0)){c[e>>2]=4;b=0;break}if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==34){c[e>>2]=4;b=-1;break}else{b=b&65535;break}}else{c[e>>2]=4;b=0}while(0);i=l;return b|0}function et(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;do if((a|0)!=(b|0)){g=Gh()|0;h=c[g>>2]|0;c[g>>2]=0;a=zh(a,j,e,_l()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;e=0;a=0;break}if((f|0)==34){c[d>>2]=4;j=(e|0)>0|(e|0)==0&a>>>0>0;D=j?2147483647:-2147483648;i=k;return (j?-1:0)|0}}else{c[d>>2]=4;e=0;a=0}while(0);D=e;i=k;return a|0}function ft(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;a:do if((a|0)==(b|0)){c[d>>2]=4;a=0}else{g=Gh()|0;h=c[g>>2]|0;c[g>>2]=0;a=zh(a,j,e,_l()|0)|0;e=D;f=c[g>>2]|0;if(!f)c[g>>2]=h;if((c[j>>2]|0)!=(b|0)){c[d>>2]=4;a=0;break}do if((f|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}while(0);i=k;return a|0}function gt(a){a=a|0;return}function ht(a){a=a|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function it(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b){ub[c[(c[a>>2]|0)+8>>2]&127](a);a=1}else a=0;return a|0}function jt(a,b,d){a=a|0;b=b|0;d=d|0;hb(14384)|0;if((c[a>>2]|0)==1)do ya(14412,14384)|0;while((c[a>>2]|0)==1);if(!(c[a>>2]|0)){c[a>>2]=1;Ua(14384)|0;ub[d&127](b);hb(14384)|0;c[a>>2]=-1;Ua(14384)|0;Za(14412)|0}else Ua(14384)|0;return}function kt(){}function lt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function mt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function nt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function ot(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function pt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Na(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function qt(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else pt(b,c,d)|0;return b|0}function st(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function tt(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function ut(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return (D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function vt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=lt(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return lt((At(h,g,lt(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=lt(h^a,g^b,h,g)|0;b=D;At(a,b,lt(l^d,k^e,l,k)|0,D,j)|0;e=lt(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return (D=d,e)|0}function xt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=ut(e,f)|0;a=D;return (D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function yt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return At(a,b,c,d,0)|0}function zt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;At(a,b,d,e,f)|0;i=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function At(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=tt(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((tt(i|0)|0)>>>0);return (D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=nt(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;lt(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=lt(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function Bt(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ob[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function Ct(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pb[a&31](b|0,c|0,d|0)|0}function Dt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;qb[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function Et(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;rb[a&3](b|0,c|0,d|0,e|0,f|0)}function Ft(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return sb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function Gt(a){a=a|0;return tb[a&0]()|0}function Ht(a,b){a=a|0;b=b|0;ub[a&127](b|0)}function It(a,b,c){a=a|0;b=b|0;c=c|0;vb[a&63](b|0,c|0)}function Jt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return wb[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Kt(a,b){a=a|0;b=b|0;return xb[a&63](b|0)|0}function Lt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;yb[a&0](b|0,c|0,d|0)}function Mt(a){a=a|0;zb[a&3]()}function Nt(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Ab[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Ot(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Bb[a&7](b|0,c|0,d|0,e|0)|0}function Pt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Cb[a&15](b|0,c|0,d|0,e|0)}function Qt(a,b,c){a=a|0;b=b|0;c=c|0;return Db[a&31](b|0,c|0)|0}function Rt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Eb[a&7](b|0,c|0,d|0,e|0,+f)|0}function St(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Fb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function Tt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ca(0);return 0}function Ut(a,b,c){a=a|0;b=b|0;c=c|0;ca(1);return 0}function Vt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(2)}function Wt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(3)}function Xt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ca(4);return 0}function Yt(){ca(5);return 0}function Zt(a){a=a|0;ca(6)}function _t(a,b){a=a|0;b=b|0;ca(7)}function $t(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(8);return 0}function au(a){a=a|0;ca(9);return 0}function bu(a,b,c){a=a|0;b=b|0;c=c|0;ca(10)}function cu(){ca(11)}function du(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ca(12);return 0}function eu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(13);return 0}function fu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(14)}function gu(a,b){a=a|0;b=b|0;ca(15);return 0}function hu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ca(16);return 0}function iu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(17);return 0} + +// EMSCRIPTEN_END_FUNCS +var ob=[Tt,Un,Yn,To,Xo,ap,cp,Tt];var pb=[Ut,zk,Ek,Ik,Ff,ej,ri,qi,pi,si,Ok,Tk,zj,Xk,Kj,Gl,Ll,sp,xp,fq,hq,kq,Rp,Wp,Yp,$p,bj,Ut,Ut,Ut,Ut,Ut];var qb=[Vt,ec,Uf,Tf,Sf,Pk,Ak,tp,yp,Vt,Vt,Vt,Vt,Vt,Vt,Vt];var rb=[Wt,Rf,Qf,Nf];var sb=[Xt,gp,mp,Xt];var tb=[Yt];var ub=[Zt,Sb,ac,$b,bc,ll,nl,ml,ol,cc,dc,Vb,kc,jc,lc,_k,al,$k,bl,rf,sf,zf,Cf,Af,Bf,Df,Ef,Kk,wj,Cj,vk,Hj,Nj,wk,Lk,fl,hl,gl,il,tl,vl,ul,wl,qk,zl,Bl,Dl,Op,Hl,Il,Ml,Nl,$l,am,tm,um,Im,Jm,Vm,Wm,tn,un,Rn,Tn,Wn,Xn,_n,$n,ko,lo,vo,wo,Go,Ho,Ro,So,_o,$o,ep,fp,kp,lp,qp,rp,vp,wp,Dp,Ep,cq,dq,xr,uq,Wq,Xq,Yq,Zq,Cl,Np,Qp,mq,Cq,Kq,Sq,Tq,gg,Zi,_i,pj,Uo,Pp,Gs,Ns,Os,Ps,Qs,Rs,Ss,Vj,fk,jj,Zt,Zt,Zt,Zt,Zt,Zt,Zt,Zt];var vb=[_t,yk,xj,Bj,Ij,Mj,Nk,co,eo,fo,go,io,jo,oo,po,qo,ro,to,uo,zo,Ao,Bo,Co,Eo,Fo,Ko,Lo,Mo,No,Po,Qo,up,zp,cr,er,gr,dr,fr,hr,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t,_t];var wb=[$t,Ol,Pl,Ql,Rl,Sl,Tl,Ul,Vl,Wl,Xl,Yl,bm,cm,dm,em,fm,gm,hm,im,jm,km,lm,Am,Cm,Nm,Pm,Ym,Zm,_m,an,cn,wn,xn,yn,An,Cn,jp,pp,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t,$t];var xb=[au,Ck,Dk,gc,Gk,tf,oi,yj,Sk,Uk,Vk,Rk,Dj,Ej,Jj,Fk,Oj,Pj,Xm,jr,lr,nr,tr,vr,pr,rr,vn,kr,mr,or,ur,wr,qr,sr,ao,bo,ho,mo,no,so,xo,yo,Do,Io,Jo,Oo,yq,zq,Bq,_q,ar,$q,br,qq,rq,tq,Gq,Hq,Jq,Oq,Pq,Rq,au,au];var yb=[bu];var zb=[cu,Yf,fg,cu];var Ab=[du,en,En,vq,wq,nq,oq,Dq,Eq,Lq,Mq,du,du,du,du,du];var Bb=[eu,jq,Sp,Tp,Up,_p,eu,eu];var Cb=[fu,fc,Hf,If,Kf,Qk,Bk,Fl,Kl,fu,fu,fu,fu,fu,fu,fu];var Db=[gu,hc,ic,Wk,Aj,Fj,Yk,Hk,Lj,Qj,Jk,eq,gq,iq,Vp,Xp,Zp,gu,gu,gu,gu,gu,gu,gu,gu,gu,gu,gu,gu,gu,gu,gu];var Eb=[hu,Dm,Gm,Qm,Sm,hu,hu,hu];var Fb=[iu,El,Jl,vm,wm,Bm,Hm,Km,Lm,Om,Tm,lq,xq,Aq,aq,pq,sq,Fq,Iq,Nq,Qq,iu,iu,iu,iu,iu,iu,iu,iu,iu,iu,iu];return{_i64Add:nt,_tally:_b,___cxa_can_catch:Vf,_fflush:xi,_memset:mt,___cxa_is_pointer_type:Wf,_param:Pb,_memmove:rt,_malloc:ij,_dec:Zb,_addec:Yb,_keygen:Tb,___cxa_demangle:jf,_combpk:Wb,_memcpy:pt,_enc:Xb,_bitshift64Lshr:ot,_free:jj,_i64Subtract:lt,___errno_location:Gh,_bitshift64Shl:qt,__GLOBAL__I_000101:uj,__GLOBAL__sub_I_iostream_cpp:vj,runPostSets:kt,stackAlloc:Gb,stackSave:Hb,stackRestore:Ib,establishStackSpace:Jb,setThrew:Kb,setTempRet0:Nb,getTempRet0:Ob,dynCall_iiiiiiii:Bt,dynCall_iiii:Ct,dynCall_viiiiii:Dt,dynCall_viiiii:Et,dynCall_iiiiiid:Ft,dynCall_i:Gt,dynCall_vi:Ht,dynCall_vii:It,dynCall_iiiiiii:Jt,dynCall_ii:Kt,dynCall_viii:Lt,dynCall_v:Mt,dynCall_iiiiiiiii:Nt,dynCall_iiiii:Ot,dynCall_viiii:Pt,dynCall_iii:Qt,dynCall_iiiiid:Rt,dynCall_iiiiii:St}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _param=Module["_param"]=asm["_param"];var _keygen=Module["_keygen"]=asm["_keygen"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _tally=Module["_tally"]=asm["_tally"];var _fflush=Module["_fflush"]=asm["_fflush"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _memset=Module["_memset"]=asm["_memset"];var _addec=Module["_addec"]=asm["_addec"];var ___cxa_demangle=Module["___cxa_demangle"]=asm["___cxa_demangle"];var _combpk=Module["_combpk"]=asm["_combpk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _enc=Module["_enc"]=asm["_enc"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _dec=Module["_dec"]=asm["_dec"];var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _memmove=Module["_memmove"]=asm["_memmove"];var _malloc=Module["_malloc"]=asm["_malloc"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,Runtime.GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,Runtime.GLOBAL_BASE);removeRunDependency("memory initializer")});function doBrowserLoad(){Browser.asyncLoad(memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var request=Module["memoryInitializerRequest"];if(request){function useRequest(){if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(request.response)}if(request.response){setTimeout(useRequest,0)}else{request.addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() + + + + diff --git a/static/js/papaparse.min.js b/static/js/papaparse.min.js new file mode 100755 index 0000000..42ab6a3 --- /dev/null +++ b/static/js/papaparse.min.js @@ -0,0 +1,7 @@ +/*@license + Papa Parse + v4.5.0 + https://github.com/mholt/PapaParse + License: MIT +*/ +!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof module&&"undefined"!=typeof exports?module.exports=t():e.Papa=t()}(this,function(){"use strict";var s,e,f="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==f?f:{},r=!f.document&&!!f.postMessage,o=r&&/(\?|&)papaworker(=|&|$)/.test(f.location.search),a=!1,h={},u=0,v={parse:function(e,t){var i=(t=t||{}).dynamicTyping||!1;M(i)&&(t.dynamicTypingFunction=i,i={});if(t.dynamicTyping=i,t.transform=!!M(t.transform)&&t.transform,t.worker&&v.WORKERS_SUPPORTED){var n=function(){if(!v.WORKERS_SUPPORTED)return!1;if(!a&&null===v.SCRIPT_PATH)throw new Error("Script path cannot be determined automatically when Papa Parse is loaded asynchronously. You need to set Papa.SCRIPT_PATH manually.");var e=v.SCRIPT_PATH||s;e+=(-1!==e.indexOf("?")?"&":"?")+"papaworker";var t=new f.Worker(e);return t.onmessage=y,t.id=u++,h[t.id]=t}();return n.userStep=t.step,n.userChunk=t.chunk,n.userComplete=t.complete,n.userError=t.error,t.step=M(t.step),t.chunk=M(t.chunk),t.complete=M(t.complete),t.error=M(t.error),delete t.worker,void n.postMessage({input:e,config:t,workerId:n.id})}var r=null;{if(e===v.NODE_STREAM_INPUT)return(r=new g(t)).getStream();"string"==typeof e?r=t.download?new l(t):new _(t):!0===e.readable&&M(e.read)&&M(e.on)?r=new m(t):(f.File&&e instanceof File||e instanceof Object)&&(r=new p(t))}return r.stream(e)},unparse:function(e,t){var n=!1,f=!0,d=",",c="\r\n",r='"';!function(){if("object"!=typeof t)return;"string"==typeof t.delimiter&&1===t.delimiter.length&&-1===v.BAD_DELIMITERS.indexOf(t.delimiter)&&(d=t.delimiter);("boolean"==typeof t.quotes||t.quotes instanceof Array)&&(n=t.quotes);"string"==typeof t.newline&&(c=t.newline);"string"==typeof t.quoteChar&&(r=t.quoteChar);"boolean"==typeof t.header&&(f=t.header)}();var s=new RegExp(r,"g");"string"==typeof e&&(e=JSON.parse(e));if(e instanceof Array){if(!e.length||e[0]instanceof Array)return a(null,e);if("object"==typeof e[0])return a(i(e[0]),e)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),e.data instanceof Array&&(e.fields||(e.fields=e.meta&&e.meta.fields),e.fields||(e.fields=e.data[0]instanceof Array?e.fields:i(e.data[0])),e.data[0]instanceof Array||"object"==typeof e.data[0]||(e.data=[e.data])),a(e.fields||[],e.data||[]);throw"exception: Unable to serialize unrecognized input";function i(e){if("object"!=typeof e)return[];var t=[];for(var i in e)t.push(i);return t}function a(e,t){var i="";"string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t));var n=e instanceof Array&&0=this._config.preview;if(o)f.postMessage({results:r,workerId:v.WORKER_ID,finished:a});else if(M(this._config.chunk)&&!t){if(this._config.chunk(r,this._handle),this._handle.paused()||this._handle.aborted())return;r=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(r.data),this._completeResults.errors=this._completeResults.errors.concat(r.errors),this._completeResults.meta=r.meta),this._completed||!a||!M(this._config.complete)||r&&r.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),a||r&&r.meta.paused||this._nextChunk(),r}},this._sendError=function(e){M(this._config.error)?this._config.error(e):o&&this._config.error&&f.postMessage({workerId:v.WORKER_ID,error:e,finished:!1})}}function l(e){var n;(e=e||{}).chunkSize||(e.chunkSize=v.RemoteChunkSize),c.call(this,e),this._nextChunk=r?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(n=new XMLHttpRequest,this._config.withCredentials&&(n.withCredentials=this._config.withCredentials),r||(n.onload=E(this._chunkLoaded,this),n.onerror=E(this._chunkError,this)),n.open("GET",this._input,!r),this._config.downloadRequestHeaders){var e=this._config.downloadRequestHeaders;for(var t in e)n.setRequestHeader(t,e[t])}if(this._config.chunkSize){var i=this._start+this._config.chunkSize-1;n.setRequestHeader("Range","bytes="+this._start+"-"+i),n.setRequestHeader("If-None-Match","webkit-no-cache")}try{n.send()}catch(e){this._chunkError(e.message)}r&&0===n.status?this._chunkError():this._start+=this._config.chunkSize}},this._chunkLoaded=function(){4===n.readyState&&(n.status<200||400<=n.status?this._chunkError():(this._finished=!this._config.chunkSize||this._start>function(e){var t=e.getResponseHeader("Content-Range");if(null===t)return-1;return parseInt(t.substr(t.lastIndexOf("/")+1))}(n),this.parseChunk(n.responseText)))},this._chunkError=function(e){var t=n.statusText||e;this._sendError(new Error(t))}}function p(e){var n,r;(e=e||{}).chunkSize||(e.chunkSize=v.LocalChunkSize),c.call(this,e);var s="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,s?((n=new FileReader).onload=E(this._chunkLoaded,this),n.onerror=E(this._chunkError,this)):n=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(n.error)}}function _(e){var i;c.call(this,e=e||{}),this.stream=function(e){return i=e,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var e=this._config.chunkSize,t=e?i.substr(0,e):i;return i=e?i.substr(e):"",this._finished=!i,this.parseChunk(t)}}}function m(e){c.call(this,e=e||{});var t=[],i=!0,n=!1;this.pause=function(){c.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){c.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){n&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):i=!0},this._streamData=E(function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),i&&(i=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=E(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=E(function(){this._streamCleanUp(),n=!0,this._streamData("")},this),this._streamCleanUp=E(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function g(e){var t=require("stream").Duplex,i=w(e),n=!0,r=!1,s=[],a=null;this._onCsvData=function(e){for(var t=e.data,i=0;im.preview?a.abort():c(d,t)}}}function l(){if(d&&o&&(g("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+v.DefaultDelimiter+"'"),o=!1),m.skipEmptyLines)for(var e=0;e=f.length?"__parsed_extra":f[t]),m.transform&&(r=m.transform(r,n)),r=_(n,r),"__parsed_extra"===n?(i[n]=i[n]||[],i[n].push(r)):i[n]=r}d.data[e]=i,m.header&&(t>f.length?g("FieldMismatch","TooManyFields","Too many fields: expected "+f.length+" fields but parsed "+t,h+e):t=t.length/2?"\r\n":"\r"}(e)),o=!1,m.delimiter)M(m.delimiter)&&(m.delimiter=m.delimiter(e),d.meta.delimiter=m.delimiter);else{var n=function(e,t,i,n){for(var r,s,a,o=[",","\t","|",";",v.RECORD_SEP,v.UNIT_SEP],h=0;h=D)return E(!0)}else for(p=L,L++;;){if(-1===(p=n.indexOf(S,p+1)))return i||u.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:h.length,index:L}),b();if(p===r-1)return b(n.substring(L,p).replace(g,S));if(S!==A||n[p+1]!==A){if(S===A||0===p||n[p-1]!==A){var v=C(_);if(n[p+1+v]===x){f.push(n.substring(L,p).replace(g,S)),L=p+1+v+e,_=n.indexOf(x,L),m=n.indexOf(T,L);break}var k=C(m);if(n.substr(p+1+k,s)===T){if(f.push(n.substring(L,p).replace(g,S)),w(p+1+k+s),_=n.indexOf(x,L),o&&(R(),F))return E();if(D&&h.length>=D)return E(!0);break}u.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:h.length,index:L}),p++}}else p++}return b();function y(e){h.push(e),d=L}function C(e){var t=0;if(-1!==e){var i=n.substring(p+1,e);i&&""===i.trim()&&(t=i.length)}return t}function b(e){return i||(void 0===e&&(e=n.substr(L)),f.push(e),L=r,y(f),o&&R()),E()}function w(e){L=e,y(f),f=[],m=n.indexOf(T,L)}function E(e){return{data:h,errors:u,meta:{delimiter:x,linebreak:T,aborted:F,truncated:!!e,cursor:d+(t||0)}}}function R(){I(E()),h=[],u=[]}},this.abort=function(){F=!0},this.getCharIndex=function(){return L}}function y(e){var t=e.data,i=h[t.workerId],n=!1;if(t.error)i.userError(t.error,t.file);else if(t.results&&t.results.data){var r={abort:function(){n=!0,C(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:b,resume:b};if(M(i.userStep)){for(var s=0;s