Created
February 11, 2018 00:14
-
-
Save tommythorn/0fa1288a494251b556cdbf996454f69d to your computer and use it in GitHub Desktop.
Baker Real-Time GC
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!doctype html> | |
<html lang="en-us"> | |
<head> | |
<meta charset="utf-8"> | |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | |
<title>Emscripten-Generated Code</title> | |
<style> | |
body { | |
font-family: arial; | |
margin: 0; | |
padding: none; | |
} | |
.emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; } | |
div.emscripten { text-align: center; } | |
div.emscripten_border { border: 1px solid black; } | |
/* the canvas *must not* have any border or padding, or mouse coords will be wrong */ | |
canvas.emscripten { border: 0px none; background-color: black; } | |
#emscripten_logo { | |
display: inline-block; | |
margin: 0; | |
} | |
.spinner { | |
height: 30px; | |
width: 30px; | |
margin: 0; | |
margin-top: 20px; | |
margin-left: 20px; | |
display: inline-block; | |
vertical-align: top; | |
-webkit-animation: rotation .8s linear infinite; | |
-moz-animation: rotation .8s linear infinite; | |
-o-animation: rotation .8s linear infinite; | |
animation: rotation 0.8s linear infinite; | |
border-left: 5px solid rgb(235, 235, 235); | |
border-right: 5px solid rgb(235, 235, 235); | |
border-bottom: 5px solid rgb(235, 235, 235); | |
border-top: 5px solid rgb(120, 120, 120); | |
border-radius: 100%; | |
background-color: rgb(189, 215, 46); | |
} | |
@-webkit-keyframes rotation { | |
from {-webkit-transform: rotate(0deg);} | |
to {-webkit-transform: rotate(360deg);} | |
} | |
@-moz-keyframes rotation { | |
from {-moz-transform: rotate(0deg);} | |
to {-moz-transform: rotate(360deg);} | |
} | |
@-o-keyframes rotation { | |
from {-o-transform: rotate(0deg);} | |
to {-o-transform: rotate(360deg);} | |
} | |
@keyframes rotation { | |
from {transform: rotate(0deg);} | |
to {transform: rotate(360deg);} | |
} | |
#status { | |
display: inline-block; | |
vertical-align: top; | |
margin-top: 30px; | |
margin-left: 20px; | |
font-weight: bold; | |
color: rgb(120, 120, 120); | |
} | |
#progress { | |
height: 20px; | |
width: 30px; | |
} | |
#controls { | |
display: inline-block; | |
float: right; | |
vertical-align: top; | |
margin-top: 30px; | |
margin-right: 20px; | |
} | |
#output { | |
width: 100%; | |
height: 200px; | |
margin: 0 auto; | |
margin-top: 10px; | |
border-left: 0px; | |
border-right: 0px; | |
padding-left: 0px; | |
padding-right: 0px; | |
display: block; | |
background-color: black; | |
color: white; | |
font-family: 'Lucida Console', Monaco, monospace; | |
outline: none; | |
} | |
</style> | |
</head> | |
<body> | |
<a href="http://emscripten.org"> | |
<svg | |
version="1.1" | |
id="Layer_1" | |
x="0px" | |
y="0px" | |
width="296px" | |
height="78px" | |
viewBox="420 120 100 170" | |
enable-background="new 0 0 900 400" | |
xml:space="preserve" | |
inkscape:version="0.48.4 r9939" | |
sodipodi:docname="emscripten_powered_by_logo.svg"><metadata | |
id="metadata345"><rdf:RDF><cc:Work | |
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type | |
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs | |
id="defs343"><linearGradient | |
y2="247.6265" | |
x2="225.1929" | |
y1="152.499" | |
x1="225.1929" | |
gradientUnits="userSpaceOnUse" | |
id="linearGradient5104"><stop | |
id="stop5106" | |
style="stop-color:#C1D72F" | |
offset="0.3227531" /><stop | |
id="stop5108" | |
style="stop-color:#BCD631" | |
offset="0.45119295" /><stop | |
id="stop5110" | |
style="stop-color:#AFD136" | |
offset="0.64491969" /><stop | |
id="stop5112" | |
style="stop-color:#ABD037" | |
offset="1" /><a:midPointStop | |
style="stop-color:#C1D72F" | |
offset="0.0123" /><a:midPointStop | |
style="stop-color:#C1D72F" | |
offset="0.3086" /><a:midPointStop | |
style="stop-color:#ABD037" | |
offset="1" /></linearGradient><linearGradient | |
inkscape:collect="always" | |
xlink:href="#SVGID_2_" | |
id="linearGradient5120" | |
x1="397.56918" | |
y1="128.12726" | |
x2="397.56918" | |
y2="166.25996" | |
gradientUnits="userSpaceOnUse" | |
gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)" /><filter | |
inkscape:collect="always" | |
id="filter5126"><feGaussianBlur | |
inkscape:collect="always" | |
stdDeviation="0.56377237" | |
id="feGaussianBlur5128" /></filter><linearGradient | |
inkscape:collect="always" | |
xlink:href="#SVGID_2_" | |
id="linearGradient5134" | |
gradientUnits="userSpaceOnUse" | |
gradientTransform="matrix(1.103059,0,0,1.103059,-38.997823,3.1312145)" | |
x1="397.56918" | |
y1="128.12726" | |
x2="397.56918" | |
y2="166.25996" /></defs><sodipodi:namedview | |
pagecolor="#ffffff" | |
bordercolor="#666666" | |
borderopacity="1" | |
objecttolerance="10" | |
gridtolerance="10" | |
guidetolerance="10" | |
inkscape:pageopacity="0" | |
inkscape:pageshadow="2" | |
inkscape:window-width="1440" | |
inkscape:window-height="838" | |
id="namedview341" | |
showgrid="false" | |
inkscape:zoom="0.63555556" | |
inkscape:cx="224.82424" | |
inkscape:cy="-52.085109" | |
inkscape:window-x="-8" | |
inkscape:window-y="-8" | |
inkscape:window-maximized="1" | |
inkscape:current-layer="Layer_1" /><g | |
id="g5130" | |
transform="matrix(0.91591318,0,0,0.91591318,28.176953,14.143571)"><path | |
transform="matrix(1.103059,0,0,1.103059,-35.073492,-16.03923)" | |
id="path5122" | |
style="fill:#383838;fill-opacity:0.34705882;stroke:none;filter:url(#filter5126)" | |
d="m 494.39333,173.6323 c 0.57407,0.28703 1.87073,1.00226 2.89426,1.02855 0.55732,0.0143 1.14006,-0.1672 1.60262,-0.4784 1.20466,-0.81046 2.23561,-2.03031 2.72683,-3.39661 0.19424,-0.54027 0.0238,-1.72222 0.0238,-1.72222 l -3.82713,-14.06478 -1.98533,0 0.50231,-2.67891 6.36261,0 2.55939,12.22285 4.78392,-9.68746 -2.00924,0 0,-2.65498 7.19979,0 -11.00301,22.38875 -1.69829,1.91358 -2.29628,1.3395 -2.46371,0.26312 -2.29628,-0.21528 -2.79859,-1.36342 z m -12.0637,-14.56445 c -0.93698,1.88565 -1.70261,4.35262 -0.81842,6.26333 0.36549,0.78976 1.35098,1.19428 2.192,1.41737 0.60934,0.16133 1.29167,0.0999 1.88775,-0.10468 0.48126,-0.1655 0.8829,-0.5224 1.255,-0.8697 0.40341,-0.3768 0.77723,-0.80461 1.03505,-1.29262 0.21864,-0.41395 0.40236,-0.84786 0.49325,-1.30698 0.20667,-1.0485 0.35879,-2.1079 0.33583,-3.17631 -0.0184,-0.87403 -0.0789,-1.87107 -0.47711,-2.64959 -0.26344,-0.51379 -0.77017,-0.71849 -1.33113,-0.85633 -0.42395,-0.10479 -0.81432,-0.0626 -1.21773,0.10517 -0.65479,0.27273 -1.2544,0.5311 -1.82112,0.95764 -0.57331,0.4317 -1.21403,0.86959 -1.53337,1.5127 z m 0.65588,-4.31208 c 0,0 2.19341,-1.80738 3.45549,-2.27082 0.71718,-0.26365 3.45363,-0.65258 4.15,-0.3378 1.47292,0.66633 2.26103,1.57529 2.7222,2.60001 0.46118,1.02472 0.69944,2.59956 0.79701,3.73627 0.13278,1.55027 -0.13682,3.77629 -0.53404,5.74843 -0.30079,1.49256 -1.01883,2.74423 -1.83478,3.92156 -1.06526,1.5373 -1.82382,2.15116 -3.66756,2.46594 -0.98864,0.16889 -1.93845,0.46787 -3.25466,0.0928 -1.4384,-0.40963 -2.35273,-0.81244 -3.39599,-1.63337 -0.72524,-0.57054 -1.16043,-1.54043 -1.16043,-1.54043 l 0,2.82636 -4.8903,0 3.39872,-23.01602 -1.92242,-0.85888 0.0403,-2.38127 7.25847,0.0534 z m -23.77803,2.20447 c 0.29175,1.49273 0.0813,4.83252 -0.86111,6.69751 -0.3062,0.60617 -0.94813,1.32967 -1.55479,1.6983 -1.01515,0.61713 -2.21688,1.21322 -3.3966,1.07639 -0.47944,-0.0541 -0.97036,-0.34348 -1.24383,-0.74151 -0.47686,-0.69328 -0.43621,-1.55032 -0.45448,-2.39198 -0.024,-1.06873 0.13137,-2.23775 0.38272,-3.277 0.18705,-0.7744 0.4229,-1.58254 0.86111,-2.24844 0.39037,-0.59323 0.92628,-1.12617 1.55478,-1.45909 0.54854,-0.29014 1.19695,-0.38467 1.81791,-0.40664 0.63637,-0.0231 1.3031,0.0385 1.88966,0.28704 0.3875,0.16453 0.92361,0.3524 1.00463,0.76542 z m 1.29312,-9.69052 -0.64254,6.12262 c 0,0 -1.68393,-0.96858 -2.605,-1.25148 -0.73032,-0.22434 -1.50312,-0.36654 -2.26624,-0.33838 -0.97069,0.0345 -1.91182,0.22099 -2.81751,0.57088 -0.9185,0.35497 -1.78344,0.94565 -2.49338,1.62792 -0.88025,0.84538 -1.51404,1.90455 -2.02977,3.0106 -0.39653,0.84993 -0.69517,1.75284 -0.87975,2.67232 -0.22875,1.14241 -0.44415,2.38719 -0.43937,3.55197 0.01,1.44865 0.0623,2.89489 0.54092,4.26214 0.25525,0.72907 0.71643,1.40578 1.28572,1.9283 0.56835,0.52207 1.29566,0.87604 2.02935,1.11621 0.41072,0.13491 0.85346,0.17274 1.28579,0.16935 1.00285,-0.01 2.03715,-0.0883 2.97671,-0.43999 0.66497,-0.2489 1.21759,-0.73399 1.79298,-1.1502 0.75304,-0.54475 2.16476,-1.86006 2.16476,-1.86006 l 0,1.62374 -0.5751,0 0,1.48807 6.86709,0 0,-2.84135 -1.92841,0 3.21374,-23.57782 -7.37422,0 0,2.33412 z m -93.60062,7.55781 2.33363,15.57933 6.23084,0 4.04243,-11.34169 1.62654,11.34169 5.88425,0 7.05633,-16.38872 0,-2.0141 -6.1713,0 0,2.82349 1.88966,0 -4.04243,10.16973 -0.74151,0 -1.29167,-12.55773 -5.38194,0 -4.7361,12.50989 -1.55478,-12.94538 -6.86496,0 0,2.82349 z m -12.15,0.72146 c -0.56264,0.0892 -1.03524,0.17358 -1.53086,0.45447 -0.737,0.41808 -1.46132,0.95771 -1.91357,1.67437 -0.44123,0.70048 -0.53204,1.57581 -0.66975,2.39196 -0.1751,1.04003 -0.20064,2.10306 -0.19136,3.15741 0.01,0.81614 -0.0138,1.66577 0.35879,2.39197 0.1904,0.37315 0.52874,0.80945 0.88503,1.02855 0.56015,0.34453 1.06632,0.55494 1.72222,0.598 0.72597,0.0483 1.48801,-0.18852 2.10493,-0.57408 0.59422,-0.37072 1.03334,-0.97401 1.38735,-1.5787 0.46117,-0.78744 0.70905,-1.69257 0.90895,-2.58334 0.20377,-0.90704 0.33579,-1.84565 0.28703,-2.77468 -0.0491,-0.92714 -0.18211,-1.88434 -0.57407,-2.72684 -0.2728,-0.58681 -0.70954,-1.00753 -1.29166,-1.29165 -0.44403,-0.21628 -0.99455,-0.24402 -1.48303,-0.16744 z m -6.62442,-0.73581 c 0.65404,-0.6664 1.4072,-1.25479 2.23273,-1.69161 1.0305,-0.54505 2.16429,-0.92749 3.31518,-1.11604 1.51307,-0.24806 3.09342,-0.2847 4.60036,0 0.88055,0.16632 1.78322,0.44742 2.50307,0.98113 0.77409,0.57312 1.35279,1.40936 1.79291,2.26639 0.42901,0.83457 0.6828,1.77223 0.77798,2.70605 0.16564,1.61985 0.024,3.29135 -0.37201,4.87103 -0.33328,1.33759 -0.88436,2.64754 -1.65745,3.78889 -0.67549,0.99679 -1.52894,1.91262 -2.53721,2.5709 -0.89957,0.58746 -1.9718,0.87641 -3.01035,1.15006 -0.87153,0.22963 -1.77166,0.4095 -2.67235,0.40576 -1.21068,-0.01 -2.47998,-0.0817 -3.58589,-0.57511 -1.09854,-0.48896 -1.89728,-1.32739 -2.60455,-2.30013 -0.61123,-0.83995 -1.02561,-1.59975 -1.31932,-2.87516 -0.2125,-0.9233 -0.40006,-2.19912 -0.37215,-3.14592 0.0335,-1.16537 0.3568,-2.74121 0.83416,-3.80434 0.52547,-1.17098 1.17609,-2.3161 2.07489,-3.2319 z m 94.95184,13.82318 c -2.20516,1.01761 -4.61429,1.69636 -7.02343,1.69636 -5.32726,0 -7.22678,-3.12145 -7.22678,-7.22678 0,-7.1251 4.54685,-11.19645 10.0772,-11.19645 3.7324,0 5.56453,1.69625 5.56453,4.47856 0,4.85189 -5.12329,6.27735 -10.41633,6.82001 0.10168,1.73076 0.81446,3.32485 3.3592,3.32485 1.2218,0 2.88401,-0.37315 4.91982,-1.22099 z m -3.22292,-11.77374 c 0,-0.81423 -0.57695,-1.28891 -1.62876,-1.28891 -1.89988,0 -3.46041,1.66212 -3.96978,4.34287 1.45897,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -30.33408,11.77374 c -2.2054,1.01761 -4.61457,1.69636 -7.02371,1.69636 -5.32653,0 -7.22671,-3.12145 -7.22671,-7.22678 0,-7.1251 4.54679,-11.19645 10.07785,-11.19645 3.73175,0 5.56382,1.69625 5.56382,4.47856 0,4.85189 -5.12273,6.27735 -10.41568,6.82001 0.10142,1.73076 0.81422,3.32485 3.35884,3.32485 1.22158,0 2.8842,-0.37315 4.91994,-1.22099 z m -3.22305,-11.77374 c 0,-0.81423 -0.57638,-1.28891 -1.62883,-1.28891 -1.89959,0 -3.46023,1.66212 -3.96971,4.34287 1.4591,-0.20368 5.59854,-0.91613 5.59854,-3.05396 z m -82.36051,20.5268 -0.0679,-0.13571 0.98406,-5.66614 2.10303,-15.16698 c 0.0687,-0.40664 -0.0332,-0.61046 -0.30522,-0.71214 l -1.66259,-0.61111 0.37379,-2.57855 6.78556,0 -0.40663,2.71427 0.10142,0.0335 c 2.0016,-1.86631 4.10566,-3.08743 6.24306,-3.08743 2.91821,0 4.95366,1.86577 4.95366,6.78561 0,4.68241 -1.83206,11.6379 -8.14271,11.6379 -2.20534,0 -3.42694,-0.84825 -4.68256,-1.73039 l -0.74621,5.08917 c -0.0341,0.37361 0.0326,0.50898 0.47457,0.54273 l 3.42697,0.33969 -0.37385,2.5447 -9.0589,0 z m 6.78613,-12.04485 c 0.84787,0.71258 1.96788,1.32305 3.22348,1.32305 2.74798,0 3.76601,-3.86811 3.76601,-6.85368 0,-2.002 -0.47476,-3.32542 -1.76432,-3.32542 -1.35696,0 -3.08763,1.4591 -4.30913,2.54506 z m 81.08934,4.85147 0.33969,-2.54464 1.56064,-0.2038 c 0.47498,-0.0683 0.5429,-0.1695 0.61084,-0.67837 l 1.42466,-10.34864 c 0.0335,-0.37315 -0.0335,-0.61046 -0.33914,-0.71214 l -1.69691,-0.61111 0.37365,-2.57855 6.71797,0 -0.44097,3.05395 0.10191,0.0679 c 1.32326,-1.89982 3.22359,-3.46042 5.39485,-3.46042 0.7463,0 2.0359,0.13582 2.61295,0.30538 l -0.84863,6.17508 -3.96972,-0.13582 -0.10157,-1.76443 c -0.0335,-0.30537 -0.10223,-0.40701 -0.37391,-0.40701 -0.64452,0 -1.69636,0.78027 -2.64651,1.76455 l -1.18674,8.61817 c -0.0687,0.54303 -0.0334,0.64474 0.47477,0.67874 l 3.22351,0.27142 -0.37384,2.51081 -10.8575,0 z" | |
inkscape:connector-curvature="0" | |
sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc" /><path | |
sodipodi:nodetypes="cssscccccccccccccccccssssssssccssscssssscsssccccccccsssssssssccsccsssssssssscsscccccccccccccccccccccccccccccccsssscsssssscscsssssssscsssssssssscsssscsccsscscsssscsccsscsccccccccccsssccccccccssscccccccccccccsccccsccccccc" | |
inkscape:connector-curvature="0" | |
d="m 509.55935,174.26011 c 0.63327,0.31663 2.06355,1.10555 3.19256,1.13455 0.61476,0.0158 1.25757,-0.18443 1.76781,-0.5277 1.3288,-0.89397 2.46618,-2.23946 3.00784,-3.74661 0.21419,-0.59598 0.0258,-1.89972 0.0258,-1.89972 l -4.22153,-15.51428 -2.18993,0 0.55406,-2.95501 7.01835,0 2.82313,13.48255 5.27696,-10.68586 -2.21631,0 0,-2.92858 7.94179,0 -12.13698,24.69605 -1.87332,2.11078 -2.5329,1.4776 -2.71762,0.29022 -2.53295,-0.23748 -3.08699,-1.50392 z m -13.30698,-16.06545 c -1.0335,2.08005 -1.87803,4.80122 -0.90274,6.90883 0.4032,0.87116 1.49018,1.31738 2.4179,1.56347 0.67214,0.17793 1.42477,0.1102 2.08233,-0.11548 0.53084,-0.1826 0.97383,-0.5762 1.38432,-0.9593 0.44502,-0.4157 0.85733,-0.8875 1.14176,-1.42582 0.24113,-0.45665 0.44375,-0.93526 0.54404,-1.44168 0.22797,-1.1566 0.3958,-2.3252 0.37043,-3.50371 -0.0204,-0.96413 -0.0869,-2.06387 -0.52631,-2.92259 -0.29054,-0.56679 -0.84946,-0.79259 -1.46826,-0.94463 -0.46761,-0.11559 -0.89829,-0.0686 -1.34322,0.11597 -0.72226,0.30083 -1.38368,0.5859 -2.00879,1.05634 -0.63242,0.4762 -1.33915,0.9593 -1.69146,1.6686 z m 0.72346,-4.75648 c 0,0 2.41951,-1.99358 3.81169,-2.50482 0.79109,-0.29085 3.80953,-0.71977 4.57766,-0.3726 1.6247,0.73503 2.49408,1.73759 3.00274,2.86791 0.50868,1.13043 0.77154,2.86756 0.87911,4.12137 0.14648,1.71007 -0.15092,4.16549 -0.58904,6.34083 -0.33179,1.64636 -1.12383,3.02703 -2.02388,4.32576 -1.17506,1.6957 -2.01178,2.37286 -4.04556,2.72004 -1.09051,0.18629 -2.13814,0.51607 -3.59006,0.10268 -1.5866,-0.45183 -2.59522,-0.89615 -3.74599,-1.8017 -0.79994,-0.62933 -1.28003,-1.6992 -1.28003,-1.6992 l 0,3.11766 -5.39426,0 3.74898,-25.38802 -2.12052,-0.94738 0.0443,-2.62669 8.00657,0.0587 z m -26.22853,2.43167 c 0.32185,1.64663 0.0893,5.33062 -0.9498,7.38781 -0.33781,0.66857 -1.04588,1.46667 -1.7151,1.8733 -1.11975,0.68073 -2.44527,1.33822 -3.7466,1.18729 -0.52883,-0.0601 -1.07036,-0.37888 -1.37203,-0.81791 -0.52601,-0.76478 -0.48121,-1.71012 -0.50128,-2.63848 -0.0263,-1.17893 0.14487,-2.46835 0.42212,-3.6147 0.20635,-0.8543 0.4665,-1.74564 0.94981,-2.48024 0.43067,-0.65433 1.02178,-1.24217 1.71508,-1.60939 0.60504,-0.32004 1.32025,-0.42437 2.00521,-0.44854 0.70197,-0.0251 1.4374,0.0425 2.08446,0.31654 0.4274,0.18153 1.01882,0.3888 1.10813,0.84432 z m 1.42642,-10.68922 -0.70874,6.75362 c 0,0 -1.85753,-1.06838 -2.8735,-1.38048 -0.80562,-0.24744 -1.65802,-0.40424 -2.49984,-0.37318 -1.07069,0.0382 -2.10882,0.24369 -3.1078,0.62968 -1.01321,0.39157 -1.96724,1.04315 -2.75039,1.79572 -0.97095,0.93248 -1.67003,2.10085 -2.23897,3.3208 -0.43738,0.93753 -0.76677,1.93354 -0.9704,2.94777 -0.2523,1.26016 -0.4899,2.63324 -0.48461,3.91802 0.011,1.59795 0.0683,3.19329 0.59661,4.70144 0.28155,0.80417 0.79028,1.55058 1.41822,2.127 0.62695,0.57587 1.4292,0.96634 2.23856,1.23121 0.45301,0.14881 0.94135,0.19054 1.41828,0.18685 1.10615,-0.011 2.24705,-0.0973 3.28346,-0.48539 0.73352,-0.2745 1.34304,-0.80959 1.97773,-1.2687 0.83064,-0.60085 2.38786,-2.05176 2.38786,-2.05176 l 0,1.79104 -0.63429,0 0,1.64147 7.57478,0 0,-3.13415 -2.12721,0 3.54494,-26.00772 -8.13411,0 0,2.57462 z m -103.24702,8.33671 2.57413,17.18493 6.87304,0 4.45903,-12.51049 1.79414,12.51049 6.49065,0 7.78353,-18.07772 0,-2.2217 -6.8073,0 0,3.11449 2.08446,0 -4.45903,11.21783 -0.8179,0 -1.42488,-13.85193 -5.93654,0 -5.2242,13.79919 -1.71497,-14.27958 -7.57246,0 0,3.11449 z m -13.4021,0.79586 c -0.62064,0.0982 -1.14194,0.19148 -1.68866,0.50127 -0.813,0.46118 -1.61192,1.05641 -2.11077,1.84697 -0.48673,0.77268 -0.58683,1.73821 -0.73875,2.63846 -0.1932,1.14723 -0.22134,2.31976 -0.21116,3.48281 0.011,0.90024 -0.0148,1.83747 0.39579,2.63847 0.21,0.41165 0.58324,0.89285 0.97623,1.13455 0.61796,0.38003 1.17622,0.61214 1.89972,0.6596 0.80077,0.0533 1.64141,-0.20792 2.32189,-0.63318 0.65546,-0.40892 1.13978,-1.07441 1.53029,-1.7414 0.50878,-0.86864 0.78215,-1.86707 1.00265,-2.84964 0.22477,-1.00044 0.37039,-2.03585 0.31663,-3.06058 -0.0541,-1.02274 -0.20091,-2.07854 -0.63327,-3.00784 -0.3009,-0.64731 -0.78264,-1.11143 -1.42476,-1.42485 -0.48983,-0.23858 -1.09705,-0.26912 -1.63583,-0.18464 z m -7.30711,-0.81171 c 0.72143,-0.735 1.55219,-1.38409 2.46282,-1.86591 1.1367,-0.60125 2.38729,-1.02309 3.65678,-1.23104 1.66908,-0.27366 3.41222,-0.314 5.07446,0 0.97135,0.18342 1.96702,0.49352 2.76107,1.08223 0.85389,0.63222 1.49219,1.55466 1.97771,2.49999 0.47321,0.92057 0.7531,1.95483 0.85808,2.98495 0.18274,1.78675 0.0263,3.63055 -0.41031,5.37303 -0.36757,1.47539 -0.97545,2.92034 -1.82825,4.17929 -0.74509,1.09959 -1.68654,2.10982 -2.79871,2.8359 -0.99227,0.64796 -2.175,0.96671 -3.32055,1.26856 -0.96139,0.25333 -1.95426,0.4517 -2.94774,0.44756 -1.33549,-0.011 -2.73559,-0.0897 -3.9555,-0.63431 -1.21174,-0.53936 -2.09278,-1.46419 -2.87295,-2.53723 -0.67423,-0.92645 -1.13131,-1.76457 -1.45532,-3.17146 -0.2344,-1.0184 -0.44126,-2.42572 -0.41044,-3.47012 0.0365,-1.28547 0.39349,-3.02371 0.92005,-4.19644 0.57967,-1.29168 1.29729,-2.5548 2.2888,-3.565 z m 104.73744,15.24778 c -2.43247,1.12251 -5.0899,1.87126 -7.74734,1.87126 -5.87626,0 -7.97147,-3.44315 -7.97147,-7.97158 0,-7.8594 5.0154,-12.35035 11.11569,-12.35035 4.11711,0 6.13803,1.87105 6.13803,4.94016 0,5.35189 -5.65129,6.92425 -11.48983,7.52281 0.11219,1.90916 0.89836,3.66755 3.7054,3.66755 1.3477,0 3.18121,-0.41165 5.42682,-1.34689 z m -3.55513,-12.98704 c 0,-0.89823 -0.63635,-1.42181 -1.79655,-1.42181 -2.09568,0 -3.81712,1.83342 -4.37899,4.79047 1.60937,-0.22468 6.17554,-1.01053 6.17554,-3.36866 z m -33.46028,12.98704 c -2.4327,1.12251 -5.09006,1.87126 -7.74751,1.87126 -5.87553,0 -7.97151,-3.44315 -7.97151,-7.97158 0,-7.8594 5.01539,-12.35035 11.11645,-12.35035 4.11635,0 6.13722,1.87105 6.13722,4.94016 0,5.35189 -5.65062,6.92425 -11.48908,7.52281 0.11182,1.90916 0.89812,3.66755 3.70494,3.66755 1.34748,0 3.1815,-0.41165 5.42704,-1.34689 z m -3.55514,-12.98704 c 0,-0.89823 -0.63578,-1.42181 -1.79674,-1.42181 -2.09539,0 -3.81683,1.83342 -4.37881,4.79047 1.60951,-0.22468 6.17555,-1.01053 6.17555,-3.36866 z m -90.84852,22.6422 -0.0749,-0.14971 1.08546,-6.25004 2.31984,-16.73008 c 0.0757,-0.44854 -0.0367,-0.67336 -0.33673,-0.78554 l -1.83388,-0.67411 0.41228,-2.84425 7.48486,0 -0.44853,2.99397 0.11182,0.0371 c 2.2079,-2.05871 4.52887,-3.40563 6.88646,-3.40563 3.21901,0 5.46427,2.05807 5.46427,7.48491 0,5.16501 -2.02094,12.8373 -8.98192,12.8373 -2.43264,0 -3.78014,-0.93565 -5.16516,-1.90869 l -0.82311,5.61357 c -0.0376,0.41212 0.0356,0.56148 0.52347,0.59873 l 3.78017,0.37469 -0.41234,2.8069 -9.9925,0 z m 7.48553,-13.28615 c 0.93528,0.78598 2.17068,1.45946 3.55568,1.45946 3.03118,0 4.15411,-4.26682 4.15411,-7.56009 0,-2.2083 -0.52366,-3.66812 -1.94612,-3.66812 -1.49686,0 -3.40583,1.6095 -4.75323,2.80736 z m 89.44624,5.35147 0.37469,-2.80694 1.72154,-0.2248 c 0.52388,-0.0753 0.5988,-0.1869 0.67374,-0.74827 l 1.57152,-11.41514 c 0.0365,-0.41155 -0.0368,-0.67336 -0.3741,-0.78554 l -1.87181,-0.67411 0.41215,-2.84425 7.41037,0 -0.48647,3.36865 0.11241,0.0749 c 1.45966,-2.09562 3.55581,-3.81702 5.95085,-3.81702 0.8232,0 2.2457,0.14982 2.88225,0.33688 l -0.93613,6.81148 -4.37882,-0.14982 -0.11196,-1.94633 c -0.0371,-0.33677 -0.11284,-0.44891 -0.41252,-0.44891 -0.71092,0 -1.87116,0.86067 -2.91921,1.94635 l -1.30904,9.50637 c -0.0757,0.59903 -0.0368,0.71124 0.52367,0.74874 l 3.55571,0.29932 -0.41234,2.76961 -11.9765,0 z" | |
style="fill:url(#linearGradient5134);fill-opacity:1;stroke:none" | |
id="path5080" /></g><path | |
fill="#E2E2E2" | |
d="M256.023,135.437H196.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663 c16.433,0,29.801-13.368,29.801-29.8v-73.527C285.824,148.805,272.456,135.437,256.023,135.437z M191.561,165.236 c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H196.36 c-2.646,0-4.8-2.153-4.8-4.8V165.236z" | |
id="path3" /><path | |
d="m 531.664,250.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 615.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z" | |
id="path5" | |
inkscape:connector-curvature="0" | |
style="fill:#e2e2e2" /><path | |
fill="#F5F5F5" | |
d="M255.023,133.437H195.36c-16.432,0-29.8,13.368-29.8,29.8v73.527c0,16.432,13.368,29.8,29.8,29.8h59.663 c16.433,0,29.801-13.368,29.801-29.8v-73.527C284.824,146.805,271.456,133.437,255.023,133.437z M190.561,163.236 c0-2.646,2.153-4.8,4.8-4.8h59.663c2.647,0,4.801,2.153,4.801,4.8v73.527c0,2.646-2.153,4.8-4.801,4.8H195.36 c-2.646,0-4.8-2.153-4.8-4.8V163.236z" | |
id="path7" /><g | |
id="g9"><g | |
id="g11"><path | |
fill="#FBFDF8" | |
d="M195.361,251.626c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663 c8.161,0,14.8,6.639,14.8,14.8v73.527c0,8.16-6.639,14.8-14.8,14.8H195.361z" | |
id="path13" /><path | |
fill="#F0F4E1" | |
d="M255.024,152.499c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663 c-5.964,0-10.8-4.835-10.8-10.8v-73.527c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663 c-10.366,0-18.8,8.434-18.8,18.8v73.527c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527 C273.824,152.933,265.391,144.499,255.024,144.499L255.024,144.499z" | |
id="path15" /></g><defs | |
id="defs17"><filter | |
id="Adobe_OpacityMaskFilter" | |
filterUnits="userSpaceOnUse" | |
x="176.562" | |
y="144.499" | |
width="97.263" | |
height="111.127"><feColorMatrix | |
type="matrix" | |
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" | |
color-interpolation-filters="sRGB" | |
result="source" | |
id="feColorMatrix20" /></filter></defs><mask | |
maskUnits="userSpaceOnUse" | |
x="176.562" | |
y="144.499" | |
width="97.263" | |
height="111.127" | |
id="SVGID_1_"><g | |
filter="url(#Adobe_OpacityMaskFilter)" | |
id="g23"><image | |
overflow="visible" | |
width="422" | |
height="480" | |
xlink:href="data:image/jpeg;base64,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 7fGT6fI+nyPp8j6fI+nyPp8j6fI+nyPp8j6fI+nyPp8D7x8fJtxp1m7Tp5jbw/MfWIjbXTk5SHsH j/sBQ63ZK2AdthqO8vXbUZWrJ0V/oJ7ZB7Sa+ofJMIkS6IySyJRLIkSyJEsiRLIkSyJEsiRLIkSy JVLYiRLYicEr8xfwSemN0kjy8PIdkfxQp0xWEAPYPH/YCh1uyVsAAz08ome2si37qZkumaULspIu 2aRkuyki7KSLspIuyki7KSLspIuyki7KSLtilC6qSLtilC6fNNFu5qz8k7wcI+vkAAHsHj/sBWoQ AAAAAAAAAAAAAAAAAAAAAAAAAHpAf//aAAgBAgABBQD/ACi//9oACAEDAAEFAP8AKL//2gAIAQEA AQUA6w6rz/LM+776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvv qs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qz vvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++qzvvqs776rO++ qzvvqs776rMfLPYHlHyRFUbivuDeUv1FOSVKJkRwE4CcAOAHADgBwA4AcAOAHADgBwA4AcAOAHAD gBwA4AcAOAHADgBwA4AcAOAnARciFyRUK8ndQcgyGxaaqf4fYHlHwRFUjZe68RsqbpGoKIUQkKYY kISEYJDAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmBMCYEwJgTAmCQWELCKoSFcNByEhIyxusk5 VVQV0VUL8vYHlGltupyqDlaIMREQaijcUoilMUSKgkZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDI YZDDIYZDDIYZDDIYZDDIYZDDIYZDDIYZDDILGQWKVRSuKORR2KPRCZltDiSYrjFXx9geUaG26nKs vy9KEjxhmONRxuOUMFLAjIjJdF0XRdIXSF0hdF0XRdF0XRdF0XRdF0XRdF0XRdIXSF0hdIXRdCsi sisFTBXHHY49GH4xMhU10y4tTFfw9geUCJ9rlcL6SNHGGBlgbZKGilsShDZQ+kPr/wBX0fSGygtC CtoVNDjI6wPsElgzCGjlLrdTden2B5QZfGvnYbCIkdkYZGmihsSn61ItJXQOtD7JIZJTBm0X6+Hs DyhP1cpjbLcVojtDLY3QIn1qZU+yugebJDRKaJ7CVUvtq27o9geURaLx6C19JFbI7Y1QU0/WqFQd oH6CS2TG/wAzZrZd0ewPKMqo2n4VH5FoGKBunVTifj9JJpJdBnVH+mj2B5RkqfdcOki0jFJQn5qm pPx5CTSS6TOKf6tHsDyjI0/2hIRU/GUKbNU1DyfklCWhm6f06PYHlGRf9QkIqfjKCWapWx4kkszj daPYHlGQ2wrItjImqlseJJMM43Wj2B5RkNsEjWNarUeJJMM43Oj2B5RkNsEjWNarUeJJMM43Oj2B 5RkNsGyLY1qtR6ySTDONzo9geUZDbBsi2NarUesk2TDON1o9geUZDbBsjWNarUesk2TDON1o9geU ZDbBsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDb BsjWNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsj WNarUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNa rUeskkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUe skkwzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskk wzjdaPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzj daPYHlGQ2wbI1jWq1HrJJMM43Wj2B5RkNsGyNY1qtR6ySTDON1o9geUZDbBsjWNarUeskkwzjdaP YHlGQ2wbI1jWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJNkwzjdaPYHlGQ2wbItjWq1HrJJMM43Oj2B 5RkNsGyNY1qtR4kkwzjc6PYHlGQ2wSNY1qtR4kkwzjc6PYHlGQ2wrItjImqlseJJMM43Wj2B5RkV sJSKv4yolmqVseJJLM43Wj2B5Rkf/UJSKv4ypTZqmoeX8kqS1M43Oj2B5Rki/wC0Koi1DKlC/mqa h5SSpLUzdf6tHsDyjJ6/p2HURaxiobX81TWv4/USaiXUZy59N6PYHlGXubEiE5+RaxisaqEXVCjl Q/WSayXX+Zy59ro9geUUVbNeXPpVRFdI7gzWUVfeqK6h2skOElwmu/ST3bx/R7A8oMpk/SxHiM8M OjThTX9iLqWqr6HHB50kOkp4zSVsUVKqro9geUDLit15fLSumM+MPjTw26UuCVH2moPsWoqcK3R1 4feJD5MkIiTpKvO6fYHlGiFLViuHLSpGJAzIGnyh8peKXRHEEcQ20NtDbQ2kNpDaQ2kNpDaQ2kNp DaQ2kNpDaQ2kNpDaQ2kNpDaQ2kNpDaQ20NtDbQVxBXEFdKnit8cfHpA/IJMn6TMp+0vw9geUaYU+ pmqJNprRmUNSRuSUSSmQgkgSQI+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X5fl+X4r4sgWQV SCuSOSR2SPSiRLREzDMlUVVVfh7A8o+EeW4wsTNKKxmYijcsollMspliSxJZjDGIYxDGIYxDGIYx DGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxDGIYxBZYssqllUsrljksdmISsxooSVmLjyqq r8vYHlHxRVRWZ77QznNI3mzSlGZUKU5hSJmKHEUOIocRQ4jScRQ4ihxFDiKHEUOIocRQ4ihxFDiK HEUOIocRQ4ihxFDiKHEUOIocRpOIocRQ4ihxFBcxQXMEKsxpHM1aQezmhB/M3nCquqtfn7A8o/hS utC9dL50vnS/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/eL94v3i/ eL50vnS9dLytT7X+PrDhvHuTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOT HJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY5McmOTHJjkxyY/pP/aAAgBAgIGPwBR f//aAAgBAwIGPwBRf//aAAgBAQEGPwCPk8jmv2su47DV1z9uE90V5xHl7vuKrTXWMHDNdYwcM11j BwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHD NdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11 jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMH DNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDNdYwcM11jBwzXWMHDP+z/AEd/2MzUhXbvz7H6XVO/ Y7vFJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkpSUpKUlKSlJSkp+le p3d6ndOn4OZqQrt349EOqp0QT9PVfzGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGC9X RVh9/wAjo8nRfnmakK7d+H+LqdVEefTqonYYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBgwYMGDBg wYMGDBeqd/uKip2+/wAszUhXbsqOutURVT9SidhgwYMlZ/XsGDBgvYVFQVOnb6fHM1IV27J0QR95 O6idhOwyaWC9hU6d/oK6v0+GZqQrt2RFVOyCdhBJrUU/cRO6N+GZqQrt06CL07qIJNiijydGjzsu ZqQrt0dd/MRBBJsUUU/y+8uZqQrt06/YQQSbFFFOv2WXM1IV26KIJNyij0uZqQrt0e8iCTcoo/Lm akK7dHvIggk2KKKPy5mpCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yI JNyij8uZqQrt0e8iCTaooo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCTaoo/Lma kK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7y IIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo /LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu 3R7yIIJNqij8uZqQrt0e8iCCTaoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCC Taoo/LmakK7dHvIggk2qKPy5mpCu3R7yIIJNqij8uZqQrt0e8iCTcoo/LmakK7dHvIgk2qKKPy5m pCu3R7yIJNyij8uZqQrt0e8iCTcoo/LmakK7dHvIgk3KKPy5mpCu3R7yIJNyij8uZqQrt0e8iCCT aoo/LmakK7dHvIgk3KKPy5mpCu3R4QSblFHpczUhXboqfcQQSbVFFT7y5mpCu3RPzEEEmxRRRHZc zUhXbojyfRR1RBJsUUUX7JLmakK7dk/bVfAgk2KKL37qwVV+suZqQrt2RHk+giook2L3F7i9GJ8M zUhXbsqItFRFRRO40aNmVo0aL3FhuL5+OZqQrt34I69REVFGjRo0aNGjf6po0aNGjRo0XuK5DXv9 zqrV+OZqQrt349UXt9hEVeijRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRo0Xq9/YVH V6OnVflmakK7d+XVOw3qh0e7FM7PJ7KQ0aNGjRo0aNGjRo0aNGjRo0aNGjRo0aNGjRpSKaH6V6nR 3sh1eXr+BmakK7d/C7KqFJfZTX2U19lNfZTX2U19lN72U3vZTe9lN72U3vZTe9lN72U3vZTe9lN7 2U3vZTe9lN72U3vZTe9lN72U3vZTe9lN72U19lNfZTX2U19lNfZSX2d3l/Ej/wAj/wCf+7/jD6/y f5/7tBOnX+L/AMfr+5tPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPK m08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptP Km08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKm08qbTyptPKn/jan//Z" | |
transform="matrix(0.24 0 0 0.24 174.5615 142.499)" | |
id="image25"></image></g></mask><g | |
opacity="0.09" | |
mask="url(#SVGID_1_)" | |
a:adobe-blending-mode="multiply" | |
a:adobe-opacity-share="1" | |
id="g27"><path | |
fill="#1D2915" | |
a:adobe-blending-mode="normal" | |
a:adobe-opacity-share="0" | |
d="M195.361,251.626 c-8.161,0-14.8-6.64-14.8-14.8v-73.527c0-8.161,6.639-14.8,14.8-14.8h59.663c8.161,0,14.8,6.639,14.8,14.8v73.527 c0,8.16-6.639,14.8-14.8,14.8H195.361z" | |
id="path29" /><path | |
fill="#1D2915" | |
a:adobe-blending-mode="normal" | |
a:adobe-opacity-share="0" | |
d="M255.024,152.499 c5.964,0,10.8,4.835,10.8,10.8v73.527c0,5.965-4.835,10.8-10.8,10.8h-59.663c-5.964,0-10.8-4.835-10.8-10.8v-73.527 c0-5.964,4.835-10.8,10.8-10.8H255.024 M255.024,144.499h-59.663c-10.366,0-18.8,8.434-18.8,18.8v73.527 c0,10.366,8.434,18.8,18.8,18.8h59.663c10.366,0,18.8-8.434,18.8-18.8v-73.527C273.824,152.933,265.391,144.499,255.024,144.499 L255.024,144.499z" | |
id="path31" /></g></g><g | |
id="g33"><g | |
id="g35"><linearGradient | |
id="SVGID_2_" | |
gradientUnits="userSpaceOnUse" | |
x1="225.1929" | |
y1="152.499" | |
x2="225.1929" | |
y2="247.6265"><stop | |
offset="0.0123" | |
style="stop-color:#C1D72F" | |
id="stop38" /><stop | |
offset="0.1394" | |
style="stop-color:#BCD631" | |
id="stop40" /><stop | |
offset="0.5859" | |
style="stop-color:#AFD136" | |
id="stop42" /><stop | |
offset="1" | |
style="stop-color:#ABD037" | |
id="stop44" /><a:midPointStop | |
offset="0.0123" | |
style="stop-color:#C1D72F" /><a:midPointStop | |
offset="0.3086" | |
style="stop-color:#C1D72F" /><a:midPointStop | |
offset="1" | |
style="stop-color:#ABD037" /></linearGradient><path | |
d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663c5.964,0,10.8-4.835,10.8-10.8v-73.527 c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z" | |
id="path46" | |
fill="url(#SVGID_2_)" /></g><defs | |
id="defs48"><filter | |
id="Adobe_OpacityMaskFilter_1_" | |
filterUnits="userSpaceOnUse" | |
x="184.562" | |
y="152.499" | |
width="81.263" | |
height="95.127"><feColorMatrix | |
type="matrix" | |
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" | |
color-interpolation-filters="sRGB" | |
result="source" | |
id="feColorMatrix51" /></filter></defs><mask | |
maskUnits="userSpaceOnUse" | |
x="184.562" | |
y="152.499" | |
width="81.263" | |
height="95.127" | |
id="SVGID_3_"><g | |
filter="url(#Adobe_OpacityMaskFilter_1_)" | |
id="g54"><image | |
overflow="visible" | |
width="356" | |
height="414" | |
xlink:href="data:image/jpeg;base64,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 zFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZ RMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZK W205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22 /C5kpbbTmUTKFGzFhO7bfhcyUttpzKJlCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2Y sJ3bb8LmSlttOZRMoUbMWE7tt+FzJS22nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzKJ lCjZiwndtvwuZKW205lEyhRsxYTu234XMlLbacyiZQo2YsJ3bb8LmSlttOZRMoUbMWE7tt+FzJS2 2nMomUKNmLCd22/C5kpbbTmUTKFGzFhO7bfhcyUttpzCZQo38SwndtvwuZKW20dTVfvQQ+cmUXiI xFhxUsJ3bb8LmSlttGVPp8/C/go1fkTjky8RyqsB9T6KvD8CwndtvwuZKW23BKNR3wqftX+qCcRO JwyLiLxF4i0Ka8V/cuFhO7bfhcyUttuCKi/CpBRtOs74cnBF/qJ+oiRIkSJEiRIkSJEiRIkSJEiR IkSJEiRIkSJEiRIkReIv6hadFfl31d9EFc5flViuFhO7bfhcyUttv2ERrvzNT/VT4qIrf+TqIdVD qodVDqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTqpqdVNTq pqdVNTqpqdVNTqpqdVDqodVDqC/xorl0F/O74av+qfYsJ3bb8LmSlttyywndtvzD/9k=" | |
transform="matrix(0.24 0 0 0.24 182.5615 150.499)" | |
id="image56"></image></g></mask><g | |
opacity="0.35" | |
mask="url(#SVGID_3_)" | |
a:adobe-opacity-share="1" | |
id="g58"><path | |
a:adobe-opacity-share="0" | |
d="M184.562,236.826c0,5.965,4.835,10.8,10.8,10.8h59.663 c5.964,0,10.8-4.835,10.8-10.8v-73.527c0-5.964-4.835-10.8-10.8-10.8h-59.663c-5.964,0-10.8,4.835-10.8,10.8V236.826z" | |
id="path60" | |
fill="#1D2915" /></g></g><linearGradient | |
id="SVGID_4_" | |
gradientUnits="userSpaceOnUse" | |
x1="226.1924" | |
y1="159.7139" | |
x2="226.1924" | |
y2="200"><stop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" | |
id="stop63" /><stop | |
offset="0.3788" | |
style="stop-color:#F8FBF3" | |
id="stop65" /><stop | |
offset="1" | |
style="stop-color:#F2F7E8" | |
id="stop67" /><a:midPointStop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="0.4383" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="1" | |
style="stop-color:#F2F7E8" /></linearGradient><polygon | |
fill="url(#SVGID_4_)" | |
points="221.189,159.714 214.142,180.951 224.048,180.951 214.142,200 238.243,173.61 227.655,173.61 236.978,159.714 " | |
id="polygon69" /><g | |
id="g71"><g | |
id="g73"><g | |
id="g75"><image | |
overflow="visible" | |
opacity="0.75" | |
a:adobe-blending-mode="multiply" | |
a:adobe-opacity-share="1" | |
width="392" | |
height="242" | |
xlink:href="data:image/png;base64,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 SUVORK5CYII=" | |
transform="matrix(0.24 0 0 0.24 179.2061 198.1514)" | |
id="image77"></image><g | |
id="g79"><radialGradient | |
id="SVGID_5_" | |
cx="225.1929" | |
cy="226.1387" | |
r="30.8299" | |
gradientTransform="matrix(1 0 0 0.75 0 56.5347)" | |
gradientUnits="userSpaceOnUse"><stop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" | |
id="stop82" /><stop | |
offset="0.4828" | |
style="stop-color:#FDFEFB" | |
id="stop84" /><stop | |
offset="0.7611" | |
style="stop-color:#F8FBF3" | |
id="stop86" /><stop | |
offset="0.989" | |
style="stop-color:#F2F8E8" | |
id="stop88" /><stop | |
offset="1" | |
style="stop-color:#F2F7E8" | |
id="stop90" /><a:midPointStop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="0.8025" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="1" | |
style="stop-color:#F2F7E8" /></radialGradient><path | |
fill="url(#SVGID_5_)" | |
d="M186.706,235.825c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801 v-19.373c0-5.965-4.836-10.801-10.801-10.801h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z" | |
id="path92" /><path | |
fill="none" | |
stroke="#EDF5E5" | |
stroke-width="5" | |
stroke-miterlimit="10" | |
d="M186.706,235.825 c0,5.965,4.835,10.801,10.799,10.801h55.374c5.965,0,10.801-4.836,10.801-10.801v-19.373c0-5.965-4.836-10.801-10.801-10.801 h-55.374c-5.964,0-10.799,4.836-10.799,10.801V235.825z" | |
id="path94" /></g></g><path | |
opacity="0.74" | |
fill="#FFFFFF" | |
a:adobe-blending-mode="lighten" | |
d="M263.623,229.595c0.037-0.364,0.057-0.734,0.057-1.107 v-13.375c0-5.965-4.836-10.799-10.801-10.799h-55.374c-5.964,0-10.799,4.834-10.799,10.799v7.324 c7.545-1.012,15.699-1.566,24.213-1.566C231.959,220.87,250.812,224.252,263.623,229.595z" | |
id="path96" /><linearGradient | |
id="SVGID_6_" | |
gradientUnits="userSpaceOnUse" | |
x1="225.1929" | |
y1="204.3135" | |
x2="225.1929" | |
y2="246.626"><stop | |
offset="0.0123" | |
style="stop-color:#FFFFFF;stop-opacity:0" | |
id="stop99" /><stop | |
offset="0.0141" | |
style="stop-color:#FDFDFC;stop-opacity:2.231669e-04" | |
id="stop101" /><stop | |
offset="0.1344" | |
style="stop-color:#BEBEAF;stop-opacity:0.0148" | |
id="stop103" /><stop | |
offset="0.2565" | |
style="stop-color:#94957C;stop-opacity:0.0297" | |
id="stop105" /><stop | |
offset="0.3796" | |
style="stop-color:#747759;stop-opacity:0.0446" | |
id="stop107" /><stop | |
offset="0.5029" | |
style="stop-color:#5D633F;stop-opacity:0.0596" | |
id="stop109" /><stop | |
offset="0.6263" | |
style="stop-color:#4D552E;stop-opacity:0.0746" | |
id="stop111" /><stop | |
offset="0.75" | |
style="stop-color:#414B23;stop-opacity:0.0896" | |
id="stop113" /><stop | |
offset="0.8742" | |
style="stop-color:#3B461E;stop-opacity:0.1047" | |
id="stop115" /><stop | |
offset="1" | |
style="stop-color:#38441C;stop-opacity:0.12" | |
id="stop117" /><a:midPointStop | |
offset="0.0123" | |
style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop | |
offset="0.2901" | |
style="stop-color:#FFFFFF;stop-opacity:0" /><a:midPointStop | |
offset="1" | |
style="stop-color:#38441C;stop-opacity:0.12" /></linearGradient><path | |
fill="url(#SVGID_6_)" | |
a:adobe-blending-mode="darken" | |
d="M263.68,221.954v13.871c0,5.965-4.836,10.801-10.801,10.801 h-55.374c-5.964,0-10.799-4.836-10.799-10.801v-13.871l0.038-7.704c0,0,0.923-9.937,11.173-9.937h54.962 c0,0,10.063,0.328,10.801,10.799V221.954z" | |
id="path119" /></g><g | |
id="g121"><g | |
id="g123"><image | |
overflow="visible" | |
opacity="0.25" | |
a:adobe-blending-mode="multiply" | |
a:adobe-opacity-share="1" | |
width="30" | |
height="30" | |
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuJJREFUeNrsl9trE0EUxjO7m5vW tKFN1RqLCmqlIvjgkz5I/cOFIqLggw9KsRHxUo1IdEtactG9+A1+A8dxNrsxK/rgwI9lt5ueb875 ZuZspfJ//Bhqjvc0AfCIHClIQEzSMkUoBqyCJbAKWrxXQoBmBL6AQzChmGQREWbmNQY/DS6Aa6AL mtZvdcDPoEcOQEgxUV5mVMYzH5wCZ8FFcJ0CLoN1UHeIGII34AV4BvbBW4qbzsqKctzruq+ALXAL 3ABXwAafNyjS9sQ3cAwG4BXYA0/AU/AejLOE+I4MtME22AH3wE2wyedNivSFQT3eB/y79kwHnGE2 v4IjinCaNrBEtJiBu2SLs686VkRWGRt8/wTL5jFwxIxMbSGB+Ac1qtcluEMBbWslFDV7QBFdlmBE bwxZtthVDn1dpgF3WIIOhakF9iCf2ajQK32W5hcRJgvnmYHb9ECzQAnyhif8o7PxkWImsiQeRSyJ fWCjJAGy5G2usKtgzc6wx5dWxT6wYhm2jKNBm/UcV90m/aLsdLVoonX+QJV8RvmcXNflNVOOKktQ Fz4p+6AMrBg/GUeeFWUHd51HyuXevz7+GRELNSRzjMwYnmhI5Laa/gEBYxEjskVE7Ih67AeOi3ZE BYc55j+xxzjgpBMpImZL1mNDMuDxm5aYBT2x1+wx+vZJ6lt94kl2Ux1uWl4JWZhy9g/AQ/DOPjt8 q0ULuLebhiRYYO8wPUTIdm+X1zDrKE/FKjH95TL3eP83MiIF7FHAY2ZkYpfadxhoRE80WJ66EKIK BE9YAiPgPkW8dPUSFUfDGnMpHVmKvQJCEoofcsamBLs0fOgSUMnomo2QQ66UAbMTi4+hmOk2mGZW B39OE+rgj5iBcNb3h5qxk9boDb1SLrEh2c75+NlnCfT1A4OP8nZiVeAT0IhZY0Ni+gHP8oEpQ59Z HHP2uRtfkeUnxTj7AWHqMU0ZiRVX2ld5kZ4jnSewHN8FGACSOOKkAlOGAAAAAABJRU5ErkJggg==" | |
transform="matrix(0.24 0 0 0.24 199.0298 216.5547)" | |
id="image125"></image><g | |
id="g127"><radialGradient | |
id="SVGID_7_" | |
cx="202.6289" | |
cy="219.7041" | |
r="2.9995" | |
gradientTransform="matrix(1 0 0 0.75 0 54.926)" | |
gradientUnits="userSpaceOnUse"><stop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" | |
id="stop130" /><stop | |
offset="0.4235" | |
style="stop-color:#FAFCF6" | |
id="stop132" /><stop | |
offset="1" | |
style="stop-color:#F2F7E8" | |
id="stop134" /><a:midPointStop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="0.6235" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="1" | |
style="stop-color:#F2F7E8" /></radialGradient><circle | |
fill="url(#SVGID_7_)" | |
cx="202.629" | |
cy="219.704" | |
r="2.999" | |
id="circle136" /></g></g><g | |
id="g138"><image | |
overflow="visible" | |
opacity="0.25" | |
a:adobe-blending-mode="multiply" | |
a:adobe-opacity-share="1" | |
width="30" | |
height="30" | |
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtFJREFUeNrsmP1LFEEYx292Ts3V 9ujFrCiwFyPShH4I+imoiPqbhYKIoKigN0W8SulNIrOU63S921u/A9+BYdm9mbndg4IGPiynuzOf eea52WeuVvvf/Joo8VwA6rxm+0lBD3R5TYctpu6XYBRE4DiYzMhpqRbYBDtgHyQ+gsIzQmMUOg3O gzkwzciZTUXqO1gCH8E3CsauERSOUiOgAc6AC2ABXAYXwZECsV/gPVgBb8AH8AVsg45NTjhKTYGr 4Aa4AmYZqYjLmpdj+4ySilwTLIOn4C34YZOTjlLXwH1wC8xzKSMureQym0g+O85ITxP1uU3hPS6r t5j63zFK3QM3uYwNQ0g45KUSPMSJNLjsLS71blHUZJ9Ox5lDSuo2k32SHYsBvslKcAIc5jJvUK7r I1ZntK6Du8yryBJhW9P73hi3jg2ym7ek0hKtO0z4E5xx2RYYOany7DPYyotaUPCwyoVL3KemKpLS TX+h5jhGI88jT0x9/U9yrzoHwoL7ykQtZN8LHGvURUxy05xhntWH8I7WOTzDsaSLmOAMQl6DIYgF mTGEi5iWEyWqD9dtpHCMoPaXtn9KrHSR59CsYxSJ6SKv1e9FW6L1MmM4iXWMIu8ri7u04mjF7HuJ Y3VcxLqciaqfVlnYJRWKJexzlWNs5r2SZMGMNOp1cRYc5atEVBCtPVazD8AzHzHdQUKZUyzywoIT kY9Uh9XrC4o1WTimPmI9ouv9iAXfIHKm1GtKvSyKlq2C1Una5sMTLBRHPN4MOvIxpV6BRfCEJU/s W8Ganf4xzoaCf5dGaS36JHnMKnWNUg/BY35uD1rza7ku5bY4658cMDHkEt6nUZP4TQG1dI/Ic/CJ /SVVHHglS2J94pnluXLecuB9x3Nlk5+3jUlV9hOBMAQjCpn1lMikgFrCdQrtGEKp62CDlCtaMLQc eNu+QmV/7XGp2cyN2rsdCDAAoyXZx8WJpTUAAAAASUVORK5CYII=" | |
transform="matrix(0.24 0 0 0.24 213.9448 216.5547)" | |
id="image140"></image><g | |
id="g142"><radialGradient | |
id="SVGID_8_" | |
cx="217.5439" | |
cy="219.7041" | |
r="2.9995" | |
gradientTransform="matrix(1 0 0 0.75 0 54.926)" | |
gradientUnits="userSpaceOnUse"><stop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" | |
id="stop145" /><stop | |
offset="0.4235" | |
style="stop-color:#FAFCF6" | |
id="stop147" /><stop | |
offset="1" | |
style="stop-color:#F2F7E8" | |
id="stop149" /><a:midPointStop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="0.6235" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="1" | |
style="stop-color:#F2F7E8" /></radialGradient><circle | |
fill="url(#SVGID_8_)" | |
cx="217.544" | |
cy="219.704" | |
r="2.999" | |
id="circle151" /></g></g><g | |
id="g153"><image | |
overflow="visible" | |
opacity="0.25" | |
a:adobe-blending-mode="multiply" | |
a:adobe-opacity-share="1" | |
width="30" | |
height="30" | |
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAttJREFUeNrsmO9r00Acxptc1m6d Fn9M125sU4RVpyjiSwXB/9wXulciiE4dhpUMpwzFUa02XdP4HDwHR7hcLk0mCh58WOnI9548973k uTYa/0e54c15nQ8E8TJ1UpKQ2Z8QJgUtgDa4CC6AliZOiYrBCfgGfoLTsgK9OQStgE2wDa6DDv+v hhQwBAdgH0TgS1mBLsIEBV0F18BNcJvC1sCyQdgIHFHYG/AODMAxBSZVhQXgHJ15AO5T2Aa4TMHC 0GMJBXwFhxT2Erygkz/AtGhim1NS1A3wCDwGO+AKBS3QKS+nrlp6eQProKe5G4LvNucCS0+1uXQP wRNwj6JaFkH6SgitNxeJ0BwNueSzMsIC3ulduiX/roJmpp9cWkVQ1CrrqB17ws+TPGdM3y3Rftnk fTpVVlS2ZpN1+qy7znl8V2HSrUvcdbKnutryVRk+63RZd5vzBC7ClFvyMXALbHEDiJreNGpDbbH+ Wp5rJmEd7sQ+n13NCq8uU881WbfPeTquwtq0u1ezW1nXepyn7SJM9dgSCc4oPBTO4Rus9jKJwatZ lGeZy+rYXzH+GWEpXxEq5Kl8VecwBcnURVjMgCcZn5GwsTZH7CJMD3khL5zWLGzKuiHnGZpe5CZh I6bO9wx7v+bN7YYxY70j1o/yEoZpKSdMmntMoMq1tIYlVG7ts/4x50tddmXCEDfgxRETZ1JRWMI6 EesObGFRWCyfaa+oDl8jQd4DscApJUr21S54Dj7wu1JBUW2Ct1rybDDRntditUtPnWor8Aw8Zd2h rXdFQdGYd6WfbPTYnOeeEiSv/cTDyC5FvbL1luspSSXPFUYUmaHu8KS0yfjdMpySYp6QIop6TZdC njEnRTvdpVc8Lt0yBW4wS+04HHj3+Fg4pKARnUxdJnVNBL7hSNal4OxPBFLAZ/CRzumn8NR1wrKR xdfy1KLlwDvmw3RaRlDVX3s8h8dGWiUE/BZgAMf82R9IYLF+AAAAAElFTkSuQmCC" | |
transform="matrix(0.24 0 0 0.24 228.8599 216.5547)" | |
id="image155"></image><g | |
id="g157"><radialGradient | |
id="SVGID_9_" | |
cx="232.459" | |
cy="219.7041" | |
r="2.9995" | |
gradientTransform="matrix(1 0 0 0.75 0 54.926)" | |
gradientUnits="userSpaceOnUse"><stop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" | |
id="stop160" /><stop | |
offset="0.4235" | |
style="stop-color:#FAFCF6" | |
id="stop162" /><stop | |
offset="1" | |
style="stop-color:#F2F7E8" | |
id="stop164" /><a:midPointStop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="0.6235" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="1" | |
style="stop-color:#F2F7E8" /></radialGradient><circle | |
fill="url(#SVGID_9_)" | |
cx="232.459" | |
cy="219.704" | |
r="2.999" | |
id="circle166" /></g></g><g | |
id="g168"><image | |
overflow="visible" | |
opacity="0.25" | |
a:adobe-blending-mode="multiply" | |
a:adobe-opacity-share="1" | |
width="30" | |
height="30" | |
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAt9JREFUeNrsl91rE0EUxTOzm69a 05YmVWsUFdRKRfDBJ32Q+ocLRUTBBx+UYiOitlqRaEos2UT3w3P1jIzrbHZNVuiDAz9CNru5Z+69 M3O2Uvk/fg414zOCDzSxRwJiEJGkTBGKAatgEayCFr8rS4AwAp/BIRhTTDyPCDPzGoOfAhfANdAF zdT/SMBPoEf2wYBiQldmVAEBHjgJzoCL4DoFXAZroO4QMQRvwAvwDOyCtxQ3SWdF5QiQui+DDXAL 3ABXwDqvNygy3RPfwBHog1dgBzwBT8E7ENhCvJwMrIBNsAXugZvgPK83KdKzGlTzu8/fpWc64DSz +RV8oYhfTetPEdFiBu6SDc6+6lgRWZNo8P4Flk0zcMiMSGkSP+MPalQvJbhDASuplVB0RfkU0WUJ RuyNIcsWucoh15bYgFssQYfC1Bz7kcdsVNgrByzNHyJMFs4xA7fZA80CJcgb2uofycYHihlrh4hF ax9YL0mAGT7LKivsKmjLpLXjplVrH1ie0ryzlkWa9SxXnWR5QTv6ocUmWuMDqlLu8Di5ruk1Vzmq LEGdD5QtQln7yI8YespZUXbwzBi6cgzGsRTx14ZkxvFbDJeI9Laa/AMBgRUjTIsI6Yh69ANH0xzR DMMc8x/pMcTwjNIiIlqyHg1Jn8dvUmIWZGKv6THk/Jh4GWqFE3RTHW5auoQsTDj7B+Ah2JOzI8vU RNxQ2pYh8efYO4yHGNDubfNzkHWUJ9YqMf5yiZ7AmyEjtoAdCnjMjIj5TbycBhqxJxosT90SogoE j1kCI+A+Rbw0XmKaxzQlCXjz2GpOXUBITPFDztiUYJsNPzAC8kQklpBDrpQ+sxNZL0MR020wZlaC P2cTSvBHzMAg/f6hCu6qNfaGrJRLNCSbOS8/uyyBfL5n8JFrJy7a7Solpk1DYrynTvWBKcMBsxhw 9nEZL8S2GNtzuJo6YFOG1oor7a28iOdI8gLb47sAAwCDFN6m03jgxgAAAABJRU5ErkJggg==" | |
transform="matrix(0.24 0 0 0.24 243.7749 216.5547)" | |
id="image170"></image><g | |
id="g172"><radialGradient | |
id="SVGID_10_" | |
cx="247.374" | |
cy="219.7041" | |
r="2.9995" | |
gradientTransform="matrix(1 0 0 0.75 0 54.926)" | |
gradientUnits="userSpaceOnUse"><stop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" | |
id="stop175" /><stop | |
offset="0.4235" | |
style="stop-color:#FAFCF6" | |
id="stop177" /><stop | |
offset="1" | |
style="stop-color:#F2F7E8" | |
id="stop179" /><a:midPointStop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="0.6235" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="1" | |
style="stop-color:#F2F7E8" /></radialGradient><circle | |
fill="url(#SVGID_10_)" | |
cx="247.374" | |
cy="219.704" | |
r="2.999" | |
id="circle181" /></g></g><g | |
id="g183"><image | |
overflow="visible" | |
opacity="0.25" | |
a:adobe-blending-mode="multiply" | |
a:adobe-opacity-share="1" | |
width="30" | |
height="30" | |
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAn9JREFUeNrsl+lrE0EYxvdKjSZW YxEPxBsVrNdHQTxA/KMFBRGPDwoVVIpoq3jUeJUG25qk2fVZ+A28WTabxG4lHzrwgxw78z7zzMw7 73reBDR/jOcCUREhn21LRCy6osfn0kT4BN0h9oiDoiGmTN8Efoum+CHWEBRvRoSbeZXgR8QZcVEc F7syfTcI/kq8Fgviu1jlv3hcET627xXHxFlxWZwXJ8RMxgmPIKkTn8UbMSdeinfiq1hnmUYS4QTs F5fENQSc4rfUgahgT7TFivgk5sVj8VQs4kqukGiAgCviDiKOijr/BUOWL7t/9uGaVyTEighYggsI uI79NQYfdY9FPF8x/WL2xiJLk9hOoelcJehtcYslqI8hYNDGrvP9G5t1PbtRQ+NIg/W/KWaxNNpk DnK5JZ35TzbuCq70ibAu3BBXxWHW1i8hGbpc0+akNLNuBDAtTopz4kBJAuxEC8cPzIlI88BpOoQl Xw1TuDtLsqvZkxbwUA2FjZxEVJYbdROj4mWOpVuzCMoWYGPlxggm4SrfFmFFJOTzDUi2KFY8KIYT sUoSWRadLRDSM0XPMgVPn4guOT0tSN6KVtHd/w8tYWJfqDHeM+m+jBkTeIEaoEmKTUp0oXD80Kjt kU4PkVSqJWTOhIDpFf5APBFLOOPliYhxZgYR00MKmVEEuKWeQ8Q8ruRe5Xb3po7s5CqvDSjnxhVw XzzjFu3k5XTbuuziNYLvZolCk+KHBU8n8QcBL8Rd8VB8yCto8kTEDNBCTIdBg4wQvyD4L6rsdOb3 xKNhhW44IKm4wZaghSAnoIdrHWhz/m3wlOfiI86OXPJPzMvPxLwG/tcX4u3m2l8BBgBQ/dU5d1Za tAAAAABJRU5ErkJggg==" | |
transform="matrix(0.24 0 0 0.24 199.0298 230.2217)" | |
id="image185"></image><g | |
id="g187"><radialGradient | |
id="SVGID_11_" | |
cx="202.6289" | |
cy="233.3711" | |
r="2.999" | |
gradientTransform="matrix(1 0 0 0.75 0 58.3428)" | |
gradientUnits="userSpaceOnUse"><stop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" | |
id="stop190" /><stop | |
offset="0.4235" | |
style="stop-color:#FAFCF6" | |
id="stop192" /><stop | |
offset="1" | |
style="stop-color:#F2F7E8" | |
id="stop194" /><a:midPointStop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="0.6235" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="1" | |
style="stop-color:#F2F7E8" /></radialGradient><circle | |
fill="url(#SVGID_11_)" | |
cx="202.629" | |
cy="233.37" | |
r="2.999" | |
id="circle196" /></g></g><g | |
id="g198"><image | |
overflow="visible" | |
opacity="0.25" | |
a:adobe-blending-mode="multiply" | |
a:adobe-opacity-share="1" | |
width="30" | |
height="30" | |
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmlJREFUeNrsmM9r1EAUx3cz2XW1 il2wLLagIh5aeilUBC967EX/XA/1It5aUaiC2JNY/EWp0lZkG3c3id+Bz0AIaXayibKHDnzIJfPm s29eZl/Sas3paNeYZ0SHaz5OKmIx5pr+azF7fyh6oi+WxXURZGJZiUScim/iWERiUkWwXTFDlxG6 I1bFBnKd3P1jpPbEvviE4JlvBtueUl1xQ9wVa2ITsdtkzOTmxGTsALE34oP4KH6I0TS5tofUJXFT PBCPxToZ67OlZTUWkSmbsffipXglvos/ZXLGI1N2qx6Kp+KRuFcgVYRh/oJYEgNxle08EUNqsbJY SDAnZa8r1FlYoQzc02sFF5n/W/wskzMlAReopydkaoVtDWocL1bqGtv8Bblx0YSgJFt9xNbJXLfG uZctjQEx11gj9M2YDXCFiVviflmAGeQCYtlt/MxTOvbJmEFkFZqSyu9GNr7xEXNP4gbnVK/mFhZl rUdsd0B3fcQCDs3lcw7PJobJrRH4iE37g24qa6VrBK05HRdiTYjVbvI8xtQ1isSyTd4pE5secW6N xEdslGnyDmhd0oazFRF7j7VGPmIxPdQ+HNMWNzUmBfFj3+7C1YDtMG7RT3UaONMS+jErtC1e05tV EksyPdkAyToHbsqW2e51R7ygs42qNooJaU/oPF2TF8wgl2SkdsVz8Y5sJVXFUvryX6TfNXld5HwE U37cWUbqGdfDsto1njVxQjscQ8jc8+SckO25jqipHTK1i+Ro1peR7FM6pKH7StAhC7uam7CQI+J+ J7RNTb0lU7Vf3+b6hXeuPxH8948qF6Pq+CvAAGGezDColMK7AAAAAElFTkSuQmCC" | |
transform="matrix(0.24 0 0 0.24 213.9448 230.2217)" | |
id="image200"></image><g | |
id="g202"><radialGradient | |
id="SVGID_12_" | |
cx="217.5439" | |
cy="233.3711" | |
r="2.999" | |
gradientTransform="matrix(1 0 0 0.75 0 58.3428)" | |
gradientUnits="userSpaceOnUse"><stop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" | |
id="stop205" /><stop | |
offset="0.4235" | |
style="stop-color:#FAFCF6" | |
id="stop207" /><stop | |
offset="1" | |
style="stop-color:#F2F7E8" | |
id="stop209" /><a:midPointStop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="0.6235" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="1" | |
style="stop-color:#F2F7E8" /></radialGradient><circle | |
fill="url(#SVGID_12_)" | |
cx="217.544" | |
cy="233.37" | |
r="2.999" | |
id="circle211" /></g></g><g | |
id="g213"><image | |
overflow="visible" | |
opacity="0.25" | |
a:adobe-blending-mode="multiply" | |
a:adobe-opacity-share="1" | |
width="30" | |
height="30" | |
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAhCAYAAAC1ONkWAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAlRJREFUeNrsmM9LG0EUx5PdjTTW otDYWmoOQm2M/YGXnrxI/3IvnnoRW7TagocotqjQtLYp5pffgc/CECc7u+uGpuDAB2Y32Tff9+bN 7Jstlaa0lXM+E4gIAsd/BqIHpj+cpLBY0Ix4JBbhwYg4I+SvOIdf4jqrwHIOQUvihXgtVsWCQ9gP 8UV8El/Ft6wCyyl+DxH0XLwUb8UbxD0V1RE7ZtCO+I6oj2JPHIlTBPZ94sqe3yIi0hCb4h1Reibm iOK4HDPRuRJnRO+D2BGHRLSXJC7yRGpeNMV7sYXAeQSFCU6FRHIGB56IGveMI/uIGxu5JGFzTN0W wpqIijIsmpDFYZ55hah4xRpxP7MIM4NWWHEbTGGDKY1ybi8VKyVM/l2wYjtM+S1xrvww9x6KulgX K0QqvOOeGafGCnbrjOPScOtmnPA1Hm7Sr+TcjF2Rq2F3nb4zNVzCZsWyWMOr2XFe5WgB9urYX+ba KywkF1bJh8d4WWSrYLdhbdBhmohVrddNtYApLOUZI0jxgp6EMO8YQWlK272wuwobFlHkeVqqMVzC OlaR15mQMO8Yo8L6VpFnypNL0S1YWBe7h4wTVxneiP0RJ+KzaHE9KEjUAHst7J9wnWoqe7z9TVly QL9bwJQOsXOB3X36vbTVhfHqN16Zh49F2xXujK2PnWPsthhnkLYeiz0ziblrVZ55CkV7Ftrk1Q52 z5NmIkowdsUBIrIqz7SltR2la0vUNhxhP3PNP7RCf4CouPIs4jDS9p2U/svj21QfeKf6E8E/+ahy 37K2GwEGAJb/2mQI89WQAAAAAElFTkSuQmCC" | |
transform="matrix(0.24 0 0 0.24 228.8599 230.2217)" | |
id="image215"></image><g | |
id="g217"><radialGradient | |
id="SVGID_13_" | |
cx="232.459" | |
cy="233.3711" | |
r="2.999" | |
gradientTransform="matrix(1 0 0 0.75 0 58.3428)" | |
gradientUnits="userSpaceOnUse"><stop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" | |
id="stop220" /><stop | |
offset="0.4235" | |
style="stop-color:#FAFCF6" | |
id="stop222" /><stop | |
offset="1" | |
style="stop-color:#F2F7E8" | |
id="stop224" /><a:midPointStop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="0.6235" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="1" | |
style="stop-color:#F2F7E8" /></radialGradient><circle | |
fill="url(#SVGID_13_)" | |
cx="232.459" | |
cy="233.37" | |
r="2.999" | |
id="circle226" /></g></g><g | |
id="g228"><image | |
overflow="visible" | |
opacity="0.25" | |
a:adobe-blending-mode="multiply" | |
a:adobe-opacity-share="1" | |
width="30" | |
height="30" | |
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAhCAYAAABX5MJvAAAACXBIWXMAAC4jAAAuIwF4pT92AAAA GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAnpJREFUeNrsl2lrE1EUhmdLjSZ2 sYgL4lqsYN0+CuIC4o8WFERcPii0YEsQtYpL3cVgW7PMjO+F55ZhmMlMzATyoRceSDKZc957zplz zzjOBCz3P+/xRE34fE6uWESiJ0I+VybCxekeMSMOizkxlbATwx/xRXwXWwiKRhFhd17H+TFxVlwU J8W+lJ0+zlfFmngjvolNrkXDinAJ+6w4IRbFZXFenBLzqUg4ODGR+CheimXxQrwWn8U2aSolwgo4 KC6Jawg4w28mAsGAmuiI3+KDaInH4qlYJyo7QoISAq6IO4g4Lppc8wrSl66fA0TNSQvJE+GRggsI uE74GxgvW8gB/68l7ouojXVSE/s5N9dxelvcIgXNIQTkFXaT718pViMiyjIa8OiZ/N8US4Q0GLEf 2d5iauYHhWtqpu8PiMINcVUcJbduBY3R9poOT4rpJdteRi1Mi9PinDhUkQC7/Cz7aRH2iTB9YIEb /IqPiSmiu0Sza3gZf2qgcC6jEVUVjWbCR83LOR8CqFpAMu07PrxJOMp3ReSJiOnnfYjH5DdK+sgS sUkT+SW6YxASJoYe46OXFtGjp5uB5JVop8/+EVfMxj4xY7w1m/YywtRmGmqhtlNhNMIs+36O2pB2 fYSmUq+gc8ZsyBzhD8QTsWEikyciomjnETFdMMiUEWBTvYyIFlGJ/ILqNRHZy1HeyBnnhhVwXzzj FO06BSHuUcVbON9Piuy7hlvCudnEXwSsiLvioXhnB5oiEREG2ojpYtRLCXEHOP/JlG12fk88yhp0 /RJNxRrbgDaCrICQqHWhw/OfdG54Lt4T2dIj/8S8/EzMa+DYX4h3l13/BBgABM7SO70ZkkMAAAAA SUVORK5CYII=" | |
transform="matrix(0.24 0 0 0.24 243.7749 230.2217)" | |
id="image230"></image><g | |
id="g232"><radialGradient | |
id="SVGID_14_" | |
cx="247.374" | |
cy="233.3711" | |
r="2.999" | |
gradientTransform="matrix(1 0 0 0.75 0 58.3428)" | |
gradientUnits="userSpaceOnUse"><stop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" | |
id="stop235" /><stop | |
offset="0.4235" | |
style="stop-color:#FAFCF6" | |
id="stop237" /><stop | |
offset="1" | |
style="stop-color:#F2F7E8" | |
id="stop239" /><a:midPointStop | |
offset="0.0123" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="0.6235" | |
style="stop-color:#FFFFFF" /><a:midPointStop | |
offset="1" | |
style="stop-color:#F2F7E8" /></radialGradient><circle | |
fill="url(#SVGID_14_)" | |
cx="247.374" | |
cy="233.37" | |
r="2.999" | |
id="circle241" /></g></g></g></g><path | |
d="m 529.664,248.155 h 18.498 l -2.809,18.064 h 5.59 37.586 l 2.6,-17.718 c 4.98,-1.091 9.133,-3.455 12.512,-6.693 3.084,4.075 8.566,7.37 18.252,7.37 6.338,0 12.775,-1.807 17.174,-3.687 4.254,2.399 9.463,3.687 15.459,3.687 3.088,0 6.236,-0.355 9.426,-1.023 h 67.135 l 3.354,-24.827 -5.445,-0.764 1.879,-13.356 c 0.371,-2.386 0.449,-4.66 0.449,-6.156 l -0.008,-0.375 c -0.457,-12.191 -8.139,-19.765 -20.045,-19.765 -2.404,0 -4.623,0.314 -6.676,0.852 h -34.189 l -0.035,0.244 c -2.527,-0.701 -5.41,-1.096 -8.686,-1.096 -3.801,0 -7.406,0.555 -10.76,1.598 l 0.105,-0.746 h -12.467 l 1.826,-12.951 H 613.08 l -1.846,7.658 c -1.373,5.704 -2.213,5.793 -4.453,6.03 l -4.508,0.477 c -3.049,-1.424 -6.357,-2.065 -9.602,-2.065 -2.135,0 -4.275,0.284 -6.416,0.852 h -19.291 c 0.502,-1.772 0.775,-3.674 0.775,-5.678 0,-9.601 -6.846,-16.305 -16.646,-16.305 -11.055,0 -18.775,7.721 -18.775,18.776 0,0.951 0.082,1.869 0.219,2.764 -2.135,-0.288 -4.277,-0.409 -5.553,-0.409 -2.053,0 -4.072,0.288 -6.045,0.852 h -31.342 c -2.74,-0.553 -5.641,-0.852 -8.537,-0.852 -7.138,0 -13.492,1.674 -18.808,4.723 l -3.451,-1.461 c -3.711,-1.571 -11.232,-3.262 -18.979,-3.262 -8.933,0 -16.383,2.56 -21.576,7.016 -3.265,-4.473 -8.523,-7.016 -15.228,-7.016 -4.822,0 -9.021,1.477 -12.572,3.44 -2.996,-2.204 -6.796,-3.44 -11.115,-3.44 -2.327,0 -4.48,0.315 -6.476,0.852 h -33.963 l -0.035,0.245 c -2.526,-0.702 -5.41,-1.097 -8.687,-1.097 -20.458,0 -35.307,16.031 -35.307,38.117 0,17.363 10.785,28.149 28.148,28.149 3.087,0 6.236,-0.356 9.426,-1.023 h 88.816 c 3.706,0.676 7.669,1.023 11.154,1.023 8.907,0 16.278,-2.375 21.51,-6.593 4.872,4.252 11.585,6.593 19.728,6.593 3.053,0 6.206,-0.368 9.286,-1.023 h 44.664 2.069 z" | |
id="path243" | |
inkscape:connector-curvature="0" | |
style="fill:#f5f5f5" /><g | |
id="g245" | |
transform="translate(0,16)"><g | |
id="g247"><path | |
d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z" | |
id="path249" | |
inkscape:connector-curvature="0" | |
style="fill:#383838" /><path | |
d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z" | |
id="path251" | |
inkscape:connector-curvature="0" | |
style="fill:#383838" /><path | |
d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z" | |
id="path253" | |
inkscape:connector-curvature="0" | |
style="fill:#383838" /><path | |
d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z" | |
id="path255" | |
inkscape:connector-curvature="0" | |
style="fill:#383838" /><path | |
d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z" | |
id="path257" | |
inkscape:connector-curvature="0" | |
style="fill:#383838" /><path | |
d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z" | |
id="path259" | |
inkscape:connector-curvature="0" | |
style="fill:#383838" /><path | |
d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z" | |
id="path261" | |
inkscape:connector-curvature="0" | |
style="fill:#383838" /><path | |
d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z" | |
id="path263" | |
inkscape:connector-curvature="0" | |
style="fill:#383838" /><path | |
d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z" | |
id="path265" | |
inkscape:connector-curvature="0" | |
style="fill:#383838" /><path | |
d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z" | |
id="path267" | |
inkscape:connector-curvature="0" | |
style="fill:#383838" /></g><g | |
id="g269"><linearGradient | |
id="SVGID_15_" | |
gradientUnits="userSpaceOnUse" | |
x1="324.1611" | |
y1="239.7637" | |
x2="324.1611" | |
y2="155.3275"><stop | |
offset="0" | |
style="stop-color:#000000" | |
id="stop272" /><stop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" | |
id="stop274" /><a:midPointStop | |
offset="0" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="0.6933" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path | |
d="m 340.308,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.095,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z" | |
id="path276" | |
style="fill:url(#SVGID_15_)" | |
inkscape:connector-curvature="0" /><linearGradient | |
id="SVGID_16_" | |
gradientUnits="userSpaceOnUse" | |
x1="377.45459" | |
y1="239.7637" | |
x2="377.45459" | |
y2="155.3277"><stop | |
offset="0" | |
style="stop-color:#000000" | |
id="stop279" /><stop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" | |
id="stop281" /><a:midPointStop | |
offset="0" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="0.6933" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path | |
d="m 394.07,221.7 -0.171,-0.255 1.789,-10.055 2.642,-18.063 c 0.512,-3.749 0.341,-5.623 -1.96,-5.623 -2.642,0 -5.794,2.727 -9.372,5.879 l -2.727,19.512 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 -0.852,6.305 h -18.404 l -0.171,-0.341 1.875,-10.82 2.471,-17.212 c 0.512,-3.237 0.682,-5.453 -1.789,-5.453 -3.238,0 -7.413,3.664 -9.714,5.709 l -2.642,19.512 c -0.17,1.363 -0.17,1.534 1.108,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.767,-1.789 l -4.176,-1.534 0.938,-6.476 h 16.871 l -0.938,6.987 0.256,0.085 c 4.43,-3.749 9.116,-7.924 15.592,-7.924 4.687,0 7.839,2.641 8.18,7.753 l 0.256,0.086 c 4.175,-3.664 9.202,-7.839 15.252,-7.839 6.22,0 8.775,3.152 8.946,9.202 0,1.618 -0.171,3.493 -0.426,5.538 l -3.067,21.897 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.175,0.597 -0.852,6.305 H 394.07 z" | |
id="path283" | |
style="fill:url(#SVGID_16_)" | |
inkscape:connector-curvature="0" /><linearGradient | |
id="SVGID_17_" | |
gradientUnits="userSpaceOnUse" | |
x1="435.17719" | |
y1="239.7637" | |
x2="435.17719" | |
y2="155.3275"><stop | |
offset="0" | |
style="stop-color:#000000" | |
id="stop286" /><stop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" | |
id="stop288" /><a:midPointStop | |
offset="0" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="0.6933" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path | |
d="m 443.995,190.771 -0.17,-4.431 c 0,-0.682 -0.085,-1.108 -1.022,-1.363 -1.022,-0.256 -2.642,-0.427 -4.771,-0.427 -3.579,0 -6.391,1.108 -6.391,4.09 0,2.727 2.982,3.749 6.731,5.027 6.05,2.045 13.888,4.431 13.888,13.463 0,11.076 -9.372,15.592 -20.193,15.592 -8.009,0 -14.91,-1.959 -16.273,-2.981 l 1.618,-12.355 8.691,0.512 0.255,4.941 c 0,0.597 0.171,1.108 0.938,1.363 1.278,0.427 3.238,0.768 6.05,0.768 4.687,0 7.327,-1.79 7.327,-4.687 0,-3.408 -3.152,-4.175 -8.009,-5.624 -6.135,-1.874 -12.78,-4.26 -12.78,-13.206 0,-10.48 9.116,-14.996 19.597,-14.996 6.646,0 12.866,1.533 15.081,2.471 l -1.704,12.354 -8.863,-0.511 z" | |
id="path290" | |
style="fill:url(#SVGID_17_)" | |
inkscape:connector-curvature="0" /><linearGradient | |
id="SVGID_18_" | |
gradientUnits="userSpaceOnUse" | |
x1="474.83691" | |
y1="239.7637" | |
x2="474.83691" | |
y2="155.3275"><stop | |
offset="0" | |
style="stop-color:#000000" | |
id="stop293" /><stop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" | |
id="stop295" /><a:midPointStop | |
offset="0" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="0.6933" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path | |
d="m 489.748,218.548 c -4.175,2.386 -10.395,4.175 -16.444,4.175 -13.036,0 -18.575,-7.583 -18.575,-18.574 0,-18.83 11.588,-27.691 25.988,-27.691 6.475,0 11.843,1.874 14.229,3.578 l -1.874,13.377 -8.691,-0.426 -0.255,-5.794 c 0,-0.597 -0.086,-0.938 -0.597,-1.192 -1.022,-0.427 -2.557,-0.597 -4.175,-0.597 -5.624,0 -11.418,4.601 -11.418,17.382 0,7.839 3.493,10.395 8.436,10.395 4.346,0 8.436,-1.448 11.247,-2.556 l 2.129,7.923 z" | |
id="path297" | |
style="fill:url(#SVGID_18_)" | |
inkscape:connector-curvature="0" /><linearGradient | |
id="SVGID_19_" | |
gradientUnits="userSpaceOnUse" | |
x1="512.28223" | |
y1="239.7637" | |
x2="512.28223" | |
y2="155.3277"><stop | |
offset="0" | |
style="stop-color:#000000" | |
id="stop300" /><stop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" | |
id="stop302" /><a:midPointStop | |
offset="0" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="0.6933" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path | |
d="m 491.364,221.7 0.853,-6.39 3.919,-0.512 c 1.193,-0.17 1.363,-0.426 1.534,-1.704 l 3.578,-25.987 c 0.086,-0.938 -0.085,-1.534 -0.852,-1.789 l -4.261,-1.534 0.938,-6.476 h 16.87 l -1.107,7.669 0.256,0.17 c 3.323,-4.771 8.095,-8.69 13.548,-8.69 1.874,0 5.112,0.341 6.561,0.767 l -2.13,15.507 -9.969,-0.341 -0.256,-4.431 c -0.086,-0.767 -0.256,-1.022 -0.938,-1.022 -1.619,0 -4.26,1.96 -6.646,4.431 l -2.981,21.643 c -0.171,1.363 -0.085,1.619 1.192,1.704 l 8.095,0.682 -0.938,6.305 h -27.266 z" | |
id="path304" | |
style="fill:url(#SVGID_19_)" | |
inkscape:connector-curvature="0" /><linearGradient | |
id="SVGID_20_" | |
gradientUnits="userSpaceOnUse" | |
x1="546.65918" | |
y1="239.7637" | |
x2="546.65918" | |
y2="155.32719"><stop | |
offset="0" | |
style="stop-color:#000000" | |
id="stop307" /><stop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" | |
id="stop309" /><a:midPointStop | |
offset="0" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="0.6933" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path | |
d="m 536.094,221.7 -0.17,-0.426 2.045,-11.503 3.152,-22.749 c 0.17,-0.938 -0.086,-1.534 -0.853,-1.79 l -4.175,-1.448 0.852,-6.476 h 18.149 l -5.027,35.786 c -0.171,1.363 -0.085,1.534 1.192,1.704 l 4.09,0.597 -0.852,6.305 h -18.403 z m 5.879,-57.598 c 0,-5.453 3.238,-8.775 8.776,-8.775 4.175,0 6.646,2.215 6.646,6.305 0,5.368 -3.322,8.861 -8.861,8.861 -4.176,-0.001 -6.561,-2.387 -6.561,-6.391 z" | |
id="path311" | |
style="fill:url(#SVGID_20_)" | |
inkscape:connector-curvature="0" /><linearGradient | |
id="SVGID_21_" | |
gradientUnits="userSpaceOnUse" | |
x1="580.69629" | |
y1="239.7637" | |
x2="580.69629" | |
y2="155.32719"><stop | |
offset="0" | |
style="stop-color:#000000" | |
id="stop314" /><stop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" | |
id="stop316" /><a:midPointStop | |
offset="0" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="0.6933" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path | |
d="m 556.796,239.764 -0.17,-0.341 2.471,-14.229 5.282,-38.087 c 0.171,-1.022 -0.085,-1.534 -0.767,-1.789 l -4.175,-1.534 0.938,-6.476 h 17.041 l -1.022,6.816 0.255,0.085 c 5.027,-4.686 10.311,-7.753 15.678,-7.753 7.328,0 12.44,4.686 12.44,17.041 0,11.758 -4.601,29.225 -20.449,29.225 -5.538,0 -8.605,-2.13 -11.759,-4.345 l -1.874,12.78 c -0.085,0.938 0.085,1.278 1.192,1.363 l 8.606,0.853 -0.938,6.39 h -22.749 z m 17.041,-30.247 c 2.13,1.789 4.942,3.322 8.095,3.322 6.901,0 9.458,-9.713 9.458,-17.211 0,-5.027 -1.193,-8.351 -4.431,-8.351 -3.408,0 -7.754,3.664 -10.821,6.391 l -2.301,15.849 z" | |
id="path318" | |
style="fill:url(#SVGID_21_)" | |
inkscape:connector-curvature="0" /><linearGradient | |
id="SVGID_22_" | |
gradientUnits="userSpaceOnUse" | |
x1="622.7832" | |
y1="239.7637" | |
x2="622.7832" | |
y2="155.3268"><stop | |
offset="0" | |
style="stop-color:#000000" | |
id="stop321" /><stop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" | |
id="stop323" /><a:midPointStop | |
offset="0" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="0.6933" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path | |
d="m 635.777,219.4 c -3.749,1.789 -9.458,3.322 -14.229,3.322 -8.521,0 -12.099,-2.981 -12.099,-9.969 0,-1.107 0.085,-2.386 0.256,-3.749 l 3.066,-22.323 c 0.086,-0.512 0.086,-0.853 -0.511,-0.853 h -5.879 l 1.107,-7.839 c 7.242,-0.767 10.906,-4.431 13.122,-13.633 h 7.924 l -1.704,12.1 c -0.085,0.596 -0.085,0.852 0.597,0.852 h 11.758 l -1.193,8.521 h -12.439 l -2.812,20.364 c -0.171,1.107 -0.256,1.96 -0.256,2.727 0,2.982 1.278,4.26 4.942,4.26 2.385,0 4.771,-0.596 6.816,-1.363 l 1.534,7.583 z" | |
id="path325" | |
style="fill:url(#SVGID_22_)" | |
inkscape:connector-curvature="0" /><linearGradient | |
id="SVGID_23_" | |
gradientUnits="userSpaceOnUse" | |
x1="655.6709" | |
y1="239.7637" | |
x2="655.6709" | |
y2="155.3275"><stop | |
offset="0" | |
style="stop-color:#000000" | |
id="stop328" /><stop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" | |
id="stop330" /><a:midPointStop | |
offset="0" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="0.6933" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path | |
d="m 671.817,218.463 c -5.538,2.556 -11.588,4.26 -17.638,4.26 -13.377,0 -18.148,-7.839 -18.148,-18.148 0,-17.893 11.418,-28.117 25.307,-28.117 9.372,0 13.973,4.26 13.973,11.247 0,12.184 -12.865,15.763 -26.157,17.126 0.255,4.346 2.045,8.35 8.435,8.35 3.068,0 7.243,-0.937 12.355,-3.067 l 1.873,8.349 z m -8.094,-29.567 c 0,-2.045 -1.448,-3.237 -4.09,-3.237 -4.771,0 -8.69,4.175 -9.969,10.906 3.664,-0.511 14.059,-2.3 14.059,-7.669 z" | |
id="path332" | |
style="fill:url(#SVGID_23_)" | |
inkscape:connector-curvature="0" /><linearGradient | |
id="SVGID_24_" | |
gradientUnits="userSpaceOnUse" | |
x1="697.92969" | |
y1="239.7637" | |
x2="697.92969" | |
y2="155.3277"><stop | |
offset="0" | |
style="stop-color:#000000" | |
id="stop335" /><stop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" | |
id="stop337" /><a:midPointStop | |
offset="0" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="0.6933" | |
style="stop-color:#000000" /><a:midPointStop | |
offset="1" | |
style="stop-color:#000000;stop-opacity:0" /></linearGradient><path | |
d="m 703.596,221.7 -0.17,-0.255 1.874,-10.396 2.471,-17.723 c 0.512,-3.578 0.341,-5.879 -2.215,-5.879 -3.664,0 -8.18,3.578 -11.077,6.135 l -2.641,19.512 c -0.171,1.363 -0.171,1.534 1.107,1.704 l 4.26,0.597 -0.852,6.305 h -23.347 l 0.853,-6.39 3.749,-0.512 c 1.107,-0.17 1.363,-0.426 1.533,-1.704 l 3.579,-25.987 c 0.17,-0.938 0,-1.534 -0.768,-1.789 l -4.175,-1.534 0.938,-6.476 h 16.87 l -0.937,6.987 0.255,0.085 c 4.771,-4.09 9.373,-7.924 16.02,-7.924 6.475,0 9.798,3.322 10.054,10.139 0,1.363 -0.085,3.067 -0.341,4.687 l -3.067,21.812 c -0.171,1.363 -0.171,1.534 1.022,1.704 l 4.26,0.597 L 722,221.7 h -18.404 z" | |
id="path339" | |
style="fill:url(#SVGID_24_)" | |
inkscape:connector-curvature="0" /></g></g><g | |
id="g4141" | |
transform="matrix(0.81856441,0,0,0.81856441,79.234731,-94.128741)"><g | |
id="g4143"></g><g | |
id="g4165"><linearGradient | |
y2="155.3275" | |
x2="324.1611" | |
y1="239.7637" | |
x1="324.1611" | |
gradientUnits="userSpaceOnUse" | |
id="linearGradient4167"><stop | |
id="stop4169" | |
style="stop-color:#000000" | |
offset="0" /><stop | |
id="stop4171" | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0.6933" /><a:midPointStop | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /></linearGradient><linearGradient | |
y2="155.3277" | |
x2="377.45459" | |
y1="239.7637" | |
x1="377.45459" | |
gradientUnits="userSpaceOnUse" | |
id="linearGradient4175"><stop | |
id="stop4177" | |
style="stop-color:#000000" | |
offset="0" /><stop | |
id="stop4179" | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0.6933" /><a:midPointStop | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /></linearGradient><linearGradient | |
y2="155.3275" | |
x2="435.17719" | |
y1="239.7637" | |
x1="435.17719" | |
gradientUnits="userSpaceOnUse" | |
id="linearGradient4183"><stop | |
id="stop4185" | |
style="stop-color:#000000" | |
offset="0" /><stop | |
id="stop4187" | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0.6933" /><a:midPointStop | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /></linearGradient><linearGradient | |
y2="155.3275" | |
x2="474.83691" | |
y1="239.7637" | |
x1="474.83691" | |
gradientUnits="userSpaceOnUse" | |
id="linearGradient4191"><stop | |
id="stop4193" | |
style="stop-color:#000000" | |
offset="0" /><stop | |
id="stop4195" | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0.6933" /><a:midPointStop | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /></linearGradient><linearGradient | |
y2="155.3277" | |
x2="512.28223" | |
y1="239.7637" | |
x1="512.28223" | |
gradientUnits="userSpaceOnUse" | |
id="linearGradient4199"><stop | |
id="stop4201" | |
style="stop-color:#000000" | |
offset="0" /><stop | |
id="stop4203" | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0.6933" /><a:midPointStop | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /></linearGradient><linearGradient | |
y2="155.32719" | |
x2="546.65918" | |
y1="239.7637" | |
x1="546.65918" | |
gradientUnits="userSpaceOnUse" | |
id="linearGradient4207"><stop | |
id="stop4209" | |
style="stop-color:#000000" | |
offset="0" /><stop | |
id="stop4211" | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0.6933" /><a:midPointStop | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /></linearGradient><linearGradient | |
y2="155.32719" | |
x2="580.69629" | |
y1="239.7637" | |
x1="580.69629" | |
gradientUnits="userSpaceOnUse" | |
id="linearGradient4215"><stop | |
id="stop4217" | |
style="stop-color:#000000" | |
offset="0" /><stop | |
id="stop4219" | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0.6933" /><a:midPointStop | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /></linearGradient><linearGradient | |
y2="155.3268" | |
x2="622.7832" | |
y1="239.7637" | |
x1="622.7832" | |
gradientUnits="userSpaceOnUse" | |
id="linearGradient4223"><stop | |
id="stop4225" | |
style="stop-color:#000000" | |
offset="0" /><stop | |
id="stop4227" | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0.6933" /><a:midPointStop | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /></linearGradient><linearGradient | |
y2="155.3275" | |
x2="655.6709" | |
y1="239.7637" | |
x1="655.6709" | |
gradientUnits="userSpaceOnUse" | |
id="linearGradient4231"><stop | |
id="stop4233" | |
style="stop-color:#000000" | |
offset="0" /><stop | |
id="stop4235" | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0.6933" /><a:midPointStop | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /></linearGradient><linearGradient | |
y2="155.3277" | |
x2="697.92969" | |
y1="239.7637" | |
x1="697.92969" | |
gradientUnits="userSpaceOnUse" | |
id="linearGradient4239"><stop | |
id="stop4241" | |
style="stop-color:#000000" | |
offset="0" /><stop | |
id="stop4243" | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0" /><a:midPointStop | |
style="stop-color:#000000" | |
offset="0.6933" /><a:midPointStop | |
style="stop-color:#000000;stop-opacity:0" | |
offset="1" /></linearGradient></g></g></svg> | |
</a> | |
<div class="spinner" id='spinner'></div> | |
<div class="emscripten" id="status">Downloading...</div> | |
<span id='controls'> | |
<span><input type="checkbox" id="resize">Resize canvas</span> | |
<span><input type="checkbox" id="pointerLock" checked>Lock/hide mouse pointer </span> | |
<span><input type="button" value="Fullscreen" onclick="Module.requestFullscreen(document.getElementById('pointerLock').checked, | |
document.getElementById('resize').checked)"> | |
</span> | |
</span> | |
<div class="emscripten"> | |
<progress value="0" max="100" id="progress" hidden=1></progress> | |
</div> | |
<div class="emscripten_border"> | |
<canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas> | |
</div> | |
<textarea id="output" rows="8"></textarea> | |
<script type='text/javascript'> | |
var statusElement = document.getElementById('status'); | |
var progressElement = document.getElementById('progress'); | |
var spinnerElement = document.getElementById('spinner'); | |
var Module = { | |
preRun: [], | |
postRun: [], | |
print: (function() { | |
var element = document.getElementById('output'); | |
if (element) element.value = ''; // clear browser cache | |
return function(text) { | |
if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' '); | |
// These replacements are necessary if you render to raw HTML | |
//text = text.replace(/&/g, "&"); | |
//text = text.replace(/</g, "<"); | |
//text = text.replace(/>/g, ">"); | |
//text = text.replace('\n', '<br>', 'g'); | |
console.log(text); | |
if (element) { | |
element.value += text + "\n"; | |
element.scrollTop = element.scrollHeight; // focus on bottom | |
} | |
}; | |
})(), | |
printErr: function(text) { | |
if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' '); | |
if (0) { // XXX disabled for safety typeof dump == 'function') { | |
dump(text + '\n'); // fast, straight to the real console | |
} else { | |
console.error(text); | |
} | |
}, | |
canvas: (function() { | |
var canvas = document.getElementById('canvas'); | |
// As a default initial behavior, pop up an alert when webgl context is lost. To make your | |
// application robust, you may want to override this behavior before shipping! | |
// See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2 | |
canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false); | |
return canvas; | |
})(), | |
setStatus: function(text) { | |
if (!Module.setStatus.last) Module.setStatus.last = { time: Date.now(), text: '' }; | |
if (text === Module.setStatus.text) return; | |
var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/); | |
var now = Date.now(); | |
if (m && now - Date.now() < 30) return; // if this is a progress update, skip it if too soon | |
if (m) { | |
text = m[1]; | |
progressElement.value = parseInt(m[2])*100; | |
progressElement.max = parseInt(m[4])*100; | |
progressElement.hidden = false; | |
spinnerElement.hidden = false; | |
} else { | |
progressElement.value = null; | |
progressElement.max = null; | |
progressElement.hidden = true; | |
if (!text) spinnerElement.style.display = 'none'; | |
} | |
statusElement.innerHTML = text; | |
}, | |
totalDependencies: 0, | |
monitorRunDependencies: function(left) { | |
this.totalDependencies = Math.max(this.totalDependencies, left); | |
Module.setStatus(left ? 'Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')' : 'All downloads complete.'); | |
} | |
}; | |
Module.setStatus('Downloading...'); | |
window.onerror = function(event) { | |
// TODO: do not warn on ok events like simulating an infinite loop or exitStatus | |
Module.setStatus('Exception thrown, see JavaScript console'); | |
spinnerElement.style.display = 'none'; | |
Module.setStatus = function(text) { | |
if (text) Module.printErr('[post-exception status] ' + text); | |
}; | |
}; | |
</script> | |
<script async type="text/javascript" src="bakergc.js"></script> | |
</body> | |
</html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The Module object: Our interface to the outside world. We import | |
// and export values on it. There are various ways Module can be used: | |
// 1. Not defined. We create it here | |
// 2. A function parameter, function(Module) { ..generated code.. } | |
// 3. pre-run appended it, var Module = {}; ..generated code.. | |
// 4. External script tag defines var Module. | |
// We need to check if Module already exists (e.g. case 3 above). | |
// Substitution will be replaced with actual code on later stage of the build, | |
// this way Closure Compiler will not mangle it (e.g. case 4. above). | |
// Note that if you want to run closure, and also to use Module | |
// after the generated code, you will need to define var Module = {}; | |
// before the code. Then that object will be used in the code, and you | |
// can continue to use Module afterwards as well. | |
var Module = typeof Module !== 'undefined' ? Module : {}; | |
// --pre-jses are emitted after the Module integration code, so that they can | |
// refer to Module (if they choose; they can also define Module) | |
// {{PRE_JSES}} | |
// Sometimes an existing Module object exists with properties | |
// meant to overwrite the default module functionality. Here | |
// we collect those properties and reapply _after_ we configure | |
// the current environment's defaults to avoid having to be so | |
// defensive during initialization. | |
var moduleOverrides = {}; | |
var key; | |
for (key in Module) { | |
if (Module.hasOwnProperty(key)) { | |
moduleOverrides[key] = Module[key]; | |
} | |
} | |
Module['arguments'] = []; | |
Module['thisProgram'] = './this.program'; | |
Module['quit'] = function(status, toThrow) { | |
throw toThrow; | |
}; | |
Module['preRun'] = []; | |
Module['postRun'] = []; | |
// The environment setup code below is customized to use Module. | |
// *** Environment setup code *** | |
var ENVIRONMENT_IS_WEB = false; | |
var ENVIRONMENT_IS_WORKER = false; | |
var ENVIRONMENT_IS_NODE = false; | |
var ENVIRONMENT_IS_SHELL = false; | |
// Three configurations we can be running in: | |
// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) | |
// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) | |
// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) | |
if (Module['ENVIRONMENT']) { | |
if (Module['ENVIRONMENT'] === 'WEB') { | |
ENVIRONMENT_IS_WEB = true; | |
} else if (Module['ENVIRONMENT'] === 'WORKER') { | |
ENVIRONMENT_IS_WORKER = true; | |
} else if (Module['ENVIRONMENT'] === 'NODE') { | |
ENVIRONMENT_IS_NODE = true; | |
} else if (Module['ENVIRONMENT'] === 'SHELL') { | |
ENVIRONMENT_IS_SHELL = true; | |
} else { | |
throw new Error('Module[\'ENVIRONMENT\'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.'); | |
} | |
} else { | |
ENVIRONMENT_IS_WEB = typeof window === 'object'; | |
ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; | |
ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; | |
ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; | |
} | |
if (ENVIRONMENT_IS_NODE) { | |
// Expose functionality in the same simple way that the shells work | |
// Note that we pollute the global namespace here, otherwise we break in node | |
var nodeFS; | |
var nodePath; | |
Module['read'] = function shell_read(filename, binary) { | |
var ret; | |
ret = tryParseAsDataURI(filename); | |
if (!ret) { | |
if (!nodeFS) nodeFS = require('fs'); | |
if (!nodePath) nodePath = require('path'); | |
filename = nodePath['normalize'](filename); | |
ret = nodeFS['readFileSync'](filename); | |
} | |
return binary ? ret : ret.toString(); | |
}; | |
Module['readBinary'] = function readBinary(filename) { | |
var ret = Module['read'](filename, true); | |
if (!ret.buffer) { | |
ret = new Uint8Array(ret); | |
} | |
assert(ret.buffer); | |
return ret; | |
}; | |
if (process['argv'].length > 1) { | |
Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); | |
} | |
Module['arguments'] = process['argv'].slice(2); | |
if (typeof module !== 'undefined') { | |
module['exports'] = Module; | |
} | |
process['on']('uncaughtException', function(ex) { | |
// suppress ExitStatus exceptions from showing an error | |
if (!(ex instanceof ExitStatus)) { | |
throw ex; | |
} | |
}); | |
// Currently node will swallow unhandled rejections, but this behavior is | |
// deprecated, and in the future it will exit with error status. | |
process['on']('unhandledRejection', function(reason, p) { | |
Module['printErr']('node.js exiting due to unhandled promise rejection'); | |
process['exit'](1); | |
}); | |
Module['inspect'] = function () { return '[Emscripten Module object]'; }; | |
} | |
else if (ENVIRONMENT_IS_SHELL) { | |
if (typeof read != 'undefined') { | |
Module['read'] = function shell_read(f) { | |
var data = tryParseAsDataURI(f); | |
if (data) { | |
return intArrayToString(data); | |
} | |
return read(f); | |
}; | |
} | |
Module['readBinary'] = function readBinary(f) { | |
var data; | |
data = tryParseAsDataURI(f); | |
if (data) { | |
return data; | |
} | |
if (typeof readbuffer === 'function') { | |
return new Uint8Array(readbuffer(f)); | |
} | |
data = read(f, 'binary'); | |
assert(typeof data === 'object'); | |
return data; | |
}; | |
if (typeof scriptArgs != 'undefined') { | |
Module['arguments'] = scriptArgs; | |
} else if (typeof arguments != 'undefined') { | |
Module['arguments'] = arguments; | |
} | |
if (typeof quit === 'function') { | |
Module['quit'] = function(status, toThrow) { | |
quit(status); | |
} | |
} | |
} | |
else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { | |
Module['read'] = function shell_read(url) { | |
try { | |
var xhr = new XMLHttpRequest(); | |
xhr.open('GET', url, false); | |
xhr.send(null); | |
return xhr.responseText; | |
} catch (err) { | |
var data = tryParseAsDataURI(url); | |
if (data) { | |
return intArrayToString(data); | |
} | |
throw err; | |
} | |
}; | |
if (ENVIRONMENT_IS_WORKER) { | |
Module['readBinary'] = function readBinary(url) { | |
try { | |
var xhr = new XMLHttpRequest(); | |
xhr.open('GET', url, false); | |
xhr.responseType = 'arraybuffer'; | |
xhr.send(null); | |
return new Uint8Array(xhr.response); | |
} catch (err) { | |
var data = tryParseAsDataURI(url); | |
if (data) { | |
return data; | |
} | |
throw err; | |
} | |
}; | |
} | |
Module['readAsync'] = function readAsync(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)) { // file URLs can return 0 | |
onload(xhr.response); | |
return; | |
} | |
var data = tryParseAsDataURI(url); | |
if (data) { | |
onload(data.buffer); | |
return; | |
} | |
onerror(); | |
}; | |
xhr.onerror = onerror; | |
xhr.send(null); | |
}; | |
if (typeof arguments != 'undefined') { | |
Module['arguments'] = arguments; | |
} | |
Module['setWindowTitle'] = function(title) { document.title = title }; | |
} | |
else { | |
// Unreachable because SHELL is dependent on the others | |
throw new Error('unknown runtime environment'); | |
} | |
// console.log is checked first, as 'print' on the web will open a print dialogue | |
// printErr is preferable to console.warn (works better in shells) | |
Module['print'] = typeof console !== 'undefined' ? console.log : (typeof print !== 'undefined' ? print : null); | |
Module['printErr'] = typeof printErr !== 'undefined' ? printErr : ((typeof console !== 'undefined' && console.warn) || Module['print']); | |
// *** Environment setup code *** | |
// Closure helpers | |
Module.print = Module['print']; | |
Module.printErr = Module['printErr']; | |
// Merge back in the overrides | |
for (key in moduleOverrides) { | |
if (moduleOverrides.hasOwnProperty(key)) { | |
Module[key] = moduleOverrides[key]; | |
} | |
} | |
// Free the object hierarchy contained in the overrides, this lets the GC | |
// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. | |
moduleOverrides = undefined; | |
// {{PREAMBLE_ADDITIONS}} | |
var STACK_ALIGN = 16; | |
// stack management, and other functionality that is provided by the compiled code, | |
// should not be used before it is ready | |
stackSave = stackRestore = stackAlloc = setTempRet0 = getTempRet0 = function() { | |
abort('cannot use the stack before compiled code is ready to run, and has provided stack access'); | |
}; | |
function staticAlloc(size) { | |
assert(!staticSealed); | |
var ret = STATICTOP; | |
STATICTOP = (STATICTOP + size + 15) & -16; | |
return ret; | |
} | |
function dynamicAlloc(size) { | |
assert(DYNAMICTOP_PTR); | |
var ret = HEAP32[DYNAMICTOP_PTR>>2]; | |
var end = (ret + size + 15) & -16; | |
HEAP32[DYNAMICTOP_PTR>>2] = end; | |
if (end >= TOTAL_MEMORY) { | |
var success = enlargeMemory(); | |
if (!success) { | |
HEAP32[DYNAMICTOP_PTR>>2] = ret; | |
return 0; | |
} | |
} | |
return ret; | |
} | |
function alignMemory(size, factor) { | |
if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default | |
var ret = size = Math.ceil(size / factor) * factor; | |
return ret; | |
} | |
function getNativeTypeSize(type) { | |
switch (type) { | |
case 'i1': case 'i8': return 1; | |
case 'i16': return 2; | |
case 'i32': return 4; | |
case 'i64': return 8; | |
case 'float': return 4; | |
case 'double': return 8; | |
default: { | |
if (type[type.length-1] === '*') { | |
return 4; // A pointer | |
} else if (type[0] === 'i') { | |
var bits = parseInt(type.substr(1)); | |
assert(bits % 8 === 0); | |
return bits / 8; | |
} else { | |
return 0; | |
} | |
} | |
} | |
} | |
function warnOnce(text) { | |
if (!warnOnce.shown) warnOnce.shown = {}; | |
if (!warnOnce.shown[text]) { | |
warnOnce.shown[text] = 1; | |
Module.printErr(text); | |
} | |
} | |
var functionPointers = new Array(0); | |
function addFunction(func) { | |
for (var i = 0; i < functionPointers.length; i++) { | |
if (!functionPointers[i]) { | |
functionPointers[i] = func; | |
return 1 + i; | |
} | |
} | |
throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; | |
} | |
function removeFunction(index) { | |
functionPointers[index-1] = null; | |
} | |
var funcWrappers = {}; | |
function getFuncWrapper(func, sig) { | |
if (!func) return; // on null pointer, return undefined | |
assert(sig); | |
if (!funcWrappers[sig]) { | |
funcWrappers[sig] = {}; | |
} | |
var sigCache = funcWrappers[sig]; | |
if (!sigCache[func]) { | |
// optimize away arguments usage in common cases | |
if (sig.length === 1) { | |
sigCache[func] = function dynCall_wrapper() { | |
return dynCall(sig, func); | |
}; | |
} else if (sig.length === 2) { | |
sigCache[func] = function dynCall_wrapper(arg) { | |
return dynCall(sig, func, [arg]); | |
}; | |
} else { | |
// general case | |
sigCache[func] = function dynCall_wrapper() { | |
return dynCall(sig, func, Array.prototype.slice.call(arguments)); | |
}; | |
} | |
} | |
return sigCache[func]; | |
} | |
function makeBigInt(low, high, unsigned) { | |
return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0)); | |
} | |
function dynCall(sig, ptr, args) { | |
if (args && args.length) { | |
assert(args.length == sig.length-1); | |
assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); | |
return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); | |
} else { | |
assert(sig.length == 1); | |
assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); | |
return Module['dynCall_' + sig].call(null, ptr); | |
} | |
} | |
function getCompilerSetting(name) { | |
throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for getCompilerSetting or emscripten_get_compiler_setting to work'; | |
} | |
var Runtime = { | |
// FIXME backwards compatibility layer for ports. Support some Runtime.* | |
// for now, fix it there, then remove it from here. That way we | |
// can minimize any period of breakage. | |
dynCall: dynCall, // for SDL2 port | |
// helpful errors | |
getTempRet0: function() { abort('getTempRet0() is now a top-level function, after removing the Runtime object. Remove "Runtime."') }, | |
staticAlloc: function() { abort('staticAlloc() is now a top-level function, after removing the Runtime object. Remove "Runtime."') }, | |
stackAlloc: function() { abort('stackAlloc() is now a top-level function, after removing the Runtime object. Remove "Runtime."') }, | |
}; | |
// The address globals begin at. Very low in memory, for code size and optimization opportunities. | |
// Above 0 is static memory, starting with globals. | |
// Then the stack. | |
// Then 'dynamic' memory for sbrk. | |
var GLOBAL_BASE = 8; | |
// === Preamble library stuff === | |
// Documentation for the public APIs defined in this file must be updated in: | |
// site/source/docs/api_reference/preamble.js.rst | |
// A prebuilt local version of the documentation is available at: | |
// site/build/text/docs/api_reference/preamble.js.txt | |
// You can also build docs locally as HTML or other formats in site/ | |
// An online HTML version (which may be of a different version of Emscripten) | |
// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html | |
//======================================== | |
// Runtime essentials | |
//======================================== | |
var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() | |
var EXITSTATUS = 0; | |
/** @type {function(*, string=)} */ | |
function assert(condition, text) { | |
if (!condition) { | |
abort('Assertion failed: ' + text); | |
} | |
} | |
var globalScope = this; | |
// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) | |
function getCFunc(ident) { | |
var func = Module['_' + ident]; // closure exported function | |
assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); | |
return func; | |
} | |
var JSfuncs = { | |
// Helpers for cwrap -- it can't refer to Runtime directly because it might | |
// be renamed by closure, instead it calls JSfuncs['stackSave'].body to find | |
// out what the minified function name is. | |
'stackSave': function() { | |
stackSave() | |
}, | |
'stackRestore': function() { | |
stackRestore() | |
}, | |
// type conversion from js to c | |
'arrayToC' : function(arr) { | |
var ret = stackAlloc(arr.length); | |
writeArrayToMemory(arr, ret); | |
return ret; | |
}, | |
'stringToC' : function(str) { | |
var ret = 0; | |
if (str !== null && str !== undefined && str !== 0) { // null string | |
// at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' | |
var len = (str.length << 2) + 1; | |
ret = stackAlloc(len); | |
stringToUTF8(str, ret, len); | |
} | |
return ret; | |
} | |
}; | |
// For fast lookup of conversion functions | |
var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; | |
// C calling interface. | |
function ccall (ident, returnType, argTypes, args, opts) { | |
var func = getCFunc(ident); | |
var cArgs = []; | |
var stack = 0; | |
assert(returnType !== 'array', 'Return type should not be "array".'); | |
if (args) { | |
for (var i = 0; i < args.length; i++) { | |
var converter = toC[argTypes[i]]; | |
if (converter) { | |
if (stack === 0) stack = stackSave(); | |
cArgs[i] = converter(args[i]); | |
} else { | |
cArgs[i] = args[i]; | |
} | |
} | |
} | |
var ret = func.apply(null, cArgs); | |
if (returnType === 'string') ret = Pointer_stringify(ret); | |
if (stack !== 0) { | |
stackRestore(stack); | |
} | |
return ret; | |
} | |
function cwrap (ident, returnType, argTypes) { | |
argTypes = argTypes || []; | |
var cfunc = getCFunc(ident); | |
// When the function takes numbers and returns a number, we can just return | |
// the original function | |
var numericArgs = argTypes.every(function(type){ return type === 'number'}); | |
var numericRet = returnType !== 'string'; | |
if (numericRet && numericArgs) { | |
return cfunc; | |
} | |
return function() { | |
return ccall(ident, returnType, argTypes, arguments); | |
} | |
} | |
/** @type {function(number, number, string, boolean=)} */ | |
function setValue(ptr, value, type, noSafe) { | |
type = type || 'i8'; | |
if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit | |
switch(type) { | |
case 'i1': HEAP8[((ptr)>>0)]=value; break; | |
case 'i8': HEAP8[((ptr)>>0)]=value; break; | |
case 'i16': HEAP16[((ptr)>>1)]=value; break; | |
case 'i32': HEAP32[((ptr)>>2)]=value; break; | |
case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; | |
case 'float': HEAPF32[((ptr)>>2)]=value; break; | |
case 'double': HEAPF64[((ptr)>>3)]=value; break; | |
default: abort('invalid type for setValue: ' + type); | |
} | |
} | |
/** @type {function(number, string, boolean=)} */ | |
function getValue(ptr, type, noSafe) { | |
type = type || 'i8'; | |
if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit | |
switch(type) { | |
case 'i1': return HEAP8[((ptr)>>0)]; | |
case 'i8': return HEAP8[((ptr)>>0)]; | |
case 'i16': return HEAP16[((ptr)>>1)]; | |
case 'i32': return HEAP32[((ptr)>>2)]; | |
case 'i64': return HEAP32[((ptr)>>2)]; | |
case 'float': return HEAPF32[((ptr)>>2)]; | |
case 'double': return HEAPF64[((ptr)>>3)]; | |
default: abort('invalid type for getValue: ' + type); | |
} | |
return null; | |
} | |
var ALLOC_NORMAL = 0; // Tries to use _malloc() | |
var ALLOC_STACK = 1; // Lives for the duration of the current function call | |
var ALLOC_STATIC = 2; // Cannot be freed | |
var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk | |
var ALLOC_NONE = 4; // Do not allocate | |
// allocate(): This is for internal use. You can use it yourself as well, but the interface | |
// is a little tricky (see docs right below). The reason is that it is optimized | |
// for multiple syntaxes to save space in generated code. So you should | |
// normally not use allocate(), and instead allocate memory using _malloc(), | |
// initialize it with setValue(), and so forth. | |
// @slab: An array of data, or a number. If a number, then the size of the block to allocate, | |
// in *bytes* (note that this is sometimes confusing: the next parameter does not | |
// affect this!) | |
// @types: Either an array of types, one for each byte (or 0 if no type at that position), | |
// or a single type which is used for the entire block. This only matters if there | |
// is initial data - if @slab is a number, then this does not matter at all and is | |
// ignored. | |
// @allocator: How to allocate memory, see ALLOC_* | |
/** @type {function((TypedArray|Array<number>|number), string, number, number=)} */ | |
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 = [typeof _malloc === 'function' ? _malloc : staticAlloc, stackAlloc, staticAlloc, dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); | |
} | |
if (zeroinit) { | |
var stop; | |
ptr = ret; | |
assert((ret & 3) == 0); | |
stop = ret + (size & ~3); | |
for (; ptr < stop; ptr += 4) { | |
HEAP32[((ptr)>>2)]=0; | |
} | |
stop = ret + size; | |
while (ptr < stop) { | |
HEAP8[((ptr++)>>0)]=0; | |
} | |
return ret; | |
} | |
if (singleType === 'i8') { | |
if (slab.subarray || slab.slice) { | |
HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret); | |
} else { | |
HEAPU8.set(new Uint8Array(slab), ret); | |
} | |
return ret; | |
} | |
var i = 0, type, typeSize, previousType; | |
while (i < size) { | |
var curr = slab[i]; | |
type = singleType || types[i]; | |
if (type === 0) { | |
i++; | |
continue; | |
} | |
assert(type, 'Must know what type to store in allocate!'); | |
if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later | |
setValue(ret+i, curr, type); | |
// no need to look up size unless type changes, so cache it | |
if (previousType !== type) { | |
typeSize = getNativeTypeSize(type); | |
previousType = type; | |
} | |
i += typeSize; | |
} | |
return ret; | |
} | |
// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready | |
function getMemory(size) { | |
if (!staticSealed) return staticAlloc(size); | |
if (!runtimeInitialized) return dynamicAlloc(size); | |
return _malloc(size); | |
} | |
/** @type {function(number, number=)} */ | |
function Pointer_stringify(ptr, length) { | |
if (length === 0 || !ptr) return ''; | |
// TODO: use TextDecoder | |
// Find the length, and check for UTF while doing so | |
var hasUtf = 0; | |
var t; | |
var i = 0; | |
while (1) { | |
assert(ptr + i < TOTAL_MEMORY); | |
t = HEAPU8[(((ptr)+(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; // split up into chunks, because .apply on a huge string can overflow the stack | |
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 UTF8ToString(ptr); | |
} | |
// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns | |
// a copy of that string as a Javascript String object. | |
function AsciiToString(ptr) { | |
var str = ''; | |
while (1) { | |
var ch = HEAP8[((ptr++)>>0)]; | |
if (!ch) return str; | |
str += String.fromCharCode(ch); | |
} | |
} | |
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', | |
// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. | |
function stringToAscii(str, outPtr) { | |
return writeAsciiToMemory(str, outPtr, false); | |
} | |
// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns | |
// a copy of that string as a Javascript String object. | |
var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; | |
function UTF8ArrayToString(u8Array, idx) { | |
var endPtr = idx; | |
// TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. | |
// Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. | |
while (u8Array[endPtr]) ++endPtr; | |
if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { | |
return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); | |
} else { | |
var u0, u1, u2, u3, u4, u5; | |
var str = ''; | |
while (1) { | |
// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 | |
u0 = u8Array[idx++]; | |
if (!u0) return str; | |
if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } | |
u1 = u8Array[idx++] & 63; | |
if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } | |
u2 = u8Array[idx++] & 63; | |
if ((u0 & 0xF0) == 0xE0) { | |
u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; | |
} else { | |
u3 = u8Array[idx++] & 63; | |
if ((u0 & 0xF8) == 0xF0) { | |
u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; | |
} else { | |
u4 = u8Array[idx++] & 63; | |
if ((u0 & 0xFC) == 0xF8) { | |
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 < 0x10000) { | |
str += String.fromCharCode(u0); | |
} else { | |
var ch = u0 - 0x10000; | |
str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); | |
} | |
} | |
} | |
} | |
// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns | |
// a copy of that string as a Javascript String object. | |
function UTF8ToString(ptr) { | |
return UTF8ArrayToString(HEAPU8,ptr); | |
} | |
// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', | |
// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. | |
// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. | |
// Parameters: | |
// str: the Javascript string to copy. | |
// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. | |
// outIdx: The starting offset in the array to begin the copying. | |
// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null | |
// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. | |
// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. | |
// Returns the number of bytes written, EXCLUDING the null terminator. | |
function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { | |
if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. | |
return 0; | |
var startIdx = outIdx; | |
var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. | |
for (var i = 0; i < str.length; ++i) { | |
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. | |
// See http://unicode.org/faq/utf_bom.html#utf16-3 | |
// For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 | |
var u = str.charCodeAt(i); // possibly a lead surrogate | |
if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); | |
if (u <= 0x7F) { | |
if (outIdx >= endIdx) break; | |
outU8Array[outIdx++] = u; | |
} else if (u <= 0x7FF) { | |
if (outIdx + 1 >= endIdx) break; | |
outU8Array[outIdx++] = 0xC0 | (u >> 6); | |
outU8Array[outIdx++] = 0x80 | (u & 63); | |
} else if (u <= 0xFFFF) { | |
if (outIdx + 2 >= endIdx) break; | |
outU8Array[outIdx++] = 0xE0 | (u >> 12); | |
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); | |
outU8Array[outIdx++] = 0x80 | (u & 63); | |
} else if (u <= 0x1FFFFF) { | |
if (outIdx + 3 >= endIdx) break; | |
outU8Array[outIdx++] = 0xF0 | (u >> 18); | |
outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); | |
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); | |
outU8Array[outIdx++] = 0x80 | (u & 63); | |
} else if (u <= 0x3FFFFFF) { | |
if (outIdx + 4 >= endIdx) break; | |
outU8Array[outIdx++] = 0xF8 | (u >> 24); | |
outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); | |
outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); | |
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); | |
outU8Array[outIdx++] = 0x80 | (u & 63); | |
} else { | |
if (outIdx + 5 >= endIdx) break; | |
outU8Array[outIdx++] = 0xFC | (u >> 30); | |
outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); | |
outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); | |
outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); | |
outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); | |
outU8Array[outIdx++] = 0x80 | (u & 63); | |
} | |
} | |
// Null-terminate the pointer to the buffer. | |
outU8Array[outIdx] = 0; | |
return outIdx - startIdx; | |
} | |
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', | |
// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. | |
// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. | |
// Returns the number of bytes written, EXCLUDING the null terminator. | |
function stringToUTF8(str, outPtr, maxBytesToWrite) { | |
assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); | |
return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); | |
} | |
// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. | |
function lengthBytesUTF8(str) { | |
var len = 0; | |
for (var i = 0; i < str.length; ++i) { | |
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. | |
// See http://unicode.org/faq/utf_bom.html#utf16-3 | |
var u = str.charCodeAt(i); // possibly a lead surrogate | |
if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); | |
if (u <= 0x7F) { | |
++len; | |
} else if (u <= 0x7FF) { | |
len += 2; | |
} else if (u <= 0xFFFF) { | |
len += 3; | |
} else if (u <= 0x1FFFFF) { | |
len += 4; | |
} else if (u <= 0x3FFFFFF) { | |
len += 5; | |
} else { | |
len += 6; | |
} | |
} | |
return len; | |
} | |
// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns | |
// a copy of that string as a Javascript String object. | |
var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; | |
function UTF16ToString(ptr) { | |
assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); | |
var endPtr = ptr; | |
// TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. | |
// Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. | |
var idx = endPtr >> 1; | |
while (HEAP16[idx]) ++idx; | |
endPtr = idx << 1; | |
if (endPtr - ptr > 32 && UTF16Decoder) { | |
return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); | |
} else { | |
var i = 0; | |
var str = ''; | |
while (1) { | |
var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; | |
if (codeUnit == 0) return str; | |
++i; | |
// fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. | |
str += String.fromCharCode(codeUnit); | |
} | |
} | |
} | |
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', | |
// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. | |
// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. | |
// Parameters: | |
// str: the Javascript string to copy. | |
// outPtr: Byte address in Emscripten HEAP where to write the string to. | |
// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null | |
// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. | |
// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. | |
// Returns the number of bytes written, EXCLUDING the null terminator. | |
function stringToUTF16(str, outPtr, maxBytesToWrite) { | |
assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); | |
assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); | |
// Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. | |
if (maxBytesToWrite === undefined) { | |
maxBytesToWrite = 0x7FFFFFFF; | |
} | |
if (maxBytesToWrite < 2) return 0; | |
maxBytesToWrite -= 2; // Null terminator. | |
var startPtr = outPtr; | |
var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; | |
for (var i = 0; i < numCharsToWrite; ++i) { | |
// charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. | |
var codeUnit = str.charCodeAt(i); // possibly a lead surrogate | |
HEAP16[((outPtr)>>1)]=codeUnit; | |
outPtr += 2; | |
} | |
// Null-terminate the pointer to the HEAP. | |
HEAP16[((outPtr)>>1)]=0; | |
return outPtr - startPtr; | |
} | |
// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. | |
function lengthBytesUTF16(str) { | |
return str.length*2; | |
} | |
function UTF32ToString(ptr) { | |
assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); | |
var i = 0; | |
var str = ''; | |
while (1) { | |
var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; | |
if (utf32 == 0) | |
return str; | |
++i; | |
// Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. | |
// See http://unicode.org/faq/utf_bom.html#utf16-3 | |
if (utf32 >= 0x10000) { | |
var ch = utf32 - 0x10000; | |
str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); | |
} else { | |
str += String.fromCharCode(utf32); | |
} | |
} | |
} | |
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', | |
// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. | |
// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. | |
// Parameters: | |
// str: the Javascript string to copy. | |
// outPtr: Byte address in Emscripten HEAP where to write the string to. | |
// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null | |
// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. | |
// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. | |
// Returns the number of bytes written, EXCLUDING the null terminator. | |
function stringToUTF32(str, outPtr, maxBytesToWrite) { | |
assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); | |
assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); | |
// Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. | |
if (maxBytesToWrite === undefined) { | |
maxBytesToWrite = 0x7FFFFFFF; | |
} | |
if (maxBytesToWrite < 4) return 0; | |
var startPtr = outPtr; | |
var endPtr = startPtr + maxBytesToWrite - 4; | |
for (var i = 0; i < str.length; ++i) { | |
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. | |
// See http://unicode.org/faq/utf_bom.html#utf16-3 | |
var codeUnit = str.charCodeAt(i); // possibly a lead surrogate | |
if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { | |
var trailSurrogate = str.charCodeAt(++i); | |
codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); | |
} | |
HEAP32[((outPtr)>>2)]=codeUnit; | |
outPtr += 4; | |
if (outPtr + 4 > endPtr) break; | |
} | |
// Null-terminate the pointer to the HEAP. | |
HEAP32[((outPtr)>>2)]=0; | |
return outPtr - startPtr; | |
} | |
// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. | |
function lengthBytesUTF32(str) { | |
var len = 0; | |
for (var i = 0; i < str.length; ++i) { | |
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. | |
// See http://unicode.org/faq/utf_bom.html#utf16-3 | |
var codeUnit = str.charCodeAt(i); | |
if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. | |
len += 4; | |
} | |
return len; | |
} | |
// Allocate heap space for a JS string, and write it there. | |
// It is the responsibility of the caller to free() that memory. | |
function allocateUTF8(str) { | |
var size = lengthBytesUTF8(str) + 1; | |
var ret = _malloc(size); | |
if (ret) stringToUTF8Array(str, HEAP8, ret, size); | |
return ret; | |
} | |
// Allocate stack space for a JS string, and write it there. | |
function allocateUTF8OnStack(str) { | |
var size = lengthBytesUTF8(str) + 1; | |
var ret = stackAlloc(size); | |
stringToUTF8Array(str, HEAP8, ret, size); | |
return ret; | |
} | |
function demangle(func) { | |
warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); | |
return func; | |
} | |
function demangleAll(text) { | |
var regex = | |
/__Z[\w\d_]+/g; | |
return text.replace(regex, | |
function(x) { | |
var y = demangle(x); | |
return x === y ? x : (x + ' [' + y + ']'); | |
}); | |
} | |
function jsStackTrace() { | |
var err = new Error(); | |
if (!err.stack) { | |
// IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, | |
// so try that as a special-case. | |
try { | |
throw new Error(0); | |
} catch(e) { | |
err = e; | |
} | |
if (!err.stack) { | |
return '(no stack trace available)'; | |
} | |
} | |
return err.stack.toString(); | |
} | |
function stackTrace() { | |
var js = jsStackTrace(); | |
if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); | |
return demangleAll(js); | |
} | |
// Memory management | |
var PAGE_SIZE = 16384; | |
var WASM_PAGE_SIZE = 65536; | |
var ASMJS_PAGE_SIZE = 16777216; | |
var MIN_TOTAL_MEMORY = 16777216; | |
function alignUp(x, multiple) { | |
if (x % multiple > 0) { | |
x += multiple - (x % multiple); | |
} | |
return x; | |
} | |
var HEAP, | |
/** @type {ArrayBuffer} */ | |
buffer, | |
/** @type {Int8Array} */ | |
HEAP8, | |
/** @type {Uint8Array} */ | |
HEAPU8, | |
/** @type {Int16Array} */ | |
HEAP16, | |
/** @type {Uint16Array} */ | |
HEAPU16, | |
/** @type {Int32Array} */ | |
HEAP32, | |
/** @type {Uint32Array} */ | |
HEAPU32, | |
/** @type {Float32Array} */ | |
HEAPF32, | |
/** @type {Float64Array} */ | |
HEAPF64; | |
function updateGlobalBuffer(buf) { | |
Module['buffer'] = buffer = buf; | |
} | |
function updateGlobalBufferViews() { | |
Module['HEAP8'] = HEAP8 = new Int8Array(buffer); | |
Module['HEAP16'] = HEAP16 = new Int16Array(buffer); | |
Module['HEAP32'] = HEAP32 = new Int32Array(buffer); | |
Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); | |
Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); | |
Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); | |
Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); | |
Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); | |
} | |
var STATIC_BASE, STATICTOP, staticSealed; // static area | |
var STACK_BASE, STACKTOP, STACK_MAX; // stack area | |
var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk | |
STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; | |
staticSealed = false; | |
// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. | |
function writeStackCookie() { | |
assert((STACK_MAX & 3) == 0); | |
HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; | |
HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; | |
} | |
function checkStackCookie() { | |
if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { | |
abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); | |
} | |
// Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. | |
if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; | |
} | |
function abortStackOverflow(allocSize) { | |
abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - stackSave() + allocSize) + ' bytes available!'); | |
} | |
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 allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) 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; | |
if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); | |
// Initialize the runtime's memory | |
// check for full engine support (use string 'subarray' to avoid closure compiler confusion) | |
assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined, | |
'JS engine does not provide full typed array support'); | |
// Use a provided buffer, if there is one, or else allocate a new one | |
if (Module['buffer']) { | |
buffer = Module['buffer']; | |
assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); | |
} else { | |
// Use a WebAssembly memory where available | |
{ | |
buffer = new ArrayBuffer(TOTAL_MEMORY); | |
} | |
assert(buffer.byteLength === TOTAL_MEMORY); | |
Module['buffer'] = buffer; | |
} | |
updateGlobalBufferViews(); | |
function getTotalMemory() { | |
return TOTAL_MEMORY; | |
} | |
// Endianness check (note: assumes compiler arch was little-endian) | |
HEAP32[0] = 0x63736d65; /* 'emsc' */ | |
HEAP16[1] = 0x6373; | |
if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; | |
function callRuntimeCallbacks(callbacks) { | |
while(callbacks.length > 0) { | |
var callback = callbacks.shift(); | |
if (typeof callback == 'function') { | |
callback(); | |
continue; | |
} | |
var func = callback.func; | |
if (typeof func === 'number') { | |
if (callback.arg === undefined) { | |
Module['dynCall_v'](func); | |
} else { | |
Module['dynCall_vi'](func, callback.arg); | |
} | |
} else { | |
func(callback.arg === undefined ? null : callback.arg); | |
} | |
} | |
} | |
var __ATPRERUN__ = []; // functions called before the runtime is initialized | |
var __ATINIT__ = []; // functions called during startup | |
var __ATMAIN__ = []; // functions called when main() is to be run | |
var __ATEXIT__ = []; // functions called during shutdown | |
var __ATPOSTRUN__ = []; // functions called after the runtime has exited | |
var runtimeInitialized = false; | |
var runtimeExited = false; | |
function preRun() { | |
// compatibility - merge in anything from Module['preRun'] at this time | |
if (Module['preRun']) { | |
if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; | |
while (Module['preRun'].length) { | |
addOnPreRun(Module['preRun'].shift()); | |
} | |
} | |
callRuntimeCallbacks(__ATPRERUN__); | |
} | |
function ensureInitRuntime() { | |
checkStackCookie(); | |
if (runtimeInitialized) return; | |
runtimeInitialized = true; | |
callRuntimeCallbacks(__ATINIT__); | |
} | |
function preMain() { | |
checkStackCookie(); | |
callRuntimeCallbacks(__ATMAIN__); | |
} | |
function exitRuntime() { | |
checkStackCookie(); | |
callRuntimeCallbacks(__ATEXIT__); | |
runtimeExited = true; | |
} | |
function postRun() { | |
checkStackCookie(); | |
// compatibility - merge in anything from Module['postRun'] at this time | |
if (Module['postRun']) { | |
if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; | |
while (Module['postRun'].length) { | |
addOnPostRun(Module['postRun'].shift()); | |
} | |
} | |
callRuntimeCallbacks(__ATPOSTRUN__); | |
} | |
function addOnPreRun(cb) { | |
__ATPRERUN__.unshift(cb); | |
} | |
function addOnInit(cb) { | |
__ATINIT__.unshift(cb); | |
} | |
function addOnPreMain(cb) { | |
__ATMAIN__.unshift(cb); | |
} | |
function addOnExit(cb) { | |
__ATEXIT__.unshift(cb); | |
} | |
function addOnPostRun(cb) { | |
__ATPOSTRUN__.unshift(cb); | |
} | |
// Deprecated: This function should not be called because it is unsafe and does not provide | |
// a maximum length limit of how many bytes it is allowed to write. Prefer calling the | |
// function stringToUTF8Array() instead, which takes in a maximum length that can be used | |
// to be secure from out of bounds writes. | |
/** @deprecated */ | |
function writeStringToMemory(string, buffer, dontAddNull) { | |
warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); | |
var /** @type {number} */ lastChar, /** @type {number} */ end; | |
if (dontAddNull) { | |
// stringToUTF8Array always appends null. If we don't want to do that, remember the | |
// character that existed at the location where the null will be placed, and restore | |
// that after the write (below). | |
end = buffer + lengthBytesUTF8(string); | |
lastChar = HEAP8[end]; | |
} | |
stringToUTF8(string, buffer, Infinity); | |
if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. | |
} | |
function writeArrayToMemory(array, buffer) { | |
assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') | |
HEAP8.set(array, buffer); | |
} | |
function writeAsciiToMemory(str, buffer, dontAddNull) { | |
for (var i = 0; i < str.length; ++i) { | |
assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); | |
HEAP8[((buffer++)>>0)]=str.charCodeAt(i); | |
} | |
// Null-terminate the pointer to the HEAP. | |
if (!dontAddNull) HEAP8[((buffer)>>0)]=0; | |
} | |
function unSign(value, bits, ignore) { | |
if (value >= 0) { | |
return value; | |
} | |
return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts | |
: Math.pow(2, bits) + value; | |
} | |
function reSign(value, bits, ignore) { | |
if (value <= 0) { | |
return value; | |
} | |
var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 | |
: Math.pow(2, bits-1); | |
if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that | |
// but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors | |
// TODO: In i64 mode 1, resign the two parts separately and safely | |
value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts | |
} | |
return value; | |
} | |
assert(Math['imul'] && Math['fround'] && Math['clz32'] && Math['trunc'], 'this is a legacy browser, build with LEGACY_VM_SUPPORT'); | |
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_round = Math.round; | |
var Math_min = Math.min; | |
var Math_max = Math.max; | |
var Math_clz32 = Math.clz32; | |
var Math_trunc = Math.trunc; | |
// A counter of dependencies for calling run(). If we need to | |
// do asynchronous work before running, increment this and | |
// decrement it. Incrementing must happen in a place like | |
// PRE_RUN_ADDITIONS (used by emcc to add file preloading). | |
// Note that you can add dependencies in preRun, even though | |
// it happens right before run - run will be postponed until | |
// the dependencies are met. | |
var runDependencies = 0; | |
var runDependencyWatcher = null; | |
var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled | |
var runDependencyTracking = {}; | |
function getUniqueRunDependency(id) { | |
var orig = id; | |
while (1) { | |
if (!runDependencyTracking[id]) return id; | |
id = orig + Math.random(); | |
} | |
return id; | |
} | |
function addRunDependency(id) { | |
runDependencies++; | |
if (Module['monitorRunDependencies']) { | |
Module['monitorRunDependencies'](runDependencies); | |
} | |
if (id) { | |
assert(!runDependencyTracking[id]); | |
runDependencyTracking[id] = 1; | |
if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { | |
// Check for missing dependencies every few seconds | |
runDependencyWatcher = setInterval(function() { | |
if (ABORT) { | |
clearInterval(runDependencyWatcher); | |
runDependencyWatcher = null; | |
return; | |
} | |
var shown = false; | |
for (var dep in runDependencyTracking) { | |
if (!shown) { | |
shown = true; | |
Module.printErr('still waiting on run dependencies:'); | |
} | |
Module.printErr('dependency: ' + dep); | |
} | |
if (shown) { | |
Module.printErr('(end of list)'); | |
} | |
}, 10000); | |
} | |
} else { | |
Module.printErr('warning: run dependency added without ID'); | |
} | |
} | |
function removeRunDependency(id) { | |
runDependencies--; | |
if (Module['monitorRunDependencies']) { | |
Module['monitorRunDependencies'](runDependencies); | |
} | |
if (id) { | |
assert(runDependencyTracking[id]); | |
delete runDependencyTracking[id]; | |
} else { | |
Module.printErr('warning: run dependency removed without ID'); | |
} | |
if (runDependencies == 0) { | |
if (runDependencyWatcher !== null) { | |
clearInterval(runDependencyWatcher); | |
runDependencyWatcher = null; | |
} | |
if (dependenciesFulfilled) { | |
var callback = dependenciesFulfilled; | |
dependenciesFulfilled = null; | |
callback(); // can add another dependenciesFulfilled | |
} | |
} | |
} | |
Module["preloadedImages"] = {}; // maps url to image data | |
Module["preloadedAudios"] = {}; // maps url to audio data | |
var memoryInitializer = null; | |
var /* show errors on likely calls to FS when it was not included */ FS = { | |
error: function() { | |
abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1'); | |
}, | |
init: function() { FS.error() }, | |
createDataFile: function() { FS.error() }, | |
createPreloadedFile: function() { FS.error() }, | |
createLazyFile: function() { FS.error() }, | |
open: function() { FS.error() }, | |
mkdev: function() { FS.error() }, | |
registerDevice: function() { FS.error() }, | |
analyzePath: function() { FS.error() }, | |
loadFilesFromDB: function() { FS.error() }, | |
ErrnoError: function ErrnoError() { FS.error() }, | |
}; | |
Module['FS_createDataFile'] = FS.createDataFile; | |
Module['FS_createPreloadedFile'] = FS.createPreloadedFile; | |
// Prefix of data URIs emitted by SINGLE_FILE and related options. | |
var dataURIPrefix = 'data:application/octet-stream;base64,'; | |
// Indicates whether filename is a base64 data URI. | |
function isDataURI(filename) { | |
return String.prototype.startsWith ? | |
filename.startsWith(dataURIPrefix) : | |
filename.indexOf(dataURIPrefix) === 0; | |
} | |
// === Body === | |
var ASM_CONSTS = []; | |
STATIC_BASE = GLOBAL_BASE; | |
STATICTOP = STATIC_BASE + 5872; | |
/* global initializers */ __ATINIT__.push(); | |
memoryInitializer = "data:application/octet-stream;base64,MgAAAAQAAAABAAAAGAAAAAUAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAADAAAA3BIAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAAAABQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAMAAADkEgAAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW91dCBvZiBtZW1vcnkhCgBGbGlwCgBUb3NwYWNlIGFmdGVyIEdDOiAlemQKAGF0b20ocCkAYmFrZXJnYy5jAGludGVnZXIAaW50ZWdlcnAocCkAZ2V0aW50ZWdlcihwKSA9PSB2ACFhdG9tKHApAGNvcHkAU2lldmUgaXQhCgAgJXpkAAoAJXMlcwpVc2FnZTogJXMgJG9wdHMKICAgICAgIC1zIE4gIGZvciBzaXplIG9mIHNlbWlzcGFjZSBpbiBudW1iZXIgb2YgY2VsbCBwYWlycwogICAgICAgLWkgMSAgIGZvciBpbmNyZW1lbnRhbCBHQyAoZGVmYXVsdCkKICAgICAgIC1pIDAgICBmb3Igc3RvcC10aGUtd29ybGQgR0MKICAgICAgIC1rIE4gIG9mIGNlbGwgcGFpcnMgdG8gc2NhbiBwZXIgY29ucyAoaW1wbGllcyAtaSkKAHM6azppOgBDYW4ndCBwYXJzZSBib29sZWFuOiAAQ2FuJ3QgcGFyc2Ugc2l6ZTogAElsbGVnYWwgaW5jcmVtZW50YWwgc2l6ZTogAFVua25vd24gb3B0aW9uOiAAUyAtIFNjYW4gcG9pbnRlcgpCIC0gRnJlZSBzcGFjZSBmb3IgbGl2ZSBvYmplY3RzClQgLSBBbGxvY2F0aW9uIHBvaW50ZXIgKGZvciBuZXcgb2JqZWN0cykKICAtIGdhcmJhZ2UKKyAtIG1vdmVkIHRvIHRvc3BhY2UKcyAtIHNjYW5uZWQKdCAtIHRvIGJlIHNjYW5uZWQKbiAtIGJyYW5kIG5ldwoAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFADogdW5yZWNvZ25pemVkIG9wdGlvbjogADogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50OiA="; | |
/* no memory initializer */ | |
var tempDoublePtr = STATICTOP; STATICTOP += 16; | |
assert(tempDoublePtr % 8 == 0); | |
function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much | |
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]; | |
} | |
// {{PRE_LIBRARY}} | |
function ___assert_fail(condition, filename, line, func) { | |
abort('Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function']); | |
} | |
function ___lock() {} | |
var SYSCALLS={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; | |
},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 ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; | |
try { | |
// llseek | |
var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); | |
// NOTE: offset_high is unused - Emscripten's off_t is 32-bit | |
var offset = offset_low; | |
FS.llseek(stream, offset, whence); | |
HEAP32[((result)>>2)]=stream.position; | |
if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state | |
return 0; | |
} catch (e) { | |
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
return -e.errno; | |
} | |
} | |
function flush_NO_FILESYSTEM() { | |
// flush anything remaining in the buffers during shutdown | |
var fflush = Module["_fflush"]; | |
if (fflush) fflush(0); | |
var printChar = ___syscall146.printChar; | |
if (!printChar) return; | |
var buffers = ___syscall146.buffers; | |
if (buffers[1].length) printChar(1, 10); | |
if (buffers[2].length) printChar(2, 10); | |
}function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; | |
try { | |
// writev | |
// hack to support printf in NO_FILESYSTEM | |
var stream = SYSCALLS.get(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); | |
var ret = 0; | |
if (!___syscall146.buffers) { | |
___syscall146.buffers = [null, [], []]; // 1 => stdout, 2 => stderr | |
___syscall146.printChar = function(stream, curr) { | |
var buffer = ___syscall146.buffers[stream]; | |
assert(buffer); | |
if (curr === 0 || curr === 10) { | |
(stream === 1 ? Module['print'] : Module['printErr'])(UTF8ArrayToString(buffer, 0)); | |
buffer.length = 0; | |
} else { | |
buffer.push(curr); | |
} | |
}; | |
} | |
for (var i = 0; i < iovcnt; i++) { | |
var ptr = HEAP32[(((iov)+(i*8))>>2)]; | |
var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; | |
for (var j = 0; j < len; j++) { | |
___syscall146.printChar(stream, HEAPU8[ptr+j]); | |
} | |
ret += len; | |
} | |
return ret; | |
} catch (e) { | |
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
return -e.errno; | |
} | |
} | |
function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; | |
try { | |
// ioctl | |
return 0; | |
} catch (e) { | |
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
return -e.errno; | |
} | |
} | |
function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; | |
try { | |
// close | |
var stream = SYSCALLS.getStreamFromFD(); | |
FS.close(stream); | |
return 0; | |
} catch (e) { | |
if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); | |
return -e.errno; | |
} | |
} | |
var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); | |
function ___unlock() {} | |
function ___wait() {} | |
function __exit(status) { | |
// void _exit(int status); | |
// http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html | |
Module['exit'](status); | |
}function _exit(status) { | |
__exit(status); | |
} | |
function _emscripten_memcpy_big(dest, src, num) { | |
HEAPU8.set(HEAPU8.subarray(src, src+num), dest); | |
return dest; | |
} | |
function ___setErrNo(value) { | |
if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; | |
else Module.printErr('failed to set errno from JS'); | |
return value; | |
} | |
DYNAMICTOP_PTR = staticAlloc(4); | |
STACK_BASE = STACKTOP = alignMemory(STATICTOP); | |
STACK_MAX = STACK_BASE + TOTAL_STACK; | |
DYNAMIC_BASE = alignMemory(STACK_MAX); | |
HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; | |
staticSealed = true; // seal the static portion of memory | |
assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); | |
var ASSERTIONS = true; | |
/** @type {function(string, boolean=, number=)} */ | |
function intArrayFromString(stringy, dontAddNull, length) { | |
var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; | |
var u8array = new Array(len); | |
var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); | |
if (dontAddNull) u8array.length = numBytesWritten; | |
return u8array; | |
} | |
function intArrayToString(array) { | |
var ret = []; | |
for (var i = 0; i < array.length; i++) { | |
var chr = array[i]; | |
if (chr > 0xFF) { | |
if (ASSERTIONS) { | |
assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); | |
} | |
chr &= 0xFF; | |
} | |
ret.push(String.fromCharCode(chr)); | |
} | |
return ret.join(''); | |
} | |
// Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149 | |
// This code was written by Tyler Akins and has been placed in the | |
// public domain. It would be nice if you left this header intact. | |
// Base64 code from Tyler Akins -- http://rumkin.com | |
/** | |
* Decodes a base64 string. | |
* @param {String} input The string to decode. | |
*/ | |
var decodeBase64 = typeof atob === 'function' ? atob : function (input) { | |
var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; | |
var output = ''; | |
var chr1, chr2, chr3; | |
var enc1, enc2, enc3, enc4; | |
var i = 0; | |
// remove all characters that are not A-Z, a-z, 0-9, +, /, or = | |
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); | |
do { | |
enc1 = keyStr.indexOf(input.charAt(i++)); | |
enc2 = keyStr.indexOf(input.charAt(i++)); | |
enc3 = keyStr.indexOf(input.charAt(i++)); | |
enc4 = keyStr.indexOf(input.charAt(i++)); | |
chr1 = (enc1 << 2) | (enc2 >> 4); | |
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); | |
chr3 = ((enc3 & 3) << 6) | enc4; | |
output = output + String.fromCharCode(chr1); | |
if (enc3 !== 64) { | |
output = output + String.fromCharCode(chr2); | |
} | |
if (enc4 !== 64) { | |
output = output + String.fromCharCode(chr3); | |
} | |
} while (i < input.length); | |
return output; | |
}; | |
// Converts a string of base64 into a byte array. | |
// Throws error on invalid input. | |
function intArrayFromBase64(s) { | |
if (typeof ENVIRONMENT_IS_NODE === 'boolean' && ENVIRONMENT_IS_NODE) { | |
var buf; | |
try { | |
buf = Buffer.from(s, 'base64'); | |
} catch (_) { | |
buf = new Buffer(s, 'base64'); | |
} | |
return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); | |
} | |
try { | |
var decoded = decodeBase64(s); | |
var bytes = new Uint8Array(decoded.length); | |
for (var i = 0 ; i < decoded.length ; ++i) { | |
bytes[i] = decoded.charCodeAt(i); | |
} | |
return bytes; | |
} catch (_) { | |
throw new Error('Converting base64 string to bytes failed.'); | |
} | |
} | |
// If filename is a base64 data URI, parses and returns data (Buffer on node, | |
// Uint8Array otherwise). If filename is not a base64 data URI, returns undefined. | |
function tryParseAsDataURI(filename) { | |
if (!isDataURI(filename)) { | |
return; | |
} | |
return intArrayFromBase64(filename.slice(dataURIPrefix.length)); | |
} | |
function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } | |
function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } | |
function invoke_ii(index,a1) { | |
try { | |
return Module["dynCall_ii"](index,a1); | |
} catch(e) { | |
if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
Module["setThrew"](1, 0); | |
} | |
} | |
function invoke_iiii(index,a1,a2,a3) { | |
try { | |
return Module["dynCall_iiii"](index,a1,a2,a3); | |
} catch(e) { | |
if (typeof e !== 'number' && e !== 'longjmp') throw e; | |
Module["setThrew"](1, 0); | |
} | |
} | |
Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; | |
Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_ii": nullFunc_ii, "nullFunc_iiii": nullFunc_iiii, "invoke_ii": invoke_ii, "invoke_iiii": invoke_iiii, "___assert_fail": ___assert_fail, "___lock": ___lock, "___setErrNo": ___setErrNo, "___syscall140": ___syscall140, "___syscall146": ___syscall146, "___syscall54": ___syscall54, "___syscall6": ___syscall6, "___unlock": ___unlock, "___wait": ___wait, "__exit": __exit, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_exit": _exit, "flush_NO_FILESYSTEM": flush_NO_FILESYSTEM, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; | |
// EMSCRIPTEN_START_ASM | |
var asm = (/** @suppress {uselessCode} */ function(global, env, buffer) { | |
'almost asm'; | |
var HEAP8 = new global.Int8Array(buffer); | |
var HEAP16 = new global.Int16Array(buffer); | |
var HEAP32 = new global.Int32Array(buffer); | |
var HEAPU8 = new global.Uint8Array(buffer); | |
var HEAPU16 = new global.Uint16Array(buffer); | |
var HEAPU32 = new global.Uint32Array(buffer); | |
var HEAPF32 = new global.Float32Array(buffer); | |
var HEAPF64 = new global.Float64Array(buffer); | |
var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; | |
var tempDoublePtr=env.tempDoublePtr|0; | |
var ABORT=env.ABORT|0; | |
var STACKTOP=env.STACKTOP|0; | |
var STACK_MAX=env.STACK_MAX|0; | |
var cttz_i8=env.cttz_i8|0; | |
var __THREW__ = 0; | |
var threwValue = 0; | |
var setjmpId = 0; | |
var undef = 0; | |
var nan = global.NaN, inf = global.Infinity; | |
var tempInt = 0, tempBigInt = 0, tempBigIntS = 0, tempValue = 0, tempDouble = 0.0; | |
var tempRet0 = 0; | |
var Math_floor=global.Math.floor; | |
var Math_abs=global.Math.abs; | |
var Math_sqrt=global.Math.sqrt; | |
var Math_pow=global.Math.pow; | |
var Math_cos=global.Math.cos; | |
var Math_sin=global.Math.sin; | |
var Math_tan=global.Math.tan; | |
var Math_acos=global.Math.acos; | |
var Math_asin=global.Math.asin; | |
var Math_atan=global.Math.atan; | |
var Math_atan2=global.Math.atan2; | |
var Math_exp=global.Math.exp; | |
var Math_log=global.Math.log; | |
var Math_ceil=global.Math.ceil; | |
var Math_imul=global.Math.imul; | |
var Math_min=global.Math.min; | |
var Math_max=global.Math.max; | |
var Math_clz32=global.Math.clz32; | |
var abort=env.abort; | |
var assert=env.assert; | |
var enlargeMemory=env.enlargeMemory; | |
var getTotalMemory=env.getTotalMemory; | |
var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; | |
var abortStackOverflow=env.abortStackOverflow; | |
var nullFunc_ii=env.nullFunc_ii; | |
var nullFunc_iiii=env.nullFunc_iiii; | |
var invoke_ii=env.invoke_ii; | |
var invoke_iiii=env.invoke_iiii; | |
var ___assert_fail=env.___assert_fail; | |
var ___lock=env.___lock; | |
var ___setErrNo=env.___setErrNo; | |
var ___syscall140=env.___syscall140; | |
var ___syscall146=env.___syscall146; | |
var ___syscall54=env.___syscall54; | |
var ___syscall6=env.___syscall6; | |
var ___unlock=env.___unlock; | |
var ___wait=env.___wait; | |
var __exit=env.__exit; | |
var _emscripten_memcpy_big=env._emscripten_memcpy_big; | |
var _exit=env._exit; | |
var flush_NO_FILESYSTEM=env.flush_NO_FILESYSTEM; | |
var tempFloat = 0.0; | |
// EMSCRIPTEN_START_FUNCS | |
function stackAlloc(size) { | |
size = size|0; | |
var ret = 0; | |
ret = STACKTOP; | |
STACKTOP = (STACKTOP + size)|0; | |
STACKTOP = (STACKTOP + 15)&-16; | |
if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); | |
return ret|0; | |
} | |
function stackSave() { | |
return STACKTOP|0; | |
} | |
function stackRestore(top) { | |
top = top|0; | |
STACKTOP = top; | |
} | |
function establishStackSpace(stackBase, stackMax) { | |
stackBase = stackBase|0; | |
stackMax = stackMax|0; | |
STACKTOP = stackBase; | |
STACK_MAX = stackMax; | |
} | |
function setThrew(threw, value) { | |
threw = threw|0; | |
value = value|0; | |
if ((__THREW__|0) == 0) { | |
__THREW__ = threw; | |
threwValue = value; | |
} | |
} | |
function setTempRet0(value) { | |
value = value|0; | |
tempRet0 = value; | |
} | |
function getTempRet0() { | |
return tempRet0|0; | |
} | |
function _flip() { | |
var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$0 = HEAP32[1022]|0; | |
$1 = HEAP32[1023]|0; | |
$2 = ($0|0)==($1|0); | |
$3 = HEAP32[1023]|0; | |
$4 = HEAP32[2]|0; | |
$5 = (($3) + ($4<<2)|0); | |
$6 = $2 ? $5 : $3; | |
HEAP32[1022] = $6; | |
$7 = HEAP32[1022]|0; | |
HEAP32[1024] = $7; | |
HEAP32[1025] = $7; | |
$8 = HEAP32[1022]|0; | |
$9 = HEAP32[2]|0; | |
$10 = (($8) + ($9<<2)|0); | |
HEAP32[1026] = $10; | |
return; | |
} | |
function _error() { | |
var $vararg_buffer = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$vararg_buffer = sp; | |
(_printf(729,$vararg_buffer)|0); | |
_exit(1); | |
// unreachable; | |
} | |
function _tospace($0) { | |
$0 = $0|0; | |
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$1 = $0; | |
$2 = $1; | |
$3 = HEAP32[1022]|0; | |
$4 = $2; | |
$5 = $3; | |
$6 = (($4) - ($5))|0; | |
$7 = (($6|0) / 4)&-1; | |
$8 = HEAP32[2]|0; | |
$9 = ($7>>>0)<($8>>>0); | |
STACKTOP = sp;return ($9|0); | |
} | |
function _fromspace($0) { | |
$0 = $0|0; | |
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$1 = $0; | |
$2 = $1; | |
$3 = (_tospace($2)|0); | |
$4 = $3 ^ 1; | |
STACKTOP = sp;return ($4|0); | |
} | |
function _cons($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; | |
var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; | |
var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; | |
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; | |
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; | |
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; | |
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; | |
var $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); | |
$vararg_buffer1 = sp + 8|0; | |
$vararg_buffer = sp; | |
$2 = $0; | |
$3 = $1; | |
$8 = HEAP32[1024]|0; | |
$9 = HEAP32[1026]|0; | |
$10 = ($8|0)==($9|0); | |
if ($10) { | |
_flip(); | |
(_printf(745,$vararg_buffer)|0); | |
$5 = 0; | |
while(1) { | |
$11 = $5; | |
$12 = ($11|0)<(32); | |
if (!($12)) { | |
break; | |
} | |
$13 = $5; | |
$14 = (4108 + ($13<<2)|0); | |
$15 = HEAP32[$14>>2]|0; | |
$16 = (_move($15)|0); | |
$17 = $5; | |
$18 = (4108 + ($17<<2)|0); | |
HEAP32[$18>>2] = $16; | |
$19 = $5; | |
$20 = (($19) + 1)|0; | |
$5 = $20; | |
} | |
$21 = $2; | |
$22 = (_move($21)|0); | |
$2 = $22; | |
$23 = $3; | |
$24 = (_move($23)|0); | |
$3 = $24; | |
$25 = HEAP8[728]|0; | |
$26 = $25&1; | |
if (!($26)) { | |
while(1) { | |
$27 = HEAP32[1025]|0; | |
$28 = HEAP32[1024]|0; | |
$29 = ($27>>>0)<($28>>>0); | |
if (!($29)) { | |
break; | |
} | |
$30 = HEAP32[1025]|0; | |
$31 = HEAP32[$30>>2]|0; | |
$32 = (_move($31)|0); | |
$33 = HEAP32[1025]|0; | |
HEAP32[$33>>2] = $32; | |
$34 = HEAP32[1025]|0; | |
$35 = ((($34)) + 4|0); | |
$36 = HEAP32[$35>>2]|0; | |
$37 = (_move($36)|0); | |
$38 = HEAP32[1025]|0; | |
$39 = ((($38)) + 4|0); | |
HEAP32[$39>>2] = $37; | |
$40 = HEAP32[1025]|0; | |
$41 = ((($40)) + 8|0); | |
HEAP32[1025] = $41; | |
} | |
$42 = HEAP32[1024]|0; | |
$43 = HEAP32[1022]|0; | |
$44 = $42; | |
$45 = $43; | |
$46 = (($44) - ($45))|0; | |
$47 = (($46|0) / 4)&-1; | |
HEAP32[$vararg_buffer1>>2] = $47; | |
(_printf(751,$vararg_buffer1)|0); | |
} | |
} | |
$48 = HEAP8[728]|0; | |
$49 = $48&1; | |
L12: do { | |
if ($49) { | |
$6 = 0; | |
while(1) { | |
$50 = $6; | |
$51 = HEAP32[3]|0; | |
$52 = ($50>>>0)<($51>>>0); | |
if (!($52)) { | |
break L12; | |
} | |
$53 = HEAP32[1025]|0; | |
$54 = HEAP32[1024]|0; | |
$55 = ($53>>>0)<($54>>>0); | |
if (!($55)) { | |
break L12; | |
} | |
$56 = HEAP32[1025]|0; | |
$57 = HEAP32[$56>>2]|0; | |
$58 = (_move($57)|0); | |
$59 = HEAP32[1025]|0; | |
HEAP32[$59>>2] = $58; | |
$60 = HEAP32[1025]|0; | |
$61 = ((($60)) + 4|0); | |
$62 = HEAP32[$61>>2]|0; | |
$63 = (_move($62)|0); | |
$64 = HEAP32[1025]|0; | |
$65 = ((($64)) + 4|0); | |
HEAP32[$65>>2] = $63; | |
$66 = HEAP32[1025]|0; | |
$67 = ((($66)) + 8|0); | |
HEAP32[1025] = $67; | |
$68 = $6; | |
$69 = (($68) + 1)|0; | |
$6 = $69; | |
} | |
} | |
} while(0); | |
$70 = HEAP32[1023]|0; | |
$7 = $70; | |
while(1) { | |
$71 = $7; | |
$72 = HEAP32[1023]|0; | |
$73 = $71; | |
$74 = $72; | |
$75 = (($73) - ($74))|0; | |
$76 = (($75|0) / 4)&-1; | |
$77 = HEAP32[2]|0; | |
$78 = (($76>>>0) % ($77>>>0))&-1; | |
$79 = ($78|0)==(0); | |
if ($79) { | |
(_putchar(124)|0); | |
} | |
$80 = $7; | |
$81 = HEAP32[1025]|0; | |
$82 = ($80|0)==($81|0); | |
if ($82) { | |
(_putchar(83)|0); | |
} | |
$83 = $7; | |
$84 = HEAP32[1024]|0; | |
$85 = ($83|0)==($84|0); | |
if ($85) { | |
(_putchar(66)|0); | |
} | |
$86 = $7; | |
$87 = HEAP32[1026]|0; | |
$88 = ($86|0)==($87|0); | |
if ($88) { | |
(_putchar(84)|0); | |
} | |
$89 = $7; | |
$90 = HEAP32[1023]|0; | |
$91 = HEAP32[2]|0; | |
$92 = $91<<1; | |
$93 = (($90) + ($92<<2)|0); | |
$94 = ($89|0)==($93|0); | |
if ($94) { | |
break; | |
} | |
$95 = $7; | |
$96 = (_fromspace($95)|0); | |
do { | |
if ($96) { | |
$97 = $7; | |
$98 = HEAP32[$97>>2]|0; | |
$99 = (_tospace($98)|0); | |
$100 = $99 ? 43 : 32; | |
(_putchar($100)|0); | |
} else { | |
$101 = HEAP8[728]|0; | |
$102 = $101&1; | |
if (!($102)) { | |
$103 = $7; | |
$104 = HEAP32[1025]|0; | |
$105 = ($103>>>0)<($104>>>0); | |
if ($105) { | |
(_putchar(114)|0); | |
break; | |
} | |
} | |
$106 = HEAP8[728]|0; | |
$107 = $106&1; | |
if (!($107)) { | |
$108 = $7; | |
$109 = HEAP32[1024]|0; | |
$110 = ($108>>>0)<($109>>>0); | |
if ($110) { | |
(_putchar(110)|0); | |
break; | |
} | |
} | |
$111 = HEAP8[728]|0; | |
$112 = $111&1; | |
if ($112) { | |
$113 = $7; | |
$114 = HEAP32[1025]|0; | |
$115 = ($113>>>0)<($114>>>0); | |
if ($115) { | |
(_putchar(114)|0); | |
break; | |
} | |
} | |
$116 = HEAP8[728]|0; | |
$117 = $116&1; | |
if ($117) { | |
$118 = $7; | |
$119 = HEAP32[1024]|0; | |
$120 = ($118>>>0)<($119>>>0); | |
if ($120) { | |
(_putchar(116)|0); | |
break; | |
} | |
} | |
$121 = HEAP8[728]|0; | |
$122 = $121&1; | |
if ($122) { | |
$123 = HEAP32[1026]|0; | |
$124 = $7; | |
$125 = ($123>>>0)<=($124>>>0); | |
if ($125) { | |
(_putchar(110)|0); | |
break; | |
} | |
} | |
(_putchar(95)|0); | |
} | |
} while(0); | |
$126 = $7; | |
$127 = ((($126)) + 8|0); | |
$7 = $127; | |
} | |
(_putchar(10)|0); | |
$128 = HEAP32[1026]|0; | |
$129 = HEAP32[1024]|0; | |
$130 = ($128>>>0)<=($129>>>0); | |
if ($130) { | |
_error(); | |
} | |
$131 = HEAP8[728]|0; | |
$132 = $131&1; | |
if ($132) { | |
$136 = HEAP32[1026]|0; | |
$137 = ((($136)) + -8|0); | |
HEAP32[1026] = $137; | |
$138 = HEAP32[1026]|0; | |
$4 = $138; | |
$139 = $2; | |
$140 = $4; | |
HEAP32[$140>>2] = $139; | |
$141 = $3; | |
$142 = $4; | |
$143 = ((($142)) + 4|0); | |
HEAP32[$143>>2] = $141; | |
$144 = $4; | |
STACKTOP = sp;return ($144|0); | |
} else { | |
$133 = HEAP32[1024]|0; | |
$4 = $133; | |
$134 = HEAP32[1024]|0; | |
$135 = ((($134)) + 8|0); | |
HEAP32[1024] = $135; | |
$139 = $2; | |
$140 = $4; | |
HEAP32[$140>>2] = $139; | |
$141 = $3; | |
$142 = $4; | |
$143 = ((($142)) + 4|0); | |
HEAP32[$143>>2] = $141; | |
$144 = $4; | |
STACKTOP = sp;return ($144|0); | |
} | |
return (0)|0; | |
} | |
function _move($0) { | |
$0 = $0|0; | |
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; | |
var sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$2 = $0; | |
$3 = $2; | |
$4 = (_atom($3)|0); | |
if (!($4)) { | |
$5 = $2; | |
$6 = (_fromspace($5)|0); | |
if ($6) { | |
$8 = $2; | |
$9 = HEAP32[$8>>2]|0; | |
$10 = (_atom($9)|0); | |
if ($10) { | |
label = 6; | |
} else { | |
$11 = $2; | |
$12 = HEAP32[$11>>2]|0; | |
$13 = (_tospace($12)|0); | |
if (!($13)) { | |
label = 6; | |
} | |
} | |
if ((label|0) == 6) { | |
$14 = $2; | |
$15 = (_copy($14)|0); | |
$16 = $2; | |
HEAP32[$16>>2] = $15; | |
} | |
$17 = $2; | |
$18 = HEAP32[$17>>2]|0; | |
$1 = $18; | |
$19 = $1; | |
STACKTOP = sp;return ($19|0); | |
} | |
} | |
$7 = $2; | |
$1 = $7; | |
$19 = $1; | |
STACKTOP = sp;return ($19|0); | |
} | |
function _car($0) { | |
$0 = $0|0; | |
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$2 = $0; | |
$3 = HEAP8[728]|0; | |
$4 = $3&1; | |
$5 = $2; | |
$6 = HEAP32[$5>>2]|0; | |
if ($4) { | |
$1 = $6; | |
} else { | |
$7 = (_move($6)|0); | |
$1 = $7; | |
} | |
$8 = $1; | |
STACKTOP = sp;return ($8|0); | |
} | |
function _cdr($0) { | |
$0 = $0|0; | |
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$2 = $0; | |
$3 = HEAP8[728]|0; | |
$4 = $3&1; | |
$5 = $2; | |
$6 = ((($5)) + 4|0); | |
$7 = HEAP32[$6>>2]|0; | |
if ($4) { | |
$1 = $7; | |
} else { | |
$8 = (_move($7)|0); | |
$1 = $8; | |
} | |
$9 = $1; | |
STACKTOP = sp;return ($9|0); | |
} | |
function _rplacd($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$2 = $0; | |
$3 = $1; | |
$4 = $3; | |
$5 = $2; | |
$6 = ((($5)) + 4|0); | |
HEAP32[$6>>2] = $4; | |
STACKTOP = sp;return; | |
} | |
function _atom($0) { | |
$0 = $0|0; | |
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$1 = $0; | |
$2 = $1; | |
$3 = HEAP32[1023]|0; | |
$4 = ($2>>>0)<=($3>>>0); | |
if ($4) { | |
$15 = 1; | |
} else { | |
$5 = HEAP32[1023]|0; | |
$6 = HEAP32[2]|0; | |
$7 = $6<<1; | |
$8 = (($5) + ($7<<2)|0); | |
$9 = $1; | |
$10 = ($8>>>0)<=($9>>>0); | |
if ($10) { | |
$15 = 1; | |
} else { | |
$11 = $1; | |
$12 = $11; | |
$13 = $12 & 1; | |
$14 = ($13|0)!=(0); | |
$15 = $14; | |
} | |
} | |
STACKTOP = sp;return ($15|0); | |
} | |
function _integerp($0) { | |
$0 = $0|0; | |
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$1 = $0; | |
$2 = $1; | |
$3 = $2; | |
$4 = $3 & 1; | |
$5 = ($4|0)!=(0); | |
STACKTOP = sp;return ($5|0); | |
} | |
function _getinteger($0) { | |
$0 = $0|0; | |
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$1 = $0; | |
$2 = $1; | |
$3 = $2; | |
$4 = $3 >> 1; | |
STACKTOP = sp;return ($4|0); | |
} | |
function _integer($0) { | |
$0 = $0|0; | |
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$1 = $0; | |
$3 = $1; | |
$4 = $3<<1; | |
$5 = (($4) + 1)|0; | |
$6 = $5; | |
$2 = $6; | |
$7 = $2; | |
$8 = (_atom($7)|0); | |
if (!($8)) { | |
___assert_fail((774|0),(782|0),164,(792|0)); | |
// unreachable; | |
} | |
$9 = $2; | |
$10 = (_integerp($9)|0); | |
if (!($10)) { | |
___assert_fail((800|0),(782|0),165,(792|0)); | |
// unreachable; | |
} | |
$11 = $2; | |
$12 = (_getinteger($11)|0); | |
$13 = $1; | |
$14 = ($12|0)==($13|0); | |
if ($14) { | |
$15 = $2; | |
STACKTOP = sp;return ($15|0); | |
} else { | |
___assert_fail((812|0),(782|0),166,(792|0)); | |
// unreachable; | |
} | |
return (0)|0; | |
} | |
function _copy($0) { | |
$0 = $0|0; | |
var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$1 = $0; | |
$2 = $1; | |
$3 = (_atom($2)|0); | |
if ($3) { | |
___assert_fail((831|0),(782|0),184,(840|0)); | |
// unreachable; | |
} | |
$4 = HEAP32[1024]|0; | |
$5 = HEAP32[1026]|0; | |
$6 = ($4>>>0)>=($5>>>0); | |
if ($6) { | |
_error(); | |
} | |
$7 = HEAP32[1024]|0; | |
$8 = $1; | |
;HEAP32[$7>>2]=HEAP32[$8>>2]|0; | |
$9 = HEAP32[1024]|0; | |
$10 = ((($9)) + 4|0); | |
$11 = $1; | |
$12 = ((($11)) + 4|0); | |
;HEAP32[$10>>2]=HEAP32[$12>>2]|0; | |
$13 = HEAP32[1024]|0; | |
$14 = ((($13)) + 8|0); | |
HEAP32[1024] = $14; | |
$15 = HEAP32[1024]|0; | |
$16 = ((($15)) + -8|0); | |
STACKTOP = sp;return ($16|0); | |
} | |
function _workload() { | |
var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; | |
var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; | |
var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); | |
$vararg_buffer3 = sp + 16|0; | |
$vararg_buffer1 = sp + 8|0; | |
$vararg_buffer = sp; | |
$0 = 28; | |
while(1) { | |
$2 = $0; | |
$3 = (2)<=($2|0); | |
if (!($3)) { | |
break; | |
} | |
$4 = $0; | |
$5 = (_integer($4)|0); | |
$6 = HEAP32[1027]|0; | |
$7 = (_cons($5,$6)|0); | |
HEAP32[1027] = $7; | |
$8 = $0; | |
$9 = (($8) + -1)|0; | |
$0 = $9; | |
} | |
(_printf(845,$vararg_buffer)|0); | |
while(1) { | |
$10 = HEAP32[1027]|0; | |
$11 = (_atom($10)|0); | |
$12 = $11 ^ 1; | |
if (!($12)) { | |
break; | |
} | |
$13 = HEAP32[1027]|0; | |
$14 = (_car($13)|0); | |
$15 = (_getinteger($14)|0); | |
$1 = $15; | |
$16 = HEAP32[1027]|0; | |
$17 = (_car($16)|0); | |
$18 = HEAP32[(4116)>>2]|0; | |
$19 = (_cons($17,$18)|0); | |
HEAP32[(4116)>>2] = $19; | |
$20 = HEAP32[1027]|0; | |
HEAP32[(4112)>>2] = $20; | |
while(1) { | |
$21 = HEAP32[(4112)>>2]|0; | |
$22 = (_cdr($21)|0); | |
$23 = (_atom($22)|0); | |
$24 = $23 ^ 1; | |
if (!($24)) { | |
break; | |
} | |
$25 = HEAP32[(4112)>>2]|0; | |
$26 = (_cdr($25)|0); | |
$27 = (_car($26)|0); | |
$28 = (_getinteger($27)|0); | |
$29 = $1; | |
$30 = (($28|0) % ($29|0))&-1; | |
$31 = ($30|0)==(0); | |
$32 = HEAP32[(4112)>>2]|0; | |
if ($31) { | |
$33 = HEAP32[(4112)>>2]|0; | |
$34 = (_cdr($33)|0); | |
$35 = (_cdr($34)|0); | |
_rplacd($32,$35); | |
continue; | |
} else { | |
$36 = (_cdr($32)|0); | |
HEAP32[(4112)>>2] = $36; | |
continue; | |
} | |
} | |
$37 = HEAP32[1027]|0; | |
$38 = (_cdr($37)|0); | |
HEAP32[1027] = $38; | |
} | |
while(1) { | |
$39 = HEAP32[(4116)>>2]|0; | |
$40 = (_atom($39)|0); | |
$41 = $40 ^ 1; | |
if (!($41)) { | |
break; | |
} | |
$42 = HEAP32[(4116)>>2]|0; | |
$43 = (_car($42)|0); | |
$44 = (_getinteger($43)|0); | |
HEAP32[$vararg_buffer1>>2] = $44; | |
(_printf(856,$vararg_buffer1)|0); | |
$45 = HEAP32[(4116)>>2]|0; | |
$46 = (_cdr($45)|0); | |
HEAP32[(4116)>>2] = $46; | |
} | |
(_printf(861,$vararg_buffer3)|0); | |
STACKTOP = sp;return; | |
} | |
function _usage($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); | |
$vararg_buffer = sp; | |
$3 = $0; | |
$4 = $1; | |
$5 = $2; | |
$6 = HEAP32[5]|0; | |
$7 = $4; | |
$8 = $5; | |
$9 = $3; | |
HEAP32[$vararg_buffer>>2] = $7; | |
$vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
HEAP32[$vararg_ptr1>>2] = $8; | |
$vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
HEAP32[$vararg_ptr2>>2] = $9; | |
(_fprintf($6,863,$vararg_buffer)|0); | |
_exit(1); | |
// unreachable; | |
} | |
function _main($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; | |
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; | |
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; | |
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); | |
$vararg_buffer = sp; | |
$7 = sp + 8|0; | |
$8 = sp + 28|0; | |
$2 = 0; | |
$3 = $0; | |
$4 = $1; | |
L1: while(1) { | |
$10 = $3; | |
$11 = $4; | |
$12 = (_getopt($10,$11,1080)|0); | |
$13 = $12&255; | |
$5 = $13; | |
$14 = $13 << 24 >> 24; | |
$15 = ($14|0)!=(-1); | |
if (!($15)) { | |
break; | |
} | |
$16 = $5; | |
$17 = $16 << 24 >> 24; | |
switch ($17|0) { | |
case 105: { | |
$18 = HEAP32[1184]|0; | |
$19 = (_strtol($18,$7,10)|0); | |
$6 = $19; | |
$20 = HEAP32[$7>>2]|0; | |
$21 = HEAP8[$20>>0]|0; | |
$22 = ($21<<24>>24)!=(0); | |
if ($22) { | |
$23 = $4; | |
$24 = HEAP32[$23>>2]|0; | |
$25 = HEAP32[1184]|0; | |
_usage($24,1087,$25); | |
} | |
$26 = $6; | |
$27 = ($26|0)!=(0); | |
$28 = $27&1; | |
HEAP8[728] = $28; | |
continue L1; | |
break; | |
} | |
case 115: { | |
$29 = HEAP32[1184]|0; | |
$30 = (_strtol($29,$7,10)|0); | |
$31 = $30<<1; | |
HEAP32[2] = $31; | |
$32 = HEAP32[$7>>2]|0; | |
$33 = HEAP8[$32>>0]|0; | |
$34 = ($33<<24>>24)!=(0); | |
if (!($34)) { | |
continue L1; | |
} | |
$35 = $4; | |
$36 = HEAP32[$35>>2]|0; | |
$37 = HEAP32[1184]|0; | |
_usage($36,1109,$37); | |
continue L1; | |
break; | |
} | |
case 107: { | |
$38 = HEAP32[1184]|0; | |
$39 = (_strtol($38,$7,10)|0); | |
$40 = $39<<1; | |
HEAP32[3] = $40; | |
$41 = HEAP32[3]|0; | |
$42 = ($41>>>0)<(1); | |
if ($42) { | |
label = 11; | |
} else { | |
$43 = HEAP32[$7>>2]|0; | |
$44 = HEAP8[$43>>0]|0; | |
$45 = $44 << 24 >> 24; | |
$46 = ($45|0)!=(0); | |
if ($46) { | |
label = 11; | |
} | |
} | |
if ((label|0) == 11) { | |
label = 0; | |
$47 = $4; | |
$48 = HEAP32[$47>>2]|0; | |
$49 = HEAP32[1184]|0; | |
_usage($48,1128,$49); | |
} | |
HEAP8[728] = 1; | |
continue L1; | |
break; | |
} | |
default: { | |
$50 = $5; | |
HEAP8[$8>>0] = $50; | |
$51 = ((($8)) + 1|0); | |
HEAP8[$51>>0] = 0; | |
$52 = $4; | |
$53 = HEAP32[$52>>2]|0; | |
_usage($53,1155,$8); | |
continue L1; | |
} | |
} | |
} | |
$54 = HEAP32[4]|0; | |
$55 = $3; | |
$56 = (($55) - ($54))|0; | |
$3 = $56; | |
$57 = HEAP32[4]|0; | |
$58 = $4; | |
$59 = (($58) + ($57<<2)|0); | |
$4 = $59; | |
$60 = HEAP8[728]|0; | |
$61 = $60&1; | |
if ($61) { | |
(_printf(1172,$vararg_buffer)|0); | |
} | |
$62 = HEAP32[2]|0; | |
$63 = $62<<1; | |
$64 = (_calloc(4,$63)|0); | |
HEAP32[1023] = $64; | |
HEAP32[1022] = $64; | |
_flip(); | |
$9 = 0; | |
while(1) { | |
$65 = $9; | |
$66 = ($65|0)<(32); | |
if (!($66)) { | |
break; | |
} | |
$67 = (_integer(666)|0); | |
$68 = $9; | |
$69 = (4108 + ($68<<2)|0); | |
HEAP32[$69>>2] = $67; | |
$70 = $9; | |
$71 = (($70) + 1)|0; | |
$9 = $71; | |
} | |
_workload(); | |
STACKTOP = sp;return 0; | |
} | |
function _malloc($0) { | |
$0 = $0|0; | |
var $$$0172$i = 0, $$$0173$i = 0, $$$4236$i = 0, $$$4329$i = 0, $$$i = 0, $$0 = 0, $$0$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i20$i = 0, $$0172$lcssa$i = 0, $$01724$i = 0, $$0173$lcssa$i = 0, $$01733$i = 0, $$0192 = 0, $$0194 = 0, $$0201$i$i = 0, $$0202$i$i = 0, $$0206$i$i = 0, $$0207$i$i = 0; | |
var $$024367$i = 0, $$0260$i$i = 0, $$0261$i$i = 0, $$0262$i$i = 0, $$0268$i$i = 0, $$0269$i$i = 0, $$0320$i = 0, $$0322$i = 0, $$0323$i = 0, $$0325$i = 0, $$0331$i = 0, $$0336$i = 0, $$0337$$i = 0, $$0337$i = 0, $$0339$i = 0, $$0340$i = 0, $$0345$i = 0, $$1176$i = 0, $$1178$i = 0, $$124466$i = 0; | |
var $$1264$i$i = 0, $$1266$i$i = 0, $$1321$i = 0, $$1326$i = 0, $$1341$i = 0, $$1347$i = 0, $$1351$i = 0, $$2234243136$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2333$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i199 = 0, $$3328$i = 0, $$3349$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$4236$i = 0, $$4329$lcssa$i = 0; | |
var $$43298$i = 0, $$4335$$4$i = 0, $$4335$ph$i = 0, $$43357$i = 0, $$49$i = 0, $$723947$i = 0, $$748$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i17$i = 0, $$pre$i195 = 0, $$pre$i207 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i18$iZ2D = 0, $$pre$phi$i208Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phiZ2D = 0, $$sink1$i = 0, $$sink1$i$i = 0; | |
var $$sink12$i = 0, $$sink2$i = 0, $$sink2$i202 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0; | |
var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0; | |
var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0; | |
var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0; | |
var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0; | |
var $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; | |
var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; | |
var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; | |
var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; | |
var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; | |
var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; | |
var $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0; | |
var $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0; | |
var $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0; | |
var $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0; | |
var $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0; | |
var $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0; | |
var $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0; | |
var $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0; | |
var $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0; | |
var $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0; | |
var $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0; | |
var $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0; | |
var $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0; | |
var $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0; | |
var $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0; | |
var $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0; | |
var $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0; | |
var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0; | |
var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0; | |
var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0; | |
var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0; | |
var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0; | |
var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0; | |
var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0; | |
var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0; | |
var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0; | |
var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0; | |
var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0; | |
var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0; | |
var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0; | |
var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0; | |
var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0; | |
var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0; | |
var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0; | |
var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0; | |
var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0; | |
var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0; | |
var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $98 = 0, $99 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i206 = 0, $not$$i = 0, $not$3$i = 0; | |
var $or$cond$i = 0, $or$cond$i200 = 0, $or$cond1$i = 0, $or$cond1$i198 = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond49$i = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond7$i = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$1 = sp; | |
$2 = ($0>>>0)<(245); | |
do { | |
if ($2) { | |
$3 = ($0>>>0)<(11); | |
$4 = (($0) + 11)|0; | |
$5 = $4 & -8; | |
$6 = $3 ? 16 : $5; | |
$7 = $6 >>> 3; | |
$8 = HEAP32[1059]|0; | |
$9 = $8 >>> $7; | |
$10 = $9 & 3; | |
$11 = ($10|0)==(0); | |
if (!($11)) { | |
$12 = $9 & 1; | |
$13 = $12 ^ 1; | |
$14 = (($13) + ($7))|0; | |
$15 = $14 << 1; | |
$16 = (4276 + ($15<<2)|0); | |
$17 = ((($16)) + 8|0); | |
$18 = HEAP32[$17>>2]|0; | |
$19 = ((($18)) + 8|0); | |
$20 = HEAP32[$19>>2]|0; | |
$21 = ($20|0)==($16|0); | |
if ($21) { | |
$22 = 1 << $14; | |
$23 = $22 ^ -1; | |
$24 = $8 & $23; | |
HEAP32[1059] = $24; | |
} else { | |
$25 = ((($20)) + 12|0); | |
HEAP32[$25>>2] = $16; | |
HEAP32[$17>>2] = $20; | |
} | |
$26 = $14 << 3; | |
$27 = $26 | 3; | |
$28 = ((($18)) + 4|0); | |
HEAP32[$28>>2] = $27; | |
$29 = (($18) + ($26)|0); | |
$30 = ((($29)) + 4|0); | |
$31 = HEAP32[$30>>2]|0; | |
$32 = $31 | 1; | |
HEAP32[$30>>2] = $32; | |
$$0 = $19; | |
STACKTOP = sp;return ($$0|0); | |
} | |
$33 = HEAP32[(4244)>>2]|0; | |
$34 = ($6>>>0)>($33>>>0); | |
if ($34) { | |
$35 = ($9|0)==(0); | |
if (!($35)) { | |
$36 = $9 << $7; | |
$37 = 2 << $7; | |
$38 = (0 - ($37))|0; | |
$39 = $37 | $38; | |
$40 = $36 & $39; | |
$41 = (0 - ($40))|0; | |
$42 = $40 & $41; | |
$43 = (($42) + -1)|0; | |
$44 = $43 >>> 12; | |
$45 = $44 & 16; | |
$46 = $43 >>> $45; | |
$47 = $46 >>> 5; | |
$48 = $47 & 8; | |
$49 = $48 | $45; | |
$50 = $46 >>> $48; | |
$51 = $50 >>> 2; | |
$52 = $51 & 4; | |
$53 = $49 | $52; | |
$54 = $50 >>> $52; | |
$55 = $54 >>> 1; | |
$56 = $55 & 2; | |
$57 = $53 | $56; | |
$58 = $54 >>> $56; | |
$59 = $58 >>> 1; | |
$60 = $59 & 1; | |
$61 = $57 | $60; | |
$62 = $58 >>> $60; | |
$63 = (($61) + ($62))|0; | |
$64 = $63 << 1; | |
$65 = (4276 + ($64<<2)|0); | |
$66 = ((($65)) + 8|0); | |
$67 = HEAP32[$66>>2]|0; | |
$68 = ((($67)) + 8|0); | |
$69 = HEAP32[$68>>2]|0; | |
$70 = ($69|0)==($65|0); | |
if ($70) { | |
$71 = 1 << $63; | |
$72 = $71 ^ -1; | |
$73 = $8 & $72; | |
HEAP32[1059] = $73; | |
$90 = $73; | |
} else { | |
$74 = ((($69)) + 12|0); | |
HEAP32[$74>>2] = $65; | |
HEAP32[$66>>2] = $69; | |
$90 = $8; | |
} | |
$75 = $63 << 3; | |
$76 = (($75) - ($6))|0; | |
$77 = $6 | 3; | |
$78 = ((($67)) + 4|0); | |
HEAP32[$78>>2] = $77; | |
$79 = (($67) + ($6)|0); | |
$80 = $76 | 1; | |
$81 = ((($79)) + 4|0); | |
HEAP32[$81>>2] = $80; | |
$82 = (($67) + ($75)|0); | |
HEAP32[$82>>2] = $76; | |
$83 = ($33|0)==(0); | |
if (!($83)) { | |
$84 = HEAP32[(4256)>>2]|0; | |
$85 = $33 >>> 3; | |
$86 = $85 << 1; | |
$87 = (4276 + ($86<<2)|0); | |
$88 = 1 << $85; | |
$89 = $90 & $88; | |
$91 = ($89|0)==(0); | |
if ($91) { | |
$92 = $90 | $88; | |
HEAP32[1059] = $92; | |
$$pre = ((($87)) + 8|0); | |
$$0194 = $87;$$pre$phiZ2D = $$pre; | |
} else { | |
$93 = ((($87)) + 8|0); | |
$94 = HEAP32[$93>>2]|0; | |
$$0194 = $94;$$pre$phiZ2D = $93; | |
} | |
HEAP32[$$pre$phiZ2D>>2] = $84; | |
$95 = ((($$0194)) + 12|0); | |
HEAP32[$95>>2] = $84; | |
$96 = ((($84)) + 8|0); | |
HEAP32[$96>>2] = $$0194; | |
$97 = ((($84)) + 12|0); | |
HEAP32[$97>>2] = $87; | |
} | |
HEAP32[(4244)>>2] = $76; | |
HEAP32[(4256)>>2] = $79; | |
$$0 = $68; | |
STACKTOP = sp;return ($$0|0); | |
} | |
$98 = HEAP32[(4240)>>2]|0; | |
$99 = ($98|0)==(0); | |
if ($99) { | |
$$0192 = $6; | |
} else { | |
$100 = (0 - ($98))|0; | |
$101 = $98 & $100; | |
$102 = (($101) + -1)|0; | |
$103 = $102 >>> 12; | |
$104 = $103 & 16; | |
$105 = $102 >>> $104; | |
$106 = $105 >>> 5; | |
$107 = $106 & 8; | |
$108 = $107 | $104; | |
$109 = $105 >>> $107; | |
$110 = $109 >>> 2; | |
$111 = $110 & 4; | |
$112 = $108 | $111; | |
$113 = $109 >>> $111; | |
$114 = $113 >>> 1; | |
$115 = $114 & 2; | |
$116 = $112 | $115; | |
$117 = $113 >>> $115; | |
$118 = $117 >>> 1; | |
$119 = $118 & 1; | |
$120 = $116 | $119; | |
$121 = $117 >>> $119; | |
$122 = (($120) + ($121))|0; | |
$123 = (4540 + ($122<<2)|0); | |
$124 = HEAP32[$123>>2]|0; | |
$125 = ((($124)) + 4|0); | |
$126 = HEAP32[$125>>2]|0; | |
$127 = $126 & -8; | |
$128 = (($127) - ($6))|0; | |
$129 = ((($124)) + 16|0); | |
$130 = HEAP32[$129>>2]|0; | |
$131 = ($130|0)==(0|0); | |
$$sink12$i = $131&1; | |
$132 = (((($124)) + 16|0) + ($$sink12$i<<2)|0); | |
$133 = HEAP32[$132>>2]|0; | |
$134 = ($133|0)==(0|0); | |
if ($134) { | |
$$0172$lcssa$i = $124;$$0173$lcssa$i = $128; | |
} else { | |
$$01724$i = $124;$$01733$i = $128;$136 = $133; | |
while(1) { | |
$135 = ((($136)) + 4|0); | |
$137 = HEAP32[$135>>2]|0; | |
$138 = $137 & -8; | |
$139 = (($138) - ($6))|0; | |
$140 = ($139>>>0)<($$01733$i>>>0); | |
$$$0173$i = $140 ? $139 : $$01733$i; | |
$$$0172$i = $140 ? $136 : $$01724$i; | |
$141 = ((($136)) + 16|0); | |
$142 = HEAP32[$141>>2]|0; | |
$143 = ($142|0)==(0|0); | |
$$sink1$i = $143&1; | |
$144 = (((($136)) + 16|0) + ($$sink1$i<<2)|0); | |
$145 = HEAP32[$144>>2]|0; | |
$146 = ($145|0)==(0|0); | |
if ($146) { | |
$$0172$lcssa$i = $$$0172$i;$$0173$lcssa$i = $$$0173$i; | |
break; | |
} else { | |
$$01724$i = $$$0172$i;$$01733$i = $$$0173$i;$136 = $145; | |
} | |
} | |
} | |
$147 = (($$0172$lcssa$i) + ($6)|0); | |
$148 = ($147>>>0)>($$0172$lcssa$i>>>0); | |
if ($148) { | |
$149 = ((($$0172$lcssa$i)) + 24|0); | |
$150 = HEAP32[$149>>2]|0; | |
$151 = ((($$0172$lcssa$i)) + 12|0); | |
$152 = HEAP32[$151>>2]|0; | |
$153 = ($152|0)==($$0172$lcssa$i|0); | |
do { | |
if ($153) { | |
$158 = ((($$0172$lcssa$i)) + 20|0); | |
$159 = HEAP32[$158>>2]|0; | |
$160 = ($159|0)==(0|0); | |
if ($160) { | |
$161 = ((($$0172$lcssa$i)) + 16|0); | |
$162 = HEAP32[$161>>2]|0; | |
$163 = ($162|0)==(0|0); | |
if ($163) { | |
$$3$i = 0; | |
break; | |
} else { | |
$$1176$i = $162;$$1178$i = $161; | |
} | |
} else { | |
$$1176$i = $159;$$1178$i = $158; | |
} | |
while(1) { | |
$164 = ((($$1176$i)) + 20|0); | |
$165 = HEAP32[$164>>2]|0; | |
$166 = ($165|0)==(0|0); | |
if (!($166)) { | |
$$1176$i = $165;$$1178$i = $164; | |
continue; | |
} | |
$167 = ((($$1176$i)) + 16|0); | |
$168 = HEAP32[$167>>2]|0; | |
$169 = ($168|0)==(0|0); | |
if ($169) { | |
break; | |
} else { | |
$$1176$i = $168;$$1178$i = $167; | |
} | |
} | |
HEAP32[$$1178$i>>2] = 0; | |
$$3$i = $$1176$i; | |
} else { | |
$154 = ((($$0172$lcssa$i)) + 8|0); | |
$155 = HEAP32[$154>>2]|0; | |
$156 = ((($155)) + 12|0); | |
HEAP32[$156>>2] = $152; | |
$157 = ((($152)) + 8|0); | |
HEAP32[$157>>2] = $155; | |
$$3$i = $152; | |
} | |
} while(0); | |
$170 = ($150|0)==(0|0); | |
do { | |
if (!($170)) { | |
$171 = ((($$0172$lcssa$i)) + 28|0); | |
$172 = HEAP32[$171>>2]|0; | |
$173 = (4540 + ($172<<2)|0); | |
$174 = HEAP32[$173>>2]|0; | |
$175 = ($$0172$lcssa$i|0)==($174|0); | |
if ($175) { | |
HEAP32[$173>>2] = $$3$i; | |
$cond$i = ($$3$i|0)==(0|0); | |
if ($cond$i) { | |
$176 = 1 << $172; | |
$177 = $176 ^ -1; | |
$178 = $98 & $177; | |
HEAP32[(4240)>>2] = $178; | |
break; | |
} | |
} else { | |
$179 = ((($150)) + 16|0); | |
$180 = HEAP32[$179>>2]|0; | |
$181 = ($180|0)!=($$0172$lcssa$i|0); | |
$$sink2$i = $181&1; | |
$182 = (((($150)) + 16|0) + ($$sink2$i<<2)|0); | |
HEAP32[$182>>2] = $$3$i; | |
$183 = ($$3$i|0)==(0|0); | |
if ($183) { | |
break; | |
} | |
} | |
$184 = ((($$3$i)) + 24|0); | |
HEAP32[$184>>2] = $150; | |
$185 = ((($$0172$lcssa$i)) + 16|0); | |
$186 = HEAP32[$185>>2]|0; | |
$187 = ($186|0)==(0|0); | |
if (!($187)) { | |
$188 = ((($$3$i)) + 16|0); | |
HEAP32[$188>>2] = $186; | |
$189 = ((($186)) + 24|0); | |
HEAP32[$189>>2] = $$3$i; | |
} | |
$190 = ((($$0172$lcssa$i)) + 20|0); | |
$191 = HEAP32[$190>>2]|0; | |
$192 = ($191|0)==(0|0); | |
if (!($192)) { | |
$193 = ((($$3$i)) + 20|0); | |
HEAP32[$193>>2] = $191; | |
$194 = ((($191)) + 24|0); | |
HEAP32[$194>>2] = $$3$i; | |
} | |
} | |
} while(0); | |
$195 = ($$0173$lcssa$i>>>0)<(16); | |
if ($195) { | |
$196 = (($$0173$lcssa$i) + ($6))|0; | |
$197 = $196 | 3; | |
$198 = ((($$0172$lcssa$i)) + 4|0); | |
HEAP32[$198>>2] = $197; | |
$199 = (($$0172$lcssa$i) + ($196)|0); | |
$200 = ((($199)) + 4|0); | |
$201 = HEAP32[$200>>2]|0; | |
$202 = $201 | 1; | |
HEAP32[$200>>2] = $202; | |
} else { | |
$203 = $6 | 3; | |
$204 = ((($$0172$lcssa$i)) + 4|0); | |
HEAP32[$204>>2] = $203; | |
$205 = $$0173$lcssa$i | 1; | |
$206 = ((($147)) + 4|0); | |
HEAP32[$206>>2] = $205; | |
$207 = (($147) + ($$0173$lcssa$i)|0); | |
HEAP32[$207>>2] = $$0173$lcssa$i; | |
$208 = ($33|0)==(0); | |
if (!($208)) { | |
$209 = HEAP32[(4256)>>2]|0; | |
$210 = $33 >>> 3; | |
$211 = $210 << 1; | |
$212 = (4276 + ($211<<2)|0); | |
$213 = 1 << $210; | |
$214 = $8 & $213; | |
$215 = ($214|0)==(0); | |
if ($215) { | |
$216 = $8 | $213; | |
HEAP32[1059] = $216; | |
$$pre$i = ((($212)) + 8|0); | |
$$0$i = $212;$$pre$phi$iZ2D = $$pre$i; | |
} else { | |
$217 = ((($212)) + 8|0); | |
$218 = HEAP32[$217>>2]|0; | |
$$0$i = $218;$$pre$phi$iZ2D = $217; | |
} | |
HEAP32[$$pre$phi$iZ2D>>2] = $209; | |
$219 = ((($$0$i)) + 12|0); | |
HEAP32[$219>>2] = $209; | |
$220 = ((($209)) + 8|0); | |
HEAP32[$220>>2] = $$0$i; | |
$221 = ((($209)) + 12|0); | |
HEAP32[$221>>2] = $212; | |
} | |
HEAP32[(4244)>>2] = $$0173$lcssa$i; | |
HEAP32[(4256)>>2] = $147; | |
} | |
$222 = ((($$0172$lcssa$i)) + 8|0); | |
$$0 = $222; | |
STACKTOP = sp;return ($$0|0); | |
} else { | |
$$0192 = $6; | |
} | |
} | |
} else { | |
$$0192 = $6; | |
} | |
} else { | |
$223 = ($0>>>0)>(4294967231); | |
if ($223) { | |
$$0192 = -1; | |
} else { | |
$224 = (($0) + 11)|0; | |
$225 = $224 & -8; | |
$226 = HEAP32[(4240)>>2]|0; | |
$227 = ($226|0)==(0); | |
if ($227) { | |
$$0192 = $225; | |
} else { | |
$228 = (0 - ($225))|0; | |
$229 = $224 >>> 8; | |
$230 = ($229|0)==(0); | |
if ($230) { | |
$$0336$i = 0; | |
} else { | |
$231 = ($225>>>0)>(16777215); | |
if ($231) { | |
$$0336$i = 31; | |
} else { | |
$232 = (($229) + 1048320)|0; | |
$233 = $232 >>> 16; | |
$234 = $233 & 8; | |
$235 = $229 << $234; | |
$236 = (($235) + 520192)|0; | |
$237 = $236 >>> 16; | |
$238 = $237 & 4; | |
$239 = $238 | $234; | |
$240 = $235 << $238; | |
$241 = (($240) + 245760)|0; | |
$242 = $241 >>> 16; | |
$243 = $242 & 2; | |
$244 = $239 | $243; | |
$245 = (14 - ($244))|0; | |
$246 = $240 << $243; | |
$247 = $246 >>> 15; | |
$248 = (($245) + ($247))|0; | |
$249 = $248 << 1; | |
$250 = (($248) + 7)|0; | |
$251 = $225 >>> $250; | |
$252 = $251 & 1; | |
$253 = $252 | $249; | |
$$0336$i = $253; | |
} | |
} | |
$254 = (4540 + ($$0336$i<<2)|0); | |
$255 = HEAP32[$254>>2]|0; | |
$256 = ($255|0)==(0|0); | |
L74: do { | |
if ($256) { | |
$$2333$i = 0;$$3$i199 = 0;$$3328$i = $228; | |
label = 57; | |
} else { | |
$257 = ($$0336$i|0)==(31); | |
$258 = $$0336$i >>> 1; | |
$259 = (25 - ($258))|0; | |
$260 = $257 ? 0 : $259; | |
$261 = $225 << $260; | |
$$0320$i = 0;$$0325$i = $228;$$0331$i = $255;$$0337$i = $261;$$0340$i = 0; | |
while(1) { | |
$262 = ((($$0331$i)) + 4|0); | |
$263 = HEAP32[$262>>2]|0; | |
$264 = $263 & -8; | |
$265 = (($264) - ($225))|0; | |
$266 = ($265>>>0)<($$0325$i>>>0); | |
if ($266) { | |
$267 = ($265|0)==(0); | |
if ($267) { | |
$$43298$i = 0;$$43357$i = $$0331$i;$$49$i = $$0331$i; | |
label = 61; | |
break L74; | |
} else { | |
$$1321$i = $$0331$i;$$1326$i = $265; | |
} | |
} else { | |
$$1321$i = $$0320$i;$$1326$i = $$0325$i; | |
} | |
$268 = ((($$0331$i)) + 20|0); | |
$269 = HEAP32[$268>>2]|0; | |
$270 = $$0337$i >>> 31; | |
$271 = (((($$0331$i)) + 16|0) + ($270<<2)|0); | |
$272 = HEAP32[$271>>2]|0; | |
$273 = ($269|0)==(0|0); | |
$274 = ($269|0)==($272|0); | |
$or$cond1$i198 = $273 | $274; | |
$$1341$i = $or$cond1$i198 ? $$0340$i : $269; | |
$275 = ($272|0)==(0|0); | |
$not$3$i = $275 ^ 1; | |
$276 = $not$3$i&1; | |
$$0337$$i = $$0337$i << $276; | |
if ($275) { | |
$$2333$i = $$1341$i;$$3$i199 = $$1321$i;$$3328$i = $$1326$i; | |
label = 57; | |
break; | |
} else { | |
$$0320$i = $$1321$i;$$0325$i = $$1326$i;$$0331$i = $272;$$0337$i = $$0337$$i;$$0340$i = $$1341$i; | |
} | |
} | |
} | |
} while(0); | |
if ((label|0) == 57) { | |
$277 = ($$2333$i|0)==(0|0); | |
$278 = ($$3$i199|0)==(0|0); | |
$or$cond$i200 = $277 & $278; | |
if ($or$cond$i200) { | |
$279 = 2 << $$0336$i; | |
$280 = (0 - ($279))|0; | |
$281 = $279 | $280; | |
$282 = $226 & $281; | |
$283 = ($282|0)==(0); | |
if ($283) { | |
$$0192 = $225; | |
break; | |
} | |
$284 = (0 - ($282))|0; | |
$285 = $282 & $284; | |
$286 = (($285) + -1)|0; | |
$287 = $286 >>> 12; | |
$288 = $287 & 16; | |
$289 = $286 >>> $288; | |
$290 = $289 >>> 5; | |
$291 = $290 & 8; | |
$292 = $291 | $288; | |
$293 = $289 >>> $291; | |
$294 = $293 >>> 2; | |
$295 = $294 & 4; | |
$296 = $292 | $295; | |
$297 = $293 >>> $295; | |
$298 = $297 >>> 1; | |
$299 = $298 & 2; | |
$300 = $296 | $299; | |
$301 = $297 >>> $299; | |
$302 = $301 >>> 1; | |
$303 = $302 & 1; | |
$304 = $300 | $303; | |
$305 = $301 >>> $303; | |
$306 = (($304) + ($305))|0; | |
$307 = (4540 + ($306<<2)|0); | |
$308 = HEAP32[$307>>2]|0; | |
$$4$ph$i = 0;$$4335$ph$i = $308; | |
} else { | |
$$4$ph$i = $$3$i199;$$4335$ph$i = $$2333$i; | |
} | |
$309 = ($$4335$ph$i|0)==(0|0); | |
if ($309) { | |
$$4$lcssa$i = $$4$ph$i;$$4329$lcssa$i = $$3328$i; | |
} else { | |
$$43298$i = $$3328$i;$$43357$i = $$4335$ph$i;$$49$i = $$4$ph$i; | |
label = 61; | |
} | |
} | |
if ((label|0) == 61) { | |
while(1) { | |
label = 0; | |
$310 = ((($$43357$i)) + 4|0); | |
$311 = HEAP32[$310>>2]|0; | |
$312 = $311 & -8; | |
$313 = (($312) - ($225))|0; | |
$314 = ($313>>>0)<($$43298$i>>>0); | |
$$$4329$i = $314 ? $313 : $$43298$i; | |
$$4335$$4$i = $314 ? $$43357$i : $$49$i; | |
$315 = ((($$43357$i)) + 16|0); | |
$316 = HEAP32[$315>>2]|0; | |
$317 = ($316|0)==(0|0); | |
$$sink2$i202 = $317&1; | |
$318 = (((($$43357$i)) + 16|0) + ($$sink2$i202<<2)|0); | |
$319 = HEAP32[$318>>2]|0; | |
$320 = ($319|0)==(0|0); | |
if ($320) { | |
$$4$lcssa$i = $$4335$$4$i;$$4329$lcssa$i = $$$4329$i; | |
break; | |
} else { | |
$$43298$i = $$$4329$i;$$43357$i = $319;$$49$i = $$4335$$4$i; | |
label = 61; | |
} | |
} | |
} | |
$321 = ($$4$lcssa$i|0)==(0|0); | |
if ($321) { | |
$$0192 = $225; | |
} else { | |
$322 = HEAP32[(4244)>>2]|0; | |
$323 = (($322) - ($225))|0; | |
$324 = ($$4329$lcssa$i>>>0)<($323>>>0); | |
if ($324) { | |
$325 = (($$4$lcssa$i) + ($225)|0); | |
$326 = ($325>>>0)>($$4$lcssa$i>>>0); | |
if (!($326)) { | |
$$0 = 0; | |
STACKTOP = sp;return ($$0|0); | |
} | |
$327 = ((($$4$lcssa$i)) + 24|0); | |
$328 = HEAP32[$327>>2]|0; | |
$329 = ((($$4$lcssa$i)) + 12|0); | |
$330 = HEAP32[$329>>2]|0; | |
$331 = ($330|0)==($$4$lcssa$i|0); | |
do { | |
if ($331) { | |
$336 = ((($$4$lcssa$i)) + 20|0); | |
$337 = HEAP32[$336>>2]|0; | |
$338 = ($337|0)==(0|0); | |
if ($338) { | |
$339 = ((($$4$lcssa$i)) + 16|0); | |
$340 = HEAP32[$339>>2]|0; | |
$341 = ($340|0)==(0|0); | |
if ($341) { | |
$$3349$i = 0; | |
break; | |
} else { | |
$$1347$i = $340;$$1351$i = $339; | |
} | |
} else { | |
$$1347$i = $337;$$1351$i = $336; | |
} | |
while(1) { | |
$342 = ((($$1347$i)) + 20|0); | |
$343 = HEAP32[$342>>2]|0; | |
$344 = ($343|0)==(0|0); | |
if (!($344)) { | |
$$1347$i = $343;$$1351$i = $342; | |
continue; | |
} | |
$345 = ((($$1347$i)) + 16|0); | |
$346 = HEAP32[$345>>2]|0; | |
$347 = ($346|0)==(0|0); | |
if ($347) { | |
break; | |
} else { | |
$$1347$i = $346;$$1351$i = $345; | |
} | |
} | |
HEAP32[$$1351$i>>2] = 0; | |
$$3349$i = $$1347$i; | |
} else { | |
$332 = ((($$4$lcssa$i)) + 8|0); | |
$333 = HEAP32[$332>>2]|0; | |
$334 = ((($333)) + 12|0); | |
HEAP32[$334>>2] = $330; | |
$335 = ((($330)) + 8|0); | |
HEAP32[$335>>2] = $333; | |
$$3349$i = $330; | |
} | |
} while(0); | |
$348 = ($328|0)==(0|0); | |
do { | |
if ($348) { | |
$431 = $226; | |
} else { | |
$349 = ((($$4$lcssa$i)) + 28|0); | |
$350 = HEAP32[$349>>2]|0; | |
$351 = (4540 + ($350<<2)|0); | |
$352 = HEAP32[$351>>2]|0; | |
$353 = ($$4$lcssa$i|0)==($352|0); | |
if ($353) { | |
HEAP32[$351>>2] = $$3349$i; | |
$cond$i206 = ($$3349$i|0)==(0|0); | |
if ($cond$i206) { | |
$354 = 1 << $350; | |
$355 = $354 ^ -1; | |
$356 = $226 & $355; | |
HEAP32[(4240)>>2] = $356; | |
$431 = $356; | |
break; | |
} | |
} else { | |
$357 = ((($328)) + 16|0); | |
$358 = HEAP32[$357>>2]|0; | |
$359 = ($358|0)!=($$4$lcssa$i|0); | |
$$sink3$i = $359&1; | |
$360 = (((($328)) + 16|0) + ($$sink3$i<<2)|0); | |
HEAP32[$360>>2] = $$3349$i; | |
$361 = ($$3349$i|0)==(0|0); | |
if ($361) { | |
$431 = $226; | |
break; | |
} | |
} | |
$362 = ((($$3349$i)) + 24|0); | |
HEAP32[$362>>2] = $328; | |
$363 = ((($$4$lcssa$i)) + 16|0); | |
$364 = HEAP32[$363>>2]|0; | |
$365 = ($364|0)==(0|0); | |
if (!($365)) { | |
$366 = ((($$3349$i)) + 16|0); | |
HEAP32[$366>>2] = $364; | |
$367 = ((($364)) + 24|0); | |
HEAP32[$367>>2] = $$3349$i; | |
} | |
$368 = ((($$4$lcssa$i)) + 20|0); | |
$369 = HEAP32[$368>>2]|0; | |
$370 = ($369|0)==(0|0); | |
if ($370) { | |
$431 = $226; | |
} else { | |
$371 = ((($$3349$i)) + 20|0); | |
HEAP32[$371>>2] = $369; | |
$372 = ((($369)) + 24|0); | |
HEAP32[$372>>2] = $$3349$i; | |
$431 = $226; | |
} | |
} | |
} while(0); | |
$373 = ($$4329$lcssa$i>>>0)<(16); | |
do { | |
if ($373) { | |
$374 = (($$4329$lcssa$i) + ($225))|0; | |
$375 = $374 | 3; | |
$376 = ((($$4$lcssa$i)) + 4|0); | |
HEAP32[$376>>2] = $375; | |
$377 = (($$4$lcssa$i) + ($374)|0); | |
$378 = ((($377)) + 4|0); | |
$379 = HEAP32[$378>>2]|0; | |
$380 = $379 | 1; | |
HEAP32[$378>>2] = $380; | |
} else { | |
$381 = $225 | 3; | |
$382 = ((($$4$lcssa$i)) + 4|0); | |
HEAP32[$382>>2] = $381; | |
$383 = $$4329$lcssa$i | 1; | |
$384 = ((($325)) + 4|0); | |
HEAP32[$384>>2] = $383; | |
$385 = (($325) + ($$4329$lcssa$i)|0); | |
HEAP32[$385>>2] = $$4329$lcssa$i; | |
$386 = $$4329$lcssa$i >>> 3; | |
$387 = ($$4329$lcssa$i>>>0)<(256); | |
if ($387) { | |
$388 = $386 << 1; | |
$389 = (4276 + ($388<<2)|0); | |
$390 = HEAP32[1059]|0; | |
$391 = 1 << $386; | |
$392 = $390 & $391; | |
$393 = ($392|0)==(0); | |
if ($393) { | |
$394 = $390 | $391; | |
HEAP32[1059] = $394; | |
$$pre$i207 = ((($389)) + 8|0); | |
$$0345$i = $389;$$pre$phi$i208Z2D = $$pre$i207; | |
} else { | |
$395 = ((($389)) + 8|0); | |
$396 = HEAP32[$395>>2]|0; | |
$$0345$i = $396;$$pre$phi$i208Z2D = $395; | |
} | |
HEAP32[$$pre$phi$i208Z2D>>2] = $325; | |
$397 = ((($$0345$i)) + 12|0); | |
HEAP32[$397>>2] = $325; | |
$398 = ((($325)) + 8|0); | |
HEAP32[$398>>2] = $$0345$i; | |
$399 = ((($325)) + 12|0); | |
HEAP32[$399>>2] = $389; | |
break; | |
} | |
$400 = $$4329$lcssa$i >>> 8; | |
$401 = ($400|0)==(0); | |
if ($401) { | |
$$0339$i = 0; | |
} else { | |
$402 = ($$4329$lcssa$i>>>0)>(16777215); | |
if ($402) { | |
$$0339$i = 31; | |
} else { | |
$403 = (($400) + 1048320)|0; | |
$404 = $403 >>> 16; | |
$405 = $404 & 8; | |
$406 = $400 << $405; | |
$407 = (($406) + 520192)|0; | |
$408 = $407 >>> 16; | |
$409 = $408 & 4; | |
$410 = $409 | $405; | |
$411 = $406 << $409; | |
$412 = (($411) + 245760)|0; | |
$413 = $412 >>> 16; | |
$414 = $413 & 2; | |
$415 = $410 | $414; | |
$416 = (14 - ($415))|0; | |
$417 = $411 << $414; | |
$418 = $417 >>> 15; | |
$419 = (($416) + ($418))|0; | |
$420 = $419 << 1; | |
$421 = (($419) + 7)|0; | |
$422 = $$4329$lcssa$i >>> $421; | |
$423 = $422 & 1; | |
$424 = $423 | $420; | |
$$0339$i = $424; | |
} | |
} | |
$425 = (4540 + ($$0339$i<<2)|0); | |
$426 = ((($325)) + 28|0); | |
HEAP32[$426>>2] = $$0339$i; | |
$427 = ((($325)) + 16|0); | |
$428 = ((($427)) + 4|0); | |
HEAP32[$428>>2] = 0; | |
HEAP32[$427>>2] = 0; | |
$429 = 1 << $$0339$i; | |
$430 = $431 & $429; | |
$432 = ($430|0)==(0); | |
if ($432) { | |
$433 = $431 | $429; | |
HEAP32[(4240)>>2] = $433; | |
HEAP32[$425>>2] = $325; | |
$434 = ((($325)) + 24|0); | |
HEAP32[$434>>2] = $425; | |
$435 = ((($325)) + 12|0); | |
HEAP32[$435>>2] = $325; | |
$436 = ((($325)) + 8|0); | |
HEAP32[$436>>2] = $325; | |
break; | |
} | |
$437 = HEAP32[$425>>2]|0; | |
$438 = ($$0339$i|0)==(31); | |
$439 = $$0339$i >>> 1; | |
$440 = (25 - ($439))|0; | |
$441 = $438 ? 0 : $440; | |
$442 = $$4329$lcssa$i << $441; | |
$$0322$i = $442;$$0323$i = $437; | |
while(1) { | |
$443 = ((($$0323$i)) + 4|0); | |
$444 = HEAP32[$443>>2]|0; | |
$445 = $444 & -8; | |
$446 = ($445|0)==($$4329$lcssa$i|0); | |
if ($446) { | |
label = 97; | |
break; | |
} | |
$447 = $$0322$i >>> 31; | |
$448 = (((($$0323$i)) + 16|0) + ($447<<2)|0); | |
$449 = $$0322$i << 1; | |
$450 = HEAP32[$448>>2]|0; | |
$451 = ($450|0)==(0|0); | |
if ($451) { | |
label = 96; | |
break; | |
} else { | |
$$0322$i = $449;$$0323$i = $450; | |
} | |
} | |
if ((label|0) == 96) { | |
HEAP32[$448>>2] = $325; | |
$452 = ((($325)) + 24|0); | |
HEAP32[$452>>2] = $$0323$i; | |
$453 = ((($325)) + 12|0); | |
HEAP32[$453>>2] = $325; | |
$454 = ((($325)) + 8|0); | |
HEAP32[$454>>2] = $325; | |
break; | |
} | |
else if ((label|0) == 97) { | |
$455 = ((($$0323$i)) + 8|0); | |
$456 = HEAP32[$455>>2]|0; | |
$457 = ((($456)) + 12|0); | |
HEAP32[$457>>2] = $325; | |
HEAP32[$455>>2] = $325; | |
$458 = ((($325)) + 8|0); | |
HEAP32[$458>>2] = $456; | |
$459 = ((($325)) + 12|0); | |
HEAP32[$459>>2] = $$0323$i; | |
$460 = ((($325)) + 24|0); | |
HEAP32[$460>>2] = 0; | |
break; | |
} | |
} | |
} while(0); | |
$461 = ((($$4$lcssa$i)) + 8|0); | |
$$0 = $461; | |
STACKTOP = sp;return ($$0|0); | |
} else { | |
$$0192 = $225; | |
} | |
} | |
} | |
} | |
} | |
} while(0); | |
$462 = HEAP32[(4244)>>2]|0; | |
$463 = ($462>>>0)<($$0192>>>0); | |
if (!($463)) { | |
$464 = (($462) - ($$0192))|0; | |
$465 = HEAP32[(4256)>>2]|0; | |
$466 = ($464>>>0)>(15); | |
if ($466) { | |
$467 = (($465) + ($$0192)|0); | |
HEAP32[(4256)>>2] = $467; | |
HEAP32[(4244)>>2] = $464; | |
$468 = $464 | 1; | |
$469 = ((($467)) + 4|0); | |
HEAP32[$469>>2] = $468; | |
$470 = (($465) + ($462)|0); | |
HEAP32[$470>>2] = $464; | |
$471 = $$0192 | 3; | |
$472 = ((($465)) + 4|0); | |
HEAP32[$472>>2] = $471; | |
} else { | |
HEAP32[(4244)>>2] = 0; | |
HEAP32[(4256)>>2] = 0; | |
$473 = $462 | 3; | |
$474 = ((($465)) + 4|0); | |
HEAP32[$474>>2] = $473; | |
$475 = (($465) + ($462)|0); | |
$476 = ((($475)) + 4|0); | |
$477 = HEAP32[$476>>2]|0; | |
$478 = $477 | 1; | |
HEAP32[$476>>2] = $478; | |
} | |
$479 = ((($465)) + 8|0); | |
$$0 = $479; | |
STACKTOP = sp;return ($$0|0); | |
} | |
$480 = HEAP32[(4248)>>2]|0; | |
$481 = ($480>>>0)>($$0192>>>0); | |
if ($481) { | |
$482 = (($480) - ($$0192))|0; | |
HEAP32[(4248)>>2] = $482; | |
$483 = HEAP32[(4260)>>2]|0; | |
$484 = (($483) + ($$0192)|0); | |
HEAP32[(4260)>>2] = $484; | |
$485 = $482 | 1; | |
$486 = ((($484)) + 4|0); | |
HEAP32[$486>>2] = $485; | |
$487 = $$0192 | 3; | |
$488 = ((($483)) + 4|0); | |
HEAP32[$488>>2] = $487; | |
$489 = ((($483)) + 8|0); | |
$$0 = $489; | |
STACKTOP = sp;return ($$0|0); | |
} | |
$490 = HEAP32[1177]|0; | |
$491 = ($490|0)==(0); | |
if ($491) { | |
HEAP32[(4716)>>2] = 4096; | |
HEAP32[(4712)>>2] = 4096; | |
HEAP32[(4720)>>2] = -1; | |
HEAP32[(4724)>>2] = -1; | |
HEAP32[(4728)>>2] = 0; | |
HEAP32[(4680)>>2] = 0; | |
$492 = $1; | |
$493 = $492 & -16; | |
$494 = $493 ^ 1431655768; | |
HEAP32[1177] = $494; | |
$498 = 4096; | |
} else { | |
$$pre$i195 = HEAP32[(4716)>>2]|0; | |
$498 = $$pre$i195; | |
} | |
$495 = (($$0192) + 48)|0; | |
$496 = (($$0192) + 47)|0; | |
$497 = (($498) + ($496))|0; | |
$499 = (0 - ($498))|0; | |
$500 = $497 & $499; | |
$501 = ($500>>>0)>($$0192>>>0); | |
if (!($501)) { | |
$$0 = 0; | |
STACKTOP = sp;return ($$0|0); | |
} | |
$502 = HEAP32[(4676)>>2]|0; | |
$503 = ($502|0)==(0); | |
if (!($503)) { | |
$504 = HEAP32[(4668)>>2]|0; | |
$505 = (($504) + ($500))|0; | |
$506 = ($505>>>0)<=($504>>>0); | |
$507 = ($505>>>0)>($502>>>0); | |
$or$cond1$i = $506 | $507; | |
if ($or$cond1$i) { | |
$$0 = 0; | |
STACKTOP = sp;return ($$0|0); | |
} | |
} | |
$508 = HEAP32[(4680)>>2]|0; | |
$509 = $508 & 4; | |
$510 = ($509|0)==(0); | |
L167: do { | |
if ($510) { | |
$511 = HEAP32[(4260)>>2]|0; | |
$512 = ($511|0)==(0|0); | |
L169: do { | |
if ($512) { | |
label = 118; | |
} else { | |
$$0$i20$i = (4684); | |
while(1) { | |
$513 = HEAP32[$$0$i20$i>>2]|0; | |
$514 = ($513>>>0)>($511>>>0); | |
if (!($514)) { | |
$515 = ((($$0$i20$i)) + 4|0); | |
$516 = HEAP32[$515>>2]|0; | |
$517 = (($513) + ($516)|0); | |
$518 = ($517>>>0)>($511>>>0); | |
if ($518) { | |
break; | |
} | |
} | |
$519 = ((($$0$i20$i)) + 8|0); | |
$520 = HEAP32[$519>>2]|0; | |
$521 = ($520|0)==(0|0); | |
if ($521) { | |
label = 118; | |
break L169; | |
} else { | |
$$0$i20$i = $520; | |
} | |
} | |
$544 = (($497) - ($480))|0; | |
$545 = $544 & $499; | |
$546 = ($545>>>0)<(2147483647); | |
if ($546) { | |
$547 = (_sbrk(($545|0))|0); | |
$548 = HEAP32[$$0$i20$i>>2]|0; | |
$549 = HEAP32[$515>>2]|0; | |
$550 = (($548) + ($549)|0); | |
$551 = ($547|0)==($550|0); | |
if ($551) { | |
$552 = ($547|0)==((-1)|0); | |
if ($552) { | |
$$2234243136$i = $545; | |
} else { | |
$$723947$i = $545;$$748$i = $547; | |
label = 135; | |
break L167; | |
} | |
} else { | |
$$2247$ph$i = $547;$$2253$ph$i = $545; | |
label = 126; | |
} | |
} else { | |
$$2234243136$i = 0; | |
} | |
} | |
} while(0); | |
do { | |
if ((label|0) == 118) { | |
$522 = (_sbrk(0)|0); | |
$523 = ($522|0)==((-1)|0); | |
if ($523) { | |
$$2234243136$i = 0; | |
} else { | |
$524 = $522; | |
$525 = HEAP32[(4712)>>2]|0; | |
$526 = (($525) + -1)|0; | |
$527 = $526 & $524; | |
$528 = ($527|0)==(0); | |
$529 = (($526) + ($524))|0; | |
$530 = (0 - ($525))|0; | |
$531 = $529 & $530; | |
$532 = (($531) - ($524))|0; | |
$533 = $528 ? 0 : $532; | |
$$$i = (($533) + ($500))|0; | |
$534 = HEAP32[(4668)>>2]|0; | |
$535 = (($$$i) + ($534))|0; | |
$536 = ($$$i>>>0)>($$0192>>>0); | |
$537 = ($$$i>>>0)<(2147483647); | |
$or$cond$i = $536 & $537; | |
if ($or$cond$i) { | |
$538 = HEAP32[(4676)>>2]|0; | |
$539 = ($538|0)==(0); | |
if (!($539)) { | |
$540 = ($535>>>0)<=($534>>>0); | |
$541 = ($535>>>0)>($538>>>0); | |
$or$cond2$i = $540 | $541; | |
if ($or$cond2$i) { | |
$$2234243136$i = 0; | |
break; | |
} | |
} | |
$542 = (_sbrk(($$$i|0))|0); | |
$543 = ($542|0)==($522|0); | |
if ($543) { | |
$$723947$i = $$$i;$$748$i = $522; | |
label = 135; | |
break L167; | |
} else { | |
$$2247$ph$i = $542;$$2253$ph$i = $$$i; | |
label = 126; | |
} | |
} else { | |
$$2234243136$i = 0; | |
} | |
} | |
} | |
} while(0); | |
do { | |
if ((label|0) == 126) { | |
$553 = (0 - ($$2253$ph$i))|0; | |
$554 = ($$2247$ph$i|0)!=((-1)|0); | |
$555 = ($$2253$ph$i>>>0)<(2147483647); | |
$or$cond7$i = $555 & $554; | |
$556 = ($495>>>0)>($$2253$ph$i>>>0); | |
$or$cond10$i = $556 & $or$cond7$i; | |
if (!($or$cond10$i)) { | |
$566 = ($$2247$ph$i|0)==((-1)|0); | |
if ($566) { | |
$$2234243136$i = 0; | |
break; | |
} else { | |
$$723947$i = $$2253$ph$i;$$748$i = $$2247$ph$i; | |
label = 135; | |
break L167; | |
} | |
} | |
$557 = HEAP32[(4716)>>2]|0; | |
$558 = (($496) - ($$2253$ph$i))|0; | |
$559 = (($558) + ($557))|0; | |
$560 = (0 - ($557))|0; | |
$561 = $559 & $560; | |
$562 = ($561>>>0)<(2147483647); | |
if (!($562)) { | |
$$723947$i = $$2253$ph$i;$$748$i = $$2247$ph$i; | |
label = 135; | |
break L167; | |
} | |
$563 = (_sbrk(($561|0))|0); | |
$564 = ($563|0)==((-1)|0); | |
if ($564) { | |
(_sbrk(($553|0))|0); | |
$$2234243136$i = 0; | |
break; | |
} else { | |
$565 = (($561) + ($$2253$ph$i))|0; | |
$$723947$i = $565;$$748$i = $$2247$ph$i; | |
label = 135; | |
break L167; | |
} | |
} | |
} while(0); | |
$567 = HEAP32[(4680)>>2]|0; | |
$568 = $567 | 4; | |
HEAP32[(4680)>>2] = $568; | |
$$4236$i = $$2234243136$i; | |
label = 133; | |
} else { | |
$$4236$i = 0; | |
label = 133; | |
} | |
} while(0); | |
if ((label|0) == 133) { | |
$569 = ($500>>>0)<(2147483647); | |
if ($569) { | |
$570 = (_sbrk(($500|0))|0); | |
$571 = (_sbrk(0)|0); | |
$572 = ($570|0)!=((-1)|0); | |
$573 = ($571|0)!=((-1)|0); | |
$or$cond5$i = $572 & $573; | |
$574 = ($570>>>0)<($571>>>0); | |
$or$cond11$i = $574 & $or$cond5$i; | |
$575 = $571; | |
$576 = $570; | |
$577 = (($575) - ($576))|0; | |
$578 = (($$0192) + 40)|0; | |
$579 = ($577>>>0)>($578>>>0); | |
$$$4236$i = $579 ? $577 : $$4236$i; | |
$or$cond11$not$i = $or$cond11$i ^ 1; | |
$580 = ($570|0)==((-1)|0); | |
$not$$i = $579 ^ 1; | |
$581 = $580 | $not$$i; | |
$or$cond49$i = $581 | $or$cond11$not$i; | |
if (!($or$cond49$i)) { | |
$$723947$i = $$$4236$i;$$748$i = $570; | |
label = 135; | |
} | |
} | |
} | |
if ((label|0) == 135) { | |
$582 = HEAP32[(4668)>>2]|0; | |
$583 = (($582) + ($$723947$i))|0; | |
HEAP32[(4668)>>2] = $583; | |
$584 = HEAP32[(4672)>>2]|0; | |
$585 = ($583>>>0)>($584>>>0); | |
if ($585) { | |
HEAP32[(4672)>>2] = $583; | |
} | |
$586 = HEAP32[(4260)>>2]|0; | |
$587 = ($586|0)==(0|0); | |
do { | |
if ($587) { | |
$588 = HEAP32[(4252)>>2]|0; | |
$589 = ($588|0)==(0|0); | |
$590 = ($$748$i>>>0)<($588>>>0); | |
$or$cond12$i = $589 | $590; | |
if ($or$cond12$i) { | |
HEAP32[(4252)>>2] = $$748$i; | |
} | |
HEAP32[(4684)>>2] = $$748$i; | |
HEAP32[(4688)>>2] = $$723947$i; | |
HEAP32[(4696)>>2] = 0; | |
$591 = HEAP32[1177]|0; | |
HEAP32[(4272)>>2] = $591; | |
HEAP32[(4268)>>2] = -1; | |
HEAP32[(4288)>>2] = (4276); | |
HEAP32[(4284)>>2] = (4276); | |
HEAP32[(4296)>>2] = (4284); | |
HEAP32[(4292)>>2] = (4284); | |
HEAP32[(4304)>>2] = (4292); | |
HEAP32[(4300)>>2] = (4292); | |
HEAP32[(4312)>>2] = (4300); | |
HEAP32[(4308)>>2] = (4300); | |
HEAP32[(4320)>>2] = (4308); | |
HEAP32[(4316)>>2] = (4308); | |
HEAP32[(4328)>>2] = (4316); | |
HEAP32[(4324)>>2] = (4316); | |
HEAP32[(4336)>>2] = (4324); | |
HEAP32[(4332)>>2] = (4324); | |
HEAP32[(4344)>>2] = (4332); | |
HEAP32[(4340)>>2] = (4332); | |
HEAP32[(4352)>>2] = (4340); | |
HEAP32[(4348)>>2] = (4340); | |
HEAP32[(4360)>>2] = (4348); | |
HEAP32[(4356)>>2] = (4348); | |
HEAP32[(4368)>>2] = (4356); | |
HEAP32[(4364)>>2] = (4356); | |
HEAP32[(4376)>>2] = (4364); | |
HEAP32[(4372)>>2] = (4364); | |
HEAP32[(4384)>>2] = (4372); | |
HEAP32[(4380)>>2] = (4372); | |
HEAP32[(4392)>>2] = (4380); | |
HEAP32[(4388)>>2] = (4380); | |
HEAP32[(4400)>>2] = (4388); | |
HEAP32[(4396)>>2] = (4388); | |
HEAP32[(4408)>>2] = (4396); | |
HEAP32[(4404)>>2] = (4396); | |
HEAP32[(4416)>>2] = (4404); | |
HEAP32[(4412)>>2] = (4404); | |
HEAP32[(4424)>>2] = (4412); | |
HEAP32[(4420)>>2] = (4412); | |
HEAP32[(4432)>>2] = (4420); | |
HEAP32[(4428)>>2] = (4420); | |
HEAP32[(4440)>>2] = (4428); | |
HEAP32[(4436)>>2] = (4428); | |
HEAP32[(4448)>>2] = (4436); | |
HEAP32[(4444)>>2] = (4436); | |
HEAP32[(4456)>>2] = (4444); | |
HEAP32[(4452)>>2] = (4444); | |
HEAP32[(4464)>>2] = (4452); | |
HEAP32[(4460)>>2] = (4452); | |
HEAP32[(4472)>>2] = (4460); | |
HEAP32[(4468)>>2] = (4460); | |
HEAP32[(4480)>>2] = (4468); | |
HEAP32[(4476)>>2] = (4468); | |
HEAP32[(4488)>>2] = (4476); | |
HEAP32[(4484)>>2] = (4476); | |
HEAP32[(4496)>>2] = (4484); | |
HEAP32[(4492)>>2] = (4484); | |
HEAP32[(4504)>>2] = (4492); | |
HEAP32[(4500)>>2] = (4492); | |
HEAP32[(4512)>>2] = (4500); | |
HEAP32[(4508)>>2] = (4500); | |
HEAP32[(4520)>>2] = (4508); | |
HEAP32[(4516)>>2] = (4508); | |
HEAP32[(4528)>>2] = (4516); | |
HEAP32[(4524)>>2] = (4516); | |
HEAP32[(4536)>>2] = (4524); | |
HEAP32[(4532)>>2] = (4524); | |
$592 = (($$723947$i) + -40)|0; | |
$593 = ((($$748$i)) + 8|0); | |
$594 = $593; | |
$595 = $594 & 7; | |
$596 = ($595|0)==(0); | |
$597 = (0 - ($594))|0; | |
$598 = $597 & 7; | |
$599 = $596 ? 0 : $598; | |
$600 = (($$748$i) + ($599)|0); | |
$601 = (($592) - ($599))|0; | |
HEAP32[(4260)>>2] = $600; | |
HEAP32[(4248)>>2] = $601; | |
$602 = $601 | 1; | |
$603 = ((($600)) + 4|0); | |
HEAP32[$603>>2] = $602; | |
$604 = (($$748$i) + ($592)|0); | |
$605 = ((($604)) + 4|0); | |
HEAP32[$605>>2] = 40; | |
$606 = HEAP32[(4724)>>2]|0; | |
HEAP32[(4264)>>2] = $606; | |
} else { | |
$$024367$i = (4684); | |
while(1) { | |
$607 = HEAP32[$$024367$i>>2]|0; | |
$608 = ((($$024367$i)) + 4|0); | |
$609 = HEAP32[$608>>2]|0; | |
$610 = (($607) + ($609)|0); | |
$611 = ($$748$i|0)==($610|0); | |
if ($611) { | |
label = 143; | |
break; | |
} | |
$612 = ((($$024367$i)) + 8|0); | |
$613 = HEAP32[$612>>2]|0; | |
$614 = ($613|0)==(0|0); | |
if ($614) { | |
break; | |
} else { | |
$$024367$i = $613; | |
} | |
} | |
if ((label|0) == 143) { | |
$615 = ((($$024367$i)) + 12|0); | |
$616 = HEAP32[$615>>2]|0; | |
$617 = $616 & 8; | |
$618 = ($617|0)==(0); | |
if ($618) { | |
$619 = ($607>>>0)<=($586>>>0); | |
$620 = ($$748$i>>>0)>($586>>>0); | |
$or$cond50$i = $620 & $619; | |
if ($or$cond50$i) { | |
$621 = (($609) + ($$723947$i))|0; | |
HEAP32[$608>>2] = $621; | |
$622 = HEAP32[(4248)>>2]|0; | |
$623 = (($622) + ($$723947$i))|0; | |
$624 = ((($586)) + 8|0); | |
$625 = $624; | |
$626 = $625 & 7; | |
$627 = ($626|0)==(0); | |
$628 = (0 - ($625))|0; | |
$629 = $628 & 7; | |
$630 = $627 ? 0 : $629; | |
$631 = (($586) + ($630)|0); | |
$632 = (($623) - ($630))|0; | |
HEAP32[(4260)>>2] = $631; | |
HEAP32[(4248)>>2] = $632; | |
$633 = $632 | 1; | |
$634 = ((($631)) + 4|0); | |
HEAP32[$634>>2] = $633; | |
$635 = (($586) + ($623)|0); | |
$636 = ((($635)) + 4|0); | |
HEAP32[$636>>2] = 40; | |
$637 = HEAP32[(4724)>>2]|0; | |
HEAP32[(4264)>>2] = $637; | |
break; | |
} | |
} | |
} | |
$638 = HEAP32[(4252)>>2]|0; | |
$639 = ($$748$i>>>0)<($638>>>0); | |
if ($639) { | |
HEAP32[(4252)>>2] = $$748$i; | |
} | |
$640 = (($$748$i) + ($$723947$i)|0); | |
$$124466$i = (4684); | |
while(1) { | |
$641 = HEAP32[$$124466$i>>2]|0; | |
$642 = ($641|0)==($640|0); | |
if ($642) { | |
label = 151; | |
break; | |
} | |
$643 = ((($$124466$i)) + 8|0); | |
$644 = HEAP32[$643>>2]|0; | |
$645 = ($644|0)==(0|0); | |
if ($645) { | |
$$0$i$i$i = (4684); | |
break; | |
} else { | |
$$124466$i = $644; | |
} | |
} | |
if ((label|0) == 151) { | |
$646 = ((($$124466$i)) + 12|0); | |
$647 = HEAP32[$646>>2]|0; | |
$648 = $647 & 8; | |
$649 = ($648|0)==(0); | |
if ($649) { | |
HEAP32[$$124466$i>>2] = $$748$i; | |
$650 = ((($$124466$i)) + 4|0); | |
$651 = HEAP32[$650>>2]|0; | |
$652 = (($651) + ($$723947$i))|0; | |
HEAP32[$650>>2] = $652; | |
$653 = ((($$748$i)) + 8|0); | |
$654 = $653; | |
$655 = $654 & 7; | |
$656 = ($655|0)==(0); | |
$657 = (0 - ($654))|0; | |
$658 = $657 & 7; | |
$659 = $656 ? 0 : $658; | |
$660 = (($$748$i) + ($659)|0); | |
$661 = ((($640)) + 8|0); | |
$662 = $661; | |
$663 = $662 & 7; | |
$664 = ($663|0)==(0); | |
$665 = (0 - ($662))|0; | |
$666 = $665 & 7; | |
$667 = $664 ? 0 : $666; | |
$668 = (($640) + ($667)|0); | |
$669 = $668; | |
$670 = $660; | |
$671 = (($669) - ($670))|0; | |
$672 = (($660) + ($$0192)|0); | |
$673 = (($671) - ($$0192))|0; | |
$674 = $$0192 | 3; | |
$675 = ((($660)) + 4|0); | |
HEAP32[$675>>2] = $674; | |
$676 = ($586|0)==($668|0); | |
do { | |
if ($676) { | |
$677 = HEAP32[(4248)>>2]|0; | |
$678 = (($677) + ($673))|0; | |
HEAP32[(4248)>>2] = $678; | |
HEAP32[(4260)>>2] = $672; | |
$679 = $678 | 1; | |
$680 = ((($672)) + 4|0); | |
HEAP32[$680>>2] = $679; | |
} else { | |
$681 = HEAP32[(4256)>>2]|0; | |
$682 = ($681|0)==($668|0); | |
if ($682) { | |
$683 = HEAP32[(4244)>>2]|0; | |
$684 = (($683) + ($673))|0; | |
HEAP32[(4244)>>2] = $684; | |
HEAP32[(4256)>>2] = $672; | |
$685 = $684 | 1; | |
$686 = ((($672)) + 4|0); | |
HEAP32[$686>>2] = $685; | |
$687 = (($672) + ($684)|0); | |
HEAP32[$687>>2] = $684; | |
break; | |
} | |
$688 = ((($668)) + 4|0); | |
$689 = HEAP32[$688>>2]|0; | |
$690 = $689 & 3; | |
$691 = ($690|0)==(1); | |
if ($691) { | |
$692 = $689 & -8; | |
$693 = $689 >>> 3; | |
$694 = ($689>>>0)<(256); | |
L234: do { | |
if ($694) { | |
$695 = ((($668)) + 8|0); | |
$696 = HEAP32[$695>>2]|0; | |
$697 = ((($668)) + 12|0); | |
$698 = HEAP32[$697>>2]|0; | |
$699 = ($698|0)==($696|0); | |
if ($699) { | |
$700 = 1 << $693; | |
$701 = $700 ^ -1; | |
$702 = HEAP32[1059]|0; | |
$703 = $702 & $701; | |
HEAP32[1059] = $703; | |
break; | |
} else { | |
$704 = ((($696)) + 12|0); | |
HEAP32[$704>>2] = $698; | |
$705 = ((($698)) + 8|0); | |
HEAP32[$705>>2] = $696; | |
break; | |
} | |
} else { | |
$706 = ((($668)) + 24|0); | |
$707 = HEAP32[$706>>2]|0; | |
$708 = ((($668)) + 12|0); | |
$709 = HEAP32[$708>>2]|0; | |
$710 = ($709|0)==($668|0); | |
do { | |
if ($710) { | |
$715 = ((($668)) + 16|0); | |
$716 = ((($715)) + 4|0); | |
$717 = HEAP32[$716>>2]|0; | |
$718 = ($717|0)==(0|0); | |
if ($718) { | |
$719 = HEAP32[$715>>2]|0; | |
$720 = ($719|0)==(0|0); | |
if ($720) { | |
$$3$i$i = 0; | |
break; | |
} else { | |
$$1264$i$i = $719;$$1266$i$i = $715; | |
} | |
} else { | |
$$1264$i$i = $717;$$1266$i$i = $716; | |
} | |
while(1) { | |
$721 = ((($$1264$i$i)) + 20|0); | |
$722 = HEAP32[$721>>2]|0; | |
$723 = ($722|0)==(0|0); | |
if (!($723)) { | |
$$1264$i$i = $722;$$1266$i$i = $721; | |
continue; | |
} | |
$724 = ((($$1264$i$i)) + 16|0); | |
$725 = HEAP32[$724>>2]|0; | |
$726 = ($725|0)==(0|0); | |
if ($726) { | |
break; | |
} else { | |
$$1264$i$i = $725;$$1266$i$i = $724; | |
} | |
} | |
HEAP32[$$1266$i$i>>2] = 0; | |
$$3$i$i = $$1264$i$i; | |
} else { | |
$711 = ((($668)) + 8|0); | |
$712 = HEAP32[$711>>2]|0; | |
$713 = ((($712)) + 12|0); | |
HEAP32[$713>>2] = $709; | |
$714 = ((($709)) + 8|0); | |
HEAP32[$714>>2] = $712; | |
$$3$i$i = $709; | |
} | |
} while(0); | |
$727 = ($707|0)==(0|0); | |
if ($727) { | |
break; | |
} | |
$728 = ((($668)) + 28|0); | |
$729 = HEAP32[$728>>2]|0; | |
$730 = (4540 + ($729<<2)|0); | |
$731 = HEAP32[$730>>2]|0; | |
$732 = ($731|0)==($668|0); | |
do { | |
if ($732) { | |
HEAP32[$730>>2] = $$3$i$i; | |
$cond$i$i = ($$3$i$i|0)==(0|0); | |
if (!($cond$i$i)) { | |
break; | |
} | |
$733 = 1 << $729; | |
$734 = $733 ^ -1; | |
$735 = HEAP32[(4240)>>2]|0; | |
$736 = $735 & $734; | |
HEAP32[(4240)>>2] = $736; | |
break L234; | |
} else { | |
$737 = ((($707)) + 16|0); | |
$738 = HEAP32[$737>>2]|0; | |
$739 = ($738|0)!=($668|0); | |
$$sink1$i$i = $739&1; | |
$740 = (((($707)) + 16|0) + ($$sink1$i$i<<2)|0); | |
HEAP32[$740>>2] = $$3$i$i; | |
$741 = ($$3$i$i|0)==(0|0); | |
if ($741) { | |
break L234; | |
} | |
} | |
} while(0); | |
$742 = ((($$3$i$i)) + 24|0); | |
HEAP32[$742>>2] = $707; | |
$743 = ((($668)) + 16|0); | |
$744 = HEAP32[$743>>2]|0; | |
$745 = ($744|0)==(0|0); | |
if (!($745)) { | |
$746 = ((($$3$i$i)) + 16|0); | |
HEAP32[$746>>2] = $744; | |
$747 = ((($744)) + 24|0); | |
HEAP32[$747>>2] = $$3$i$i; | |
} | |
$748 = ((($743)) + 4|0); | |
$749 = HEAP32[$748>>2]|0; | |
$750 = ($749|0)==(0|0); | |
if ($750) { | |
break; | |
} | |
$751 = ((($$3$i$i)) + 20|0); | |
HEAP32[$751>>2] = $749; | |
$752 = ((($749)) + 24|0); | |
HEAP32[$752>>2] = $$3$i$i; | |
} | |
} while(0); | |
$753 = (($668) + ($692)|0); | |
$754 = (($692) + ($673))|0; | |
$$0$i$i = $753;$$0260$i$i = $754; | |
} else { | |
$$0$i$i = $668;$$0260$i$i = $673; | |
} | |
$755 = ((($$0$i$i)) + 4|0); | |
$756 = HEAP32[$755>>2]|0; | |
$757 = $756 & -2; | |
HEAP32[$755>>2] = $757; | |
$758 = $$0260$i$i | 1; | |
$759 = ((($672)) + 4|0); | |
HEAP32[$759>>2] = $758; | |
$760 = (($672) + ($$0260$i$i)|0); | |
HEAP32[$760>>2] = $$0260$i$i; | |
$761 = $$0260$i$i >>> 3; | |
$762 = ($$0260$i$i>>>0)<(256); | |
if ($762) { | |
$763 = $761 << 1; | |
$764 = (4276 + ($763<<2)|0); | |
$765 = HEAP32[1059]|0; | |
$766 = 1 << $761; | |
$767 = $765 & $766; | |
$768 = ($767|0)==(0); | |
if ($768) { | |
$769 = $765 | $766; | |
HEAP32[1059] = $769; | |
$$pre$i17$i = ((($764)) + 8|0); | |
$$0268$i$i = $764;$$pre$phi$i18$iZ2D = $$pre$i17$i; | |
} else { | |
$770 = ((($764)) + 8|0); | |
$771 = HEAP32[$770>>2]|0; | |
$$0268$i$i = $771;$$pre$phi$i18$iZ2D = $770; | |
} | |
HEAP32[$$pre$phi$i18$iZ2D>>2] = $672; | |
$772 = ((($$0268$i$i)) + 12|0); | |
HEAP32[$772>>2] = $672; | |
$773 = ((($672)) + 8|0); | |
HEAP32[$773>>2] = $$0268$i$i; | |
$774 = ((($672)) + 12|0); | |
HEAP32[$774>>2] = $764; | |
break; | |
} | |
$775 = $$0260$i$i >>> 8; | |
$776 = ($775|0)==(0); | |
do { | |
if ($776) { | |
$$0269$i$i = 0; | |
} else { | |
$777 = ($$0260$i$i>>>0)>(16777215); | |
if ($777) { | |
$$0269$i$i = 31; | |
break; | |
} | |
$778 = (($775) + 1048320)|0; | |
$779 = $778 >>> 16; | |
$780 = $779 & 8; | |
$781 = $775 << $780; | |
$782 = (($781) + 520192)|0; | |
$783 = $782 >>> 16; | |
$784 = $783 & 4; | |
$785 = $784 | $780; | |
$786 = $781 << $784; | |
$787 = (($786) + 245760)|0; | |
$788 = $787 >>> 16; | |
$789 = $788 & 2; | |
$790 = $785 | $789; | |
$791 = (14 - ($790))|0; | |
$792 = $786 << $789; | |
$793 = $792 >>> 15; | |
$794 = (($791) + ($793))|0; | |
$795 = $794 << 1; | |
$796 = (($794) + 7)|0; | |
$797 = $$0260$i$i >>> $796; | |
$798 = $797 & 1; | |
$799 = $798 | $795; | |
$$0269$i$i = $799; | |
} | |
} while(0); | |
$800 = (4540 + ($$0269$i$i<<2)|0); | |
$801 = ((($672)) + 28|0); | |
HEAP32[$801>>2] = $$0269$i$i; | |
$802 = ((($672)) + 16|0); | |
$803 = ((($802)) + 4|0); | |
HEAP32[$803>>2] = 0; | |
HEAP32[$802>>2] = 0; | |
$804 = HEAP32[(4240)>>2]|0; | |
$805 = 1 << $$0269$i$i; | |
$806 = $804 & $805; | |
$807 = ($806|0)==(0); | |
if ($807) { | |
$808 = $804 | $805; | |
HEAP32[(4240)>>2] = $808; | |
HEAP32[$800>>2] = $672; | |
$809 = ((($672)) + 24|0); | |
HEAP32[$809>>2] = $800; | |
$810 = ((($672)) + 12|0); | |
HEAP32[$810>>2] = $672; | |
$811 = ((($672)) + 8|0); | |
HEAP32[$811>>2] = $672; | |
break; | |
} | |
$812 = HEAP32[$800>>2]|0; | |
$813 = ($$0269$i$i|0)==(31); | |
$814 = $$0269$i$i >>> 1; | |
$815 = (25 - ($814))|0; | |
$816 = $813 ? 0 : $815; | |
$817 = $$0260$i$i << $816; | |
$$0261$i$i = $817;$$0262$i$i = $812; | |
while(1) { | |
$818 = ((($$0262$i$i)) + 4|0); | |
$819 = HEAP32[$818>>2]|0; | |
$820 = $819 & -8; | |
$821 = ($820|0)==($$0260$i$i|0); | |
if ($821) { | |
label = 192; | |
break; | |
} | |
$822 = $$0261$i$i >>> 31; | |
$823 = (((($$0262$i$i)) + 16|0) + ($822<<2)|0); | |
$824 = $$0261$i$i << 1; | |
$825 = HEAP32[$823>>2]|0; | |
$826 = ($825|0)==(0|0); | |
if ($826) { | |
label = 191; | |
break; | |
} else { | |
$$0261$i$i = $824;$$0262$i$i = $825; | |
} | |
} | |
if ((label|0) == 191) { | |
HEAP32[$823>>2] = $672; | |
$827 = ((($672)) + 24|0); | |
HEAP32[$827>>2] = $$0262$i$i; | |
$828 = ((($672)) + 12|0); | |
HEAP32[$828>>2] = $672; | |
$829 = ((($672)) + 8|0); | |
HEAP32[$829>>2] = $672; | |
break; | |
} | |
else if ((label|0) == 192) { | |
$830 = ((($$0262$i$i)) + 8|0); | |
$831 = HEAP32[$830>>2]|0; | |
$832 = ((($831)) + 12|0); | |
HEAP32[$832>>2] = $672; | |
HEAP32[$830>>2] = $672; | |
$833 = ((($672)) + 8|0); | |
HEAP32[$833>>2] = $831; | |
$834 = ((($672)) + 12|0); | |
HEAP32[$834>>2] = $$0262$i$i; | |
$835 = ((($672)) + 24|0); | |
HEAP32[$835>>2] = 0; | |
break; | |
} | |
} | |
} while(0); | |
$960 = ((($660)) + 8|0); | |
$$0 = $960; | |
STACKTOP = sp;return ($$0|0); | |
} else { | |
$$0$i$i$i = (4684); | |
} | |
} | |
while(1) { | |
$836 = HEAP32[$$0$i$i$i>>2]|0; | |
$837 = ($836>>>0)>($586>>>0); | |
if (!($837)) { | |
$838 = ((($$0$i$i$i)) + 4|0); | |
$839 = HEAP32[$838>>2]|0; | |
$840 = (($836) + ($839)|0); | |
$841 = ($840>>>0)>($586>>>0); | |
if ($841) { | |
break; | |
} | |
} | |
$842 = ((($$0$i$i$i)) + 8|0); | |
$843 = HEAP32[$842>>2]|0; | |
$$0$i$i$i = $843; | |
} | |
$844 = ((($840)) + -47|0); | |
$845 = ((($844)) + 8|0); | |
$846 = $845; | |
$847 = $846 & 7; | |
$848 = ($847|0)==(0); | |
$849 = (0 - ($846))|0; | |
$850 = $849 & 7; | |
$851 = $848 ? 0 : $850; | |
$852 = (($844) + ($851)|0); | |
$853 = ((($586)) + 16|0); | |
$854 = ($852>>>0)<($853>>>0); | |
$855 = $854 ? $586 : $852; | |
$856 = ((($855)) + 8|0); | |
$857 = ((($855)) + 24|0); | |
$858 = (($$723947$i) + -40)|0; | |
$859 = ((($$748$i)) + 8|0); | |
$860 = $859; | |
$861 = $860 & 7; | |
$862 = ($861|0)==(0); | |
$863 = (0 - ($860))|0; | |
$864 = $863 & 7; | |
$865 = $862 ? 0 : $864; | |
$866 = (($$748$i) + ($865)|0); | |
$867 = (($858) - ($865))|0; | |
HEAP32[(4260)>>2] = $866; | |
HEAP32[(4248)>>2] = $867; | |
$868 = $867 | 1; | |
$869 = ((($866)) + 4|0); | |
HEAP32[$869>>2] = $868; | |
$870 = (($$748$i) + ($858)|0); | |
$871 = ((($870)) + 4|0); | |
HEAP32[$871>>2] = 40; | |
$872 = HEAP32[(4724)>>2]|0; | |
HEAP32[(4264)>>2] = $872; | |
$873 = ((($855)) + 4|0); | |
HEAP32[$873>>2] = 27; | |
;HEAP32[$856>>2]=HEAP32[(4684)>>2]|0;HEAP32[$856+4>>2]=HEAP32[(4684)+4>>2]|0;HEAP32[$856+8>>2]=HEAP32[(4684)+8>>2]|0;HEAP32[$856+12>>2]=HEAP32[(4684)+12>>2]|0; | |
HEAP32[(4684)>>2] = $$748$i; | |
HEAP32[(4688)>>2] = $$723947$i; | |
HEAP32[(4696)>>2] = 0; | |
HEAP32[(4692)>>2] = $856; | |
$875 = $857; | |
while(1) { | |
$874 = ((($875)) + 4|0); | |
HEAP32[$874>>2] = 7; | |
$876 = ((($875)) + 8|0); | |
$877 = ($876>>>0)<($840>>>0); | |
if ($877) { | |
$875 = $874; | |
} else { | |
break; | |
} | |
} | |
$878 = ($855|0)==($586|0); | |
if (!($878)) { | |
$879 = $855; | |
$880 = $586; | |
$881 = (($879) - ($880))|0; | |
$882 = HEAP32[$873>>2]|0; | |
$883 = $882 & -2; | |
HEAP32[$873>>2] = $883; | |
$884 = $881 | 1; | |
$885 = ((($586)) + 4|0); | |
HEAP32[$885>>2] = $884; | |
HEAP32[$855>>2] = $881; | |
$886 = $881 >>> 3; | |
$887 = ($881>>>0)<(256); | |
if ($887) { | |
$888 = $886 << 1; | |
$889 = (4276 + ($888<<2)|0); | |
$890 = HEAP32[1059]|0; | |
$891 = 1 << $886; | |
$892 = $890 & $891; | |
$893 = ($892|0)==(0); | |
if ($893) { | |
$894 = $890 | $891; | |
HEAP32[1059] = $894; | |
$$pre$i$i = ((($889)) + 8|0); | |
$$0206$i$i = $889;$$pre$phi$i$iZ2D = $$pre$i$i; | |
} else { | |
$895 = ((($889)) + 8|0); | |
$896 = HEAP32[$895>>2]|0; | |
$$0206$i$i = $896;$$pre$phi$i$iZ2D = $895; | |
} | |
HEAP32[$$pre$phi$i$iZ2D>>2] = $586; | |
$897 = ((($$0206$i$i)) + 12|0); | |
HEAP32[$897>>2] = $586; | |
$898 = ((($586)) + 8|0); | |
HEAP32[$898>>2] = $$0206$i$i; | |
$899 = ((($586)) + 12|0); | |
HEAP32[$899>>2] = $889; | |
break; | |
} | |
$900 = $881 >>> 8; | |
$901 = ($900|0)==(0); | |
if ($901) { | |
$$0207$i$i = 0; | |
} else { | |
$902 = ($881>>>0)>(16777215); | |
if ($902) { | |
$$0207$i$i = 31; | |
} else { | |
$903 = (($900) + 1048320)|0; | |
$904 = $903 >>> 16; | |
$905 = $904 & 8; | |
$906 = $900 << $905; | |
$907 = (($906) + 520192)|0; | |
$908 = $907 >>> 16; | |
$909 = $908 & 4; | |
$910 = $909 | $905; | |
$911 = $906 << $909; | |
$912 = (($911) + 245760)|0; | |
$913 = $912 >>> 16; | |
$914 = $913 & 2; | |
$915 = $910 | $914; | |
$916 = (14 - ($915))|0; | |
$917 = $911 << $914; | |
$918 = $917 >>> 15; | |
$919 = (($916) + ($918))|0; | |
$920 = $919 << 1; | |
$921 = (($919) + 7)|0; | |
$922 = $881 >>> $921; | |
$923 = $922 & 1; | |
$924 = $923 | $920; | |
$$0207$i$i = $924; | |
} | |
} | |
$925 = (4540 + ($$0207$i$i<<2)|0); | |
$926 = ((($586)) + 28|0); | |
HEAP32[$926>>2] = $$0207$i$i; | |
$927 = ((($586)) + 20|0); | |
HEAP32[$927>>2] = 0; | |
HEAP32[$853>>2] = 0; | |
$928 = HEAP32[(4240)>>2]|0; | |
$929 = 1 << $$0207$i$i; | |
$930 = $928 & $929; | |
$931 = ($930|0)==(0); | |
if ($931) { | |
$932 = $928 | $929; | |
HEAP32[(4240)>>2] = $932; | |
HEAP32[$925>>2] = $586; | |
$933 = ((($586)) + 24|0); | |
HEAP32[$933>>2] = $925; | |
$934 = ((($586)) + 12|0); | |
HEAP32[$934>>2] = $586; | |
$935 = ((($586)) + 8|0); | |
HEAP32[$935>>2] = $586; | |
break; | |
} | |
$936 = HEAP32[$925>>2]|0; | |
$937 = ($$0207$i$i|0)==(31); | |
$938 = $$0207$i$i >>> 1; | |
$939 = (25 - ($938))|0; | |
$940 = $937 ? 0 : $939; | |
$941 = $881 << $940; | |
$$0201$i$i = $941;$$0202$i$i = $936; | |
while(1) { | |
$942 = ((($$0202$i$i)) + 4|0); | |
$943 = HEAP32[$942>>2]|0; | |
$944 = $943 & -8; | |
$945 = ($944|0)==($881|0); | |
if ($945) { | |
label = 213; | |
break; | |
} | |
$946 = $$0201$i$i >>> 31; | |
$947 = (((($$0202$i$i)) + 16|0) + ($946<<2)|0); | |
$948 = $$0201$i$i << 1; | |
$949 = HEAP32[$947>>2]|0; | |
$950 = ($949|0)==(0|0); | |
if ($950) { | |
label = 212; | |
break; | |
} else { | |
$$0201$i$i = $948;$$0202$i$i = $949; | |
} | |
} | |
if ((label|0) == 212) { | |
HEAP32[$947>>2] = $586; | |
$951 = ((($586)) + 24|0); | |
HEAP32[$951>>2] = $$0202$i$i; | |
$952 = ((($586)) + 12|0); | |
HEAP32[$952>>2] = $586; | |
$953 = ((($586)) + 8|0); | |
HEAP32[$953>>2] = $586; | |
break; | |
} | |
else if ((label|0) == 213) { | |
$954 = ((($$0202$i$i)) + 8|0); | |
$955 = HEAP32[$954>>2]|0; | |
$956 = ((($955)) + 12|0); | |
HEAP32[$956>>2] = $586; | |
HEAP32[$954>>2] = $586; | |
$957 = ((($586)) + 8|0); | |
HEAP32[$957>>2] = $955; | |
$958 = ((($586)) + 12|0); | |
HEAP32[$958>>2] = $$0202$i$i; | |
$959 = ((($586)) + 24|0); | |
HEAP32[$959>>2] = 0; | |
break; | |
} | |
} | |
} | |
} while(0); | |
$961 = HEAP32[(4248)>>2]|0; | |
$962 = ($961>>>0)>($$0192>>>0); | |
if ($962) { | |
$963 = (($961) - ($$0192))|0; | |
HEAP32[(4248)>>2] = $963; | |
$964 = HEAP32[(4260)>>2]|0; | |
$965 = (($964) + ($$0192)|0); | |
HEAP32[(4260)>>2] = $965; | |
$966 = $963 | 1; | |
$967 = ((($965)) + 4|0); | |
HEAP32[$967>>2] = $966; | |
$968 = $$0192 | 3; | |
$969 = ((($964)) + 4|0); | |
HEAP32[$969>>2] = $968; | |
$970 = ((($964)) + 8|0); | |
$$0 = $970; | |
STACKTOP = sp;return ($$0|0); | |
} | |
} | |
$971 = (___errno_location()|0); | |
HEAP32[$971>>2] = 12; | |
$$0 = 0; | |
STACKTOP = sp;return ($$0|0); | |
} | |
function _free($0) { | |
$0 = $0|0; | |
var $$0195$i = 0, $$0195$in$i = 0, $$0348 = 0, $$0349 = 0, $$0361 = 0, $$0368 = 0, $$1 = 0, $$1347 = 0, $$1352 = 0, $$1355 = 0, $$1363 = 0, $$1367 = 0, $$2 = 0, $$3 = 0, $$3365 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0; | |
var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; | |
var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; | |
var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; | |
var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; | |
var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; | |
var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; | |
var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; | |
var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; | |
var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $27 = 0; | |
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; | |
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; | |
var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; | |
var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond373 = 0; | |
var $cond374 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = ($0|0)==(0|0); | |
if ($1) { | |
return; | |
} | |
$2 = ((($0)) + -8|0); | |
$3 = HEAP32[(4252)>>2]|0; | |
$4 = ((($0)) + -4|0); | |
$5 = HEAP32[$4>>2]|0; | |
$6 = $5 & -8; | |
$7 = (($2) + ($6)|0); | |
$8 = $5 & 1; | |
$9 = ($8|0)==(0); | |
do { | |
if ($9) { | |
$10 = HEAP32[$2>>2]|0; | |
$11 = $5 & 3; | |
$12 = ($11|0)==(0); | |
if ($12) { | |
return; | |
} | |
$13 = (0 - ($10))|0; | |
$14 = (($2) + ($13)|0); | |
$15 = (($10) + ($6))|0; | |
$16 = ($14>>>0)<($3>>>0); | |
if ($16) { | |
return; | |
} | |
$17 = HEAP32[(4256)>>2]|0; | |
$18 = ($17|0)==($14|0); | |
if ($18) { | |
$79 = ((($7)) + 4|0); | |
$80 = HEAP32[$79>>2]|0; | |
$81 = $80 & 3; | |
$82 = ($81|0)==(3); | |
if (!($82)) { | |
$$1 = $14;$$1347 = $15;$87 = $14; | |
break; | |
} | |
HEAP32[(4244)>>2] = $15; | |
$83 = $80 & -2; | |
HEAP32[$79>>2] = $83; | |
$84 = $15 | 1; | |
$85 = ((($14)) + 4|0); | |
HEAP32[$85>>2] = $84; | |
$86 = (($14) + ($15)|0); | |
HEAP32[$86>>2] = $15; | |
return; | |
} | |
$19 = $10 >>> 3; | |
$20 = ($10>>>0)<(256); | |
if ($20) { | |
$21 = ((($14)) + 8|0); | |
$22 = HEAP32[$21>>2]|0; | |
$23 = ((($14)) + 12|0); | |
$24 = HEAP32[$23>>2]|0; | |
$25 = ($24|0)==($22|0); | |
if ($25) { | |
$26 = 1 << $19; | |
$27 = $26 ^ -1; | |
$28 = HEAP32[1059]|0; | |
$29 = $28 & $27; | |
HEAP32[1059] = $29; | |
$$1 = $14;$$1347 = $15;$87 = $14; | |
break; | |
} else { | |
$30 = ((($22)) + 12|0); | |
HEAP32[$30>>2] = $24; | |
$31 = ((($24)) + 8|0); | |
HEAP32[$31>>2] = $22; | |
$$1 = $14;$$1347 = $15;$87 = $14; | |
break; | |
} | |
} | |
$32 = ((($14)) + 24|0); | |
$33 = HEAP32[$32>>2]|0; | |
$34 = ((($14)) + 12|0); | |
$35 = HEAP32[$34>>2]|0; | |
$36 = ($35|0)==($14|0); | |
do { | |
if ($36) { | |
$41 = ((($14)) + 16|0); | |
$42 = ((($41)) + 4|0); | |
$43 = HEAP32[$42>>2]|0; | |
$44 = ($43|0)==(0|0); | |
if ($44) { | |
$45 = HEAP32[$41>>2]|0; | |
$46 = ($45|0)==(0|0); | |
if ($46) { | |
$$3 = 0; | |
break; | |
} else { | |
$$1352 = $45;$$1355 = $41; | |
} | |
} else { | |
$$1352 = $43;$$1355 = $42; | |
} | |
while(1) { | |
$47 = ((($$1352)) + 20|0); | |
$48 = HEAP32[$47>>2]|0; | |
$49 = ($48|0)==(0|0); | |
if (!($49)) { | |
$$1352 = $48;$$1355 = $47; | |
continue; | |
} | |
$50 = ((($$1352)) + 16|0); | |
$51 = HEAP32[$50>>2]|0; | |
$52 = ($51|0)==(0|0); | |
if ($52) { | |
break; | |
} else { | |
$$1352 = $51;$$1355 = $50; | |
} | |
} | |
HEAP32[$$1355>>2] = 0; | |
$$3 = $$1352; | |
} else { | |
$37 = ((($14)) + 8|0); | |
$38 = HEAP32[$37>>2]|0; | |
$39 = ((($38)) + 12|0); | |
HEAP32[$39>>2] = $35; | |
$40 = ((($35)) + 8|0); | |
HEAP32[$40>>2] = $38; | |
$$3 = $35; | |
} | |
} while(0); | |
$53 = ($33|0)==(0|0); | |
if ($53) { | |
$$1 = $14;$$1347 = $15;$87 = $14; | |
} else { | |
$54 = ((($14)) + 28|0); | |
$55 = HEAP32[$54>>2]|0; | |
$56 = (4540 + ($55<<2)|0); | |
$57 = HEAP32[$56>>2]|0; | |
$58 = ($57|0)==($14|0); | |
if ($58) { | |
HEAP32[$56>>2] = $$3; | |
$cond373 = ($$3|0)==(0|0); | |
if ($cond373) { | |
$59 = 1 << $55; | |
$60 = $59 ^ -1; | |
$61 = HEAP32[(4240)>>2]|0; | |
$62 = $61 & $60; | |
HEAP32[(4240)>>2] = $62; | |
$$1 = $14;$$1347 = $15;$87 = $14; | |
break; | |
} | |
} else { | |
$63 = ((($33)) + 16|0); | |
$64 = HEAP32[$63>>2]|0; | |
$65 = ($64|0)!=($14|0); | |
$$sink3 = $65&1; | |
$66 = (((($33)) + 16|0) + ($$sink3<<2)|0); | |
HEAP32[$66>>2] = $$3; | |
$67 = ($$3|0)==(0|0); | |
if ($67) { | |
$$1 = $14;$$1347 = $15;$87 = $14; | |
break; | |
} | |
} | |
$68 = ((($$3)) + 24|0); | |
HEAP32[$68>>2] = $33; | |
$69 = ((($14)) + 16|0); | |
$70 = HEAP32[$69>>2]|0; | |
$71 = ($70|0)==(0|0); | |
if (!($71)) { | |
$72 = ((($$3)) + 16|0); | |
HEAP32[$72>>2] = $70; | |
$73 = ((($70)) + 24|0); | |
HEAP32[$73>>2] = $$3; | |
} | |
$74 = ((($69)) + 4|0); | |
$75 = HEAP32[$74>>2]|0; | |
$76 = ($75|0)==(0|0); | |
if ($76) { | |
$$1 = $14;$$1347 = $15;$87 = $14; | |
} else { | |
$77 = ((($$3)) + 20|0); | |
HEAP32[$77>>2] = $75; | |
$78 = ((($75)) + 24|0); | |
HEAP32[$78>>2] = $$3; | |
$$1 = $14;$$1347 = $15;$87 = $14; | |
} | |
} | |
} else { | |
$$1 = $2;$$1347 = $6;$87 = $2; | |
} | |
} while(0); | |
$88 = ($87>>>0)<($7>>>0); | |
if (!($88)) { | |
return; | |
} | |
$89 = ((($7)) + 4|0); | |
$90 = HEAP32[$89>>2]|0; | |
$91 = $90 & 1; | |
$92 = ($91|0)==(0); | |
if ($92) { | |
return; | |
} | |
$93 = $90 & 2; | |
$94 = ($93|0)==(0); | |
if ($94) { | |
$95 = HEAP32[(4260)>>2]|0; | |
$96 = ($95|0)==($7|0); | |
if ($96) { | |
$97 = HEAP32[(4248)>>2]|0; | |
$98 = (($97) + ($$1347))|0; | |
HEAP32[(4248)>>2] = $98; | |
HEAP32[(4260)>>2] = $$1; | |
$99 = $98 | 1; | |
$100 = ((($$1)) + 4|0); | |
HEAP32[$100>>2] = $99; | |
$101 = HEAP32[(4256)>>2]|0; | |
$102 = ($$1|0)==($101|0); | |
if (!($102)) { | |
return; | |
} | |
HEAP32[(4256)>>2] = 0; | |
HEAP32[(4244)>>2] = 0; | |
return; | |
} | |
$103 = HEAP32[(4256)>>2]|0; | |
$104 = ($103|0)==($7|0); | |
if ($104) { | |
$105 = HEAP32[(4244)>>2]|0; | |
$106 = (($105) + ($$1347))|0; | |
HEAP32[(4244)>>2] = $106; | |
HEAP32[(4256)>>2] = $87; | |
$107 = $106 | 1; | |
$108 = ((($$1)) + 4|0); | |
HEAP32[$108>>2] = $107; | |
$109 = (($87) + ($106)|0); | |
HEAP32[$109>>2] = $106; | |
return; | |
} | |
$110 = $90 & -8; | |
$111 = (($110) + ($$1347))|0; | |
$112 = $90 >>> 3; | |
$113 = ($90>>>0)<(256); | |
do { | |
if ($113) { | |
$114 = ((($7)) + 8|0); | |
$115 = HEAP32[$114>>2]|0; | |
$116 = ((($7)) + 12|0); | |
$117 = HEAP32[$116>>2]|0; | |
$118 = ($117|0)==($115|0); | |
if ($118) { | |
$119 = 1 << $112; | |
$120 = $119 ^ -1; | |
$121 = HEAP32[1059]|0; | |
$122 = $121 & $120; | |
HEAP32[1059] = $122; | |
break; | |
} else { | |
$123 = ((($115)) + 12|0); | |
HEAP32[$123>>2] = $117; | |
$124 = ((($117)) + 8|0); | |
HEAP32[$124>>2] = $115; | |
break; | |
} | |
} else { | |
$125 = ((($7)) + 24|0); | |
$126 = HEAP32[$125>>2]|0; | |
$127 = ((($7)) + 12|0); | |
$128 = HEAP32[$127>>2]|0; | |
$129 = ($128|0)==($7|0); | |
do { | |
if ($129) { | |
$134 = ((($7)) + 16|0); | |
$135 = ((($134)) + 4|0); | |
$136 = HEAP32[$135>>2]|0; | |
$137 = ($136|0)==(0|0); | |
if ($137) { | |
$138 = HEAP32[$134>>2]|0; | |
$139 = ($138|0)==(0|0); | |
if ($139) { | |
$$3365 = 0; | |
break; | |
} else { | |
$$1363 = $138;$$1367 = $134; | |
} | |
} else { | |
$$1363 = $136;$$1367 = $135; | |
} | |
while(1) { | |
$140 = ((($$1363)) + 20|0); | |
$141 = HEAP32[$140>>2]|0; | |
$142 = ($141|0)==(0|0); | |
if (!($142)) { | |
$$1363 = $141;$$1367 = $140; | |
continue; | |
} | |
$143 = ((($$1363)) + 16|0); | |
$144 = HEAP32[$143>>2]|0; | |
$145 = ($144|0)==(0|0); | |
if ($145) { | |
break; | |
} else { | |
$$1363 = $144;$$1367 = $143; | |
} | |
} | |
HEAP32[$$1367>>2] = 0; | |
$$3365 = $$1363; | |
} else { | |
$130 = ((($7)) + 8|0); | |
$131 = HEAP32[$130>>2]|0; | |
$132 = ((($131)) + 12|0); | |
HEAP32[$132>>2] = $128; | |
$133 = ((($128)) + 8|0); | |
HEAP32[$133>>2] = $131; | |
$$3365 = $128; | |
} | |
} while(0); | |
$146 = ($126|0)==(0|0); | |
if (!($146)) { | |
$147 = ((($7)) + 28|0); | |
$148 = HEAP32[$147>>2]|0; | |
$149 = (4540 + ($148<<2)|0); | |
$150 = HEAP32[$149>>2]|0; | |
$151 = ($150|0)==($7|0); | |
if ($151) { | |
HEAP32[$149>>2] = $$3365; | |
$cond374 = ($$3365|0)==(0|0); | |
if ($cond374) { | |
$152 = 1 << $148; | |
$153 = $152 ^ -1; | |
$154 = HEAP32[(4240)>>2]|0; | |
$155 = $154 & $153; | |
HEAP32[(4240)>>2] = $155; | |
break; | |
} | |
} else { | |
$156 = ((($126)) + 16|0); | |
$157 = HEAP32[$156>>2]|0; | |
$158 = ($157|0)!=($7|0); | |
$$sink5 = $158&1; | |
$159 = (((($126)) + 16|0) + ($$sink5<<2)|0); | |
HEAP32[$159>>2] = $$3365; | |
$160 = ($$3365|0)==(0|0); | |
if ($160) { | |
break; | |
} | |
} | |
$161 = ((($$3365)) + 24|0); | |
HEAP32[$161>>2] = $126; | |
$162 = ((($7)) + 16|0); | |
$163 = HEAP32[$162>>2]|0; | |
$164 = ($163|0)==(0|0); | |
if (!($164)) { | |
$165 = ((($$3365)) + 16|0); | |
HEAP32[$165>>2] = $163; | |
$166 = ((($163)) + 24|0); | |
HEAP32[$166>>2] = $$3365; | |
} | |
$167 = ((($162)) + 4|0); | |
$168 = HEAP32[$167>>2]|0; | |
$169 = ($168|0)==(0|0); | |
if (!($169)) { | |
$170 = ((($$3365)) + 20|0); | |
HEAP32[$170>>2] = $168; | |
$171 = ((($168)) + 24|0); | |
HEAP32[$171>>2] = $$3365; | |
} | |
} | |
} | |
} while(0); | |
$172 = $111 | 1; | |
$173 = ((($$1)) + 4|0); | |
HEAP32[$173>>2] = $172; | |
$174 = (($87) + ($111)|0); | |
HEAP32[$174>>2] = $111; | |
$175 = HEAP32[(4256)>>2]|0; | |
$176 = ($$1|0)==($175|0); | |
if ($176) { | |
HEAP32[(4244)>>2] = $111; | |
return; | |
} else { | |
$$2 = $111; | |
} | |
} else { | |
$177 = $90 & -2; | |
HEAP32[$89>>2] = $177; | |
$178 = $$1347 | 1; | |
$179 = ((($$1)) + 4|0); | |
HEAP32[$179>>2] = $178; | |
$180 = (($87) + ($$1347)|0); | |
HEAP32[$180>>2] = $$1347; | |
$$2 = $$1347; | |
} | |
$181 = $$2 >>> 3; | |
$182 = ($$2>>>0)<(256); | |
if ($182) { | |
$183 = $181 << 1; | |
$184 = (4276 + ($183<<2)|0); | |
$185 = HEAP32[1059]|0; | |
$186 = 1 << $181; | |
$187 = $185 & $186; | |
$188 = ($187|0)==(0); | |
if ($188) { | |
$189 = $185 | $186; | |
HEAP32[1059] = $189; | |
$$pre = ((($184)) + 8|0); | |
$$0368 = $184;$$pre$phiZ2D = $$pre; | |
} else { | |
$190 = ((($184)) + 8|0); | |
$191 = HEAP32[$190>>2]|0; | |
$$0368 = $191;$$pre$phiZ2D = $190; | |
} | |
HEAP32[$$pre$phiZ2D>>2] = $$1; | |
$192 = ((($$0368)) + 12|0); | |
HEAP32[$192>>2] = $$1; | |
$193 = ((($$1)) + 8|0); | |
HEAP32[$193>>2] = $$0368; | |
$194 = ((($$1)) + 12|0); | |
HEAP32[$194>>2] = $184; | |
return; | |
} | |
$195 = $$2 >>> 8; | |
$196 = ($195|0)==(0); | |
if ($196) { | |
$$0361 = 0; | |
} else { | |
$197 = ($$2>>>0)>(16777215); | |
if ($197) { | |
$$0361 = 31; | |
} else { | |
$198 = (($195) + 1048320)|0; | |
$199 = $198 >>> 16; | |
$200 = $199 & 8; | |
$201 = $195 << $200; | |
$202 = (($201) + 520192)|0; | |
$203 = $202 >>> 16; | |
$204 = $203 & 4; | |
$205 = $204 | $200; | |
$206 = $201 << $204; | |
$207 = (($206) + 245760)|0; | |
$208 = $207 >>> 16; | |
$209 = $208 & 2; | |
$210 = $205 | $209; | |
$211 = (14 - ($210))|0; | |
$212 = $206 << $209; | |
$213 = $212 >>> 15; | |
$214 = (($211) + ($213))|0; | |
$215 = $214 << 1; | |
$216 = (($214) + 7)|0; | |
$217 = $$2 >>> $216; | |
$218 = $217 & 1; | |
$219 = $218 | $215; | |
$$0361 = $219; | |
} | |
} | |
$220 = (4540 + ($$0361<<2)|0); | |
$221 = ((($$1)) + 28|0); | |
HEAP32[$221>>2] = $$0361; | |
$222 = ((($$1)) + 16|0); | |
$223 = ((($$1)) + 20|0); | |
HEAP32[$223>>2] = 0; | |
HEAP32[$222>>2] = 0; | |
$224 = HEAP32[(4240)>>2]|0; | |
$225 = 1 << $$0361; | |
$226 = $224 & $225; | |
$227 = ($226|0)==(0); | |
do { | |
if ($227) { | |
$228 = $224 | $225; | |
HEAP32[(4240)>>2] = $228; | |
HEAP32[$220>>2] = $$1; | |
$229 = ((($$1)) + 24|0); | |
HEAP32[$229>>2] = $220; | |
$230 = ((($$1)) + 12|0); | |
HEAP32[$230>>2] = $$1; | |
$231 = ((($$1)) + 8|0); | |
HEAP32[$231>>2] = $$1; | |
} else { | |
$232 = HEAP32[$220>>2]|0; | |
$233 = ($$0361|0)==(31); | |
$234 = $$0361 >>> 1; | |
$235 = (25 - ($234))|0; | |
$236 = $233 ? 0 : $235; | |
$237 = $$2 << $236; | |
$$0348 = $237;$$0349 = $232; | |
while(1) { | |
$238 = ((($$0349)) + 4|0); | |
$239 = HEAP32[$238>>2]|0; | |
$240 = $239 & -8; | |
$241 = ($240|0)==($$2|0); | |
if ($241) { | |
label = 73; | |
break; | |
} | |
$242 = $$0348 >>> 31; | |
$243 = (((($$0349)) + 16|0) + ($242<<2)|0); | |
$244 = $$0348 << 1; | |
$245 = HEAP32[$243>>2]|0; | |
$246 = ($245|0)==(0|0); | |
if ($246) { | |
label = 72; | |
break; | |
} else { | |
$$0348 = $244;$$0349 = $245; | |
} | |
} | |
if ((label|0) == 72) { | |
HEAP32[$243>>2] = $$1; | |
$247 = ((($$1)) + 24|0); | |
HEAP32[$247>>2] = $$0349; | |
$248 = ((($$1)) + 12|0); | |
HEAP32[$248>>2] = $$1; | |
$249 = ((($$1)) + 8|0); | |
HEAP32[$249>>2] = $$1; | |
break; | |
} | |
else if ((label|0) == 73) { | |
$250 = ((($$0349)) + 8|0); | |
$251 = HEAP32[$250>>2]|0; | |
$252 = ((($251)) + 12|0); | |
HEAP32[$252>>2] = $$1; | |
HEAP32[$250>>2] = $$1; | |
$253 = ((($$1)) + 8|0); | |
HEAP32[$253>>2] = $251; | |
$254 = ((($$1)) + 12|0); | |
HEAP32[$254>>2] = $$0349; | |
$255 = ((($$1)) + 24|0); | |
HEAP32[$255>>2] = 0; | |
break; | |
} | |
} | |
} while(0); | |
$256 = HEAP32[(4268)>>2]|0; | |
$257 = (($256) + -1)|0; | |
HEAP32[(4268)>>2] = $257; | |
$258 = ($257|0)==(0); | |
if ($258) { | |
$$0195$in$i = (4692); | |
} else { | |
return; | |
} | |
while(1) { | |
$$0195$i = HEAP32[$$0195$in$i>>2]|0; | |
$259 = ($$0195$i|0)==(0|0); | |
$260 = ((($$0195$i)) + 8|0); | |
if ($259) { | |
break; | |
} else { | |
$$0195$in$i = $260; | |
} | |
} | |
HEAP32[(4268)>>2] = -1; | |
return; | |
} | |
function _calloc($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$2 = ($0|0)==(0); | |
if ($2) { | |
$$0 = 0; | |
} else { | |
$3 = Math_imul($1, $0)|0; | |
$4 = $1 | $0; | |
$5 = ($4>>>0)>(65535); | |
if ($5) { | |
$6 = (($3>>>0) / ($0>>>0))&-1; | |
$7 = ($6|0)==($1|0); | |
$$ = $7 ? $3 : -1; | |
$$0 = $$; | |
} else { | |
$$0 = $3; | |
} | |
} | |
$8 = (_malloc($$0)|0); | |
$9 = ($8|0)==(0|0); | |
if ($9) { | |
return ($8|0); | |
} | |
$10 = ((($8)) + -4|0); | |
$11 = HEAP32[$10>>2]|0; | |
$12 = $11 & 3; | |
$13 = ($12|0)==(0); | |
if ($13) { | |
return ($8|0); | |
} | |
_memset(($8|0),0,($$0|0))|0; | |
return ($8|0); | |
} | |
function ___stdio_close($0) { | |
$0 = $0|0; | |
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$vararg_buffer = sp; | |
$1 = ((($0)) + 60|0); | |
$2 = HEAP32[$1>>2]|0; | |
$3 = (_dummy($2)|0); | |
HEAP32[$vararg_buffer>>2] = $3; | |
$4 = (___syscall6(6,($vararg_buffer|0))|0); | |
$5 = (___syscall_ret($4)|0); | |
STACKTOP = sp;return ($5|0); | |
} | |
function ___stdio_seek($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); | |
$vararg_buffer = sp; | |
$3 = sp + 20|0; | |
$4 = ((($0)) + 60|0); | |
$5 = HEAP32[$4>>2]|0; | |
$6 = $3; | |
HEAP32[$vararg_buffer>>2] = $5; | |
$vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
HEAP32[$vararg_ptr1>>2] = 0; | |
$vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
HEAP32[$vararg_ptr2>>2] = $1; | |
$vararg_ptr3 = ((($vararg_buffer)) + 12|0); | |
HEAP32[$vararg_ptr3>>2] = $6; | |
$vararg_ptr4 = ((($vararg_buffer)) + 16|0); | |
HEAP32[$vararg_ptr4>>2] = $2; | |
$7 = (___syscall140(140,($vararg_buffer|0))|0); | |
$8 = (___syscall_ret($7)|0); | |
$9 = ($8|0)<(0); | |
if ($9) { | |
HEAP32[$3>>2] = -1; | |
$10 = -1; | |
} else { | |
$$pre = HEAP32[$3>>2]|0; | |
$10 = $$pre; | |
} | |
STACKTOP = sp;return ($10|0); | |
} | |
function ___syscall_ret($0) { | |
$0 = $0|0; | |
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = ($0>>>0)>(4294963200); | |
if ($1) { | |
$2 = (0 - ($0))|0; | |
$3 = (___errno_location()|0); | |
HEAP32[$3>>2] = $2; | |
$$0 = -1; | |
} else { | |
$$0 = $0; | |
} | |
return ($$0|0); | |
} | |
function ___errno_location() { | |
var label = 0, sp = 0; | |
sp = STACKTOP; | |
return (4740|0); | |
} | |
function _dummy($0) { | |
$0 = $0|0; | |
var label = 0, sp = 0; | |
sp = STACKTOP; | |
return ($0|0); | |
} | |
function ___stdio_write($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; | |
var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; | |
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0; | |
var $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); | |
$vararg_buffer3 = sp + 16|0; | |
$vararg_buffer = sp; | |
$3 = sp + 32|0; | |
$4 = ((($0)) + 28|0); | |
$5 = HEAP32[$4>>2]|0; | |
HEAP32[$3>>2] = $5; | |
$6 = ((($3)) + 4|0); | |
$7 = ((($0)) + 20|0); | |
$8 = HEAP32[$7>>2]|0; | |
$9 = (($8) - ($5))|0; | |
HEAP32[$6>>2] = $9; | |
$10 = ((($3)) + 8|0); | |
HEAP32[$10>>2] = $1; | |
$11 = ((($3)) + 12|0); | |
HEAP32[$11>>2] = $2; | |
$12 = (($9) + ($2))|0; | |
$13 = ((($0)) + 60|0); | |
$14 = HEAP32[$13>>2]|0; | |
$15 = $3; | |
HEAP32[$vararg_buffer>>2] = $14; | |
$vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
HEAP32[$vararg_ptr1>>2] = $15; | |
$vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
HEAP32[$vararg_ptr2>>2] = 2; | |
$16 = (___syscall146(146,($vararg_buffer|0))|0); | |
$17 = (___syscall_ret($16)|0); | |
$18 = ($12|0)==($17|0); | |
L1: do { | |
if ($18) { | |
label = 3; | |
} else { | |
$$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; | |
while(1) { | |
$27 = ($26|0)<(0); | |
if ($27) { | |
break; | |
} | |
$35 = (($$04855) - ($26))|0; | |
$36 = ((($$04954)) + 4|0); | |
$37 = HEAP32[$36>>2]|0; | |
$38 = ($26>>>0)>($37>>>0); | |
$39 = ((($$04954)) + 8|0); | |
$$150 = $38 ? $39 : $$04954; | |
$40 = $38 << 31 >> 31; | |
$$1 = (($$04756) + ($40))|0; | |
$41 = $38 ? $37 : 0; | |
$$0 = (($26) - ($41))|0; | |
$42 = HEAP32[$$150>>2]|0; | |
$43 = (($42) + ($$0)|0); | |
HEAP32[$$150>>2] = $43; | |
$44 = ((($$150)) + 4|0); | |
$45 = HEAP32[$44>>2]|0; | |
$46 = (($45) - ($$0))|0; | |
HEAP32[$44>>2] = $46; | |
$47 = HEAP32[$13>>2]|0; | |
$48 = $$150; | |
HEAP32[$vararg_buffer3>>2] = $47; | |
$vararg_ptr6 = ((($vararg_buffer3)) + 4|0); | |
HEAP32[$vararg_ptr6>>2] = $48; | |
$vararg_ptr7 = ((($vararg_buffer3)) + 8|0); | |
HEAP32[$vararg_ptr7>>2] = $$1; | |
$49 = (___syscall146(146,($vararg_buffer3|0))|0); | |
$50 = (___syscall_ret($49)|0); | |
$51 = ($35|0)==($50|0); | |
if ($51) { | |
label = 3; | |
break L1; | |
} else { | |
$$04756 = $$1;$$04855 = $35;$$04954 = $$150;$26 = $50; | |
} | |
} | |
$28 = ((($0)) + 16|0); | |
HEAP32[$28>>2] = 0; | |
HEAP32[$4>>2] = 0; | |
HEAP32[$7>>2] = 0; | |
$29 = HEAP32[$0>>2]|0; | |
$30 = $29 | 32; | |
HEAP32[$0>>2] = $30; | |
$31 = ($$04756|0)==(2); | |
if ($31) { | |
$$051 = 0; | |
} else { | |
$32 = ((($$04954)) + 4|0); | |
$33 = HEAP32[$32>>2]|0; | |
$34 = (($2) - ($33))|0; | |
$$051 = $34; | |
} | |
} | |
} while(0); | |
if ((label|0) == 3) { | |
$19 = ((($0)) + 44|0); | |
$20 = HEAP32[$19>>2]|0; | |
$21 = ((($0)) + 48|0); | |
$22 = HEAP32[$21>>2]|0; | |
$23 = (($20) + ($22)|0); | |
$24 = ((($0)) + 16|0); | |
HEAP32[$24>>2] = $23; | |
$25 = $20; | |
HEAP32[$4>>2] = $25; | |
HEAP32[$7>>2] = $25; | |
$$051 = $2; | |
} | |
STACKTOP = sp;return ($$051|0); | |
} | |
function ___stdout_write($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); | |
$vararg_buffer = sp; | |
$3 = sp + 16|0; | |
$4 = ((($0)) + 36|0); | |
HEAP32[$4>>2] = 2; | |
$5 = HEAP32[$0>>2]|0; | |
$6 = $5 & 64; | |
$7 = ($6|0)==(0); | |
if ($7) { | |
$8 = ((($0)) + 60|0); | |
$9 = HEAP32[$8>>2]|0; | |
$10 = $3; | |
HEAP32[$vararg_buffer>>2] = $9; | |
$vararg_ptr1 = ((($vararg_buffer)) + 4|0); | |
HEAP32[$vararg_ptr1>>2] = 21523; | |
$vararg_ptr2 = ((($vararg_buffer)) + 8|0); | |
HEAP32[$vararg_ptr2>>2] = $10; | |
$11 = (___syscall54(54,($vararg_buffer|0))|0); | |
$12 = ($11|0)==(0); | |
if (!($12)) { | |
$13 = ((($0)) + 75|0); | |
HEAP8[$13>>0] = -1; | |
} | |
} | |
$14 = (___stdio_write($0,$1,$2)|0); | |
STACKTOP = sp;return ($14|0); | |
} | |
function _strlen($0) { | |
$0 = $0|0; | |
var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; | |
var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = $0; | |
$2 = $1 & 3; | |
$3 = ($2|0)==(0); | |
L1: do { | |
if ($3) { | |
$$015$lcssa = $0; | |
label = 4; | |
} else { | |
$$01519 = $0;$23 = $1; | |
while(1) { | |
$4 = HEAP8[$$01519>>0]|0; | |
$5 = ($4<<24>>24)==(0); | |
if ($5) { | |
$$sink = $23; | |
break L1; | |
} | |
$6 = ((($$01519)) + 1|0); | |
$7 = $6; | |
$8 = $7 & 3; | |
$9 = ($8|0)==(0); | |
if ($9) { | |
$$015$lcssa = $6; | |
label = 4; | |
break; | |
} else { | |
$$01519 = $6;$23 = $7; | |
} | |
} | |
} | |
} while(0); | |
if ((label|0) == 4) { | |
$$0 = $$015$lcssa; | |
while(1) { | |
$10 = HEAP32[$$0>>2]|0; | |
$11 = (($10) + -16843009)|0; | |
$12 = $10 & -2139062144; | |
$13 = $12 ^ -2139062144; | |
$14 = $13 & $11; | |
$15 = ($14|0)==(0); | |
$16 = ((($$0)) + 4|0); | |
if ($15) { | |
$$0 = $16; | |
} else { | |
break; | |
} | |
} | |
$17 = $10&255; | |
$18 = ($17<<24>>24)==(0); | |
if ($18) { | |
$$1$lcssa = $$0; | |
} else { | |
$$pn = $$0; | |
while(1) { | |
$19 = ((($$pn)) + 1|0); | |
$$pre = HEAP8[$19>>0]|0; | |
$20 = ($$pre<<24>>24)==(0); | |
if ($20) { | |
$$1$lcssa = $19; | |
break; | |
} else { | |
$$pn = $19; | |
} | |
} | |
} | |
$21 = $$1$lcssa; | |
$$sink = $21; | |
} | |
$22 = (($$sink) - ($1))|0; | |
return ($22|0); | |
} | |
function _mbtowc($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; | |
var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; | |
var sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$3 = sp; | |
$4 = ($1|0)==(0|0); | |
L1: do { | |
if ($4) { | |
$$0 = 0; | |
} else { | |
$5 = ($2|0)==(0); | |
do { | |
if (!($5)) { | |
$6 = ($0|0)==(0|0); | |
$$ = $6 ? $3 : $0; | |
$7 = HEAP8[$1>>0]|0; | |
$8 = ($7<<24>>24)>(-1); | |
if ($8) { | |
$9 = $7&255; | |
HEAP32[$$>>2] = $9; | |
$10 = ($7<<24>>24)!=(0); | |
$11 = $10&1; | |
$$0 = $11; | |
break L1; | |
} | |
$12 = (___pthread_self_852()|0); | |
$13 = ((($12)) + 188|0); | |
$14 = HEAP32[$13>>2]|0; | |
$15 = HEAP32[$14>>2]|0; | |
$16 = ($15|0)==(0|0); | |
$17 = HEAP8[$1>>0]|0; | |
if ($16) { | |
$18 = $17 << 24 >> 24; | |
$19 = $18 & 57343; | |
HEAP32[$$>>2] = $19; | |
$$0 = 1; | |
break L1; | |
} | |
$20 = $17&255; | |
$21 = (($20) + -194)|0; | |
$22 = ($21>>>0)>(50); | |
if (!($22)) { | |
$23 = ((($1)) + 1|0); | |
$24 = (280 + ($21<<2)|0); | |
$25 = HEAP32[$24>>2]|0; | |
$26 = ($2>>>0)<(4); | |
if ($26) { | |
$27 = ($2*6)|0; | |
$28 = (($27) + -6)|0; | |
$29 = -2147483648 >>> $28; | |
$30 = $25 & $29; | |
$31 = ($30|0)==(0); | |
if (!($31)) { | |
break; | |
} | |
} | |
$32 = HEAP8[$23>>0]|0; | |
$33 = $32&255; | |
$34 = $33 >>> 3; | |
$35 = (($34) + -16)|0; | |
$36 = $25 >> 26; | |
$37 = (($34) + ($36))|0; | |
$38 = $35 | $37; | |
$39 = ($38>>>0)>(7); | |
if (!($39)) { | |
$40 = $25 << 6; | |
$41 = (($33) + -128)|0; | |
$42 = $41 | $40; | |
$43 = ($42|0)<(0); | |
if (!($43)) { | |
HEAP32[$$>>2] = $42; | |
$$0 = 2; | |
break L1; | |
} | |
$44 = ((($1)) + 2|0); | |
$45 = HEAP8[$44>>0]|0; | |
$46 = $45&255; | |
$47 = (($46) + -128)|0; | |
$48 = ($47>>>0)>(63); | |
if (!($48)) { | |
$49 = $42 << 6; | |
$50 = $47 | $49; | |
$51 = ($50|0)<(0); | |
if (!($51)) { | |
HEAP32[$$>>2] = $50; | |
$$0 = 3; | |
break L1; | |
} | |
$52 = ((($1)) + 3|0); | |
$53 = HEAP8[$52>>0]|0; | |
$54 = $53&255; | |
$55 = (($54) + -128)|0; | |
$56 = ($55>>>0)>(63); | |
if (!($56)) { | |
$57 = $50 << 6; | |
$58 = $55 | $57; | |
HEAP32[$$>>2] = $58; | |
$$0 = 4; | |
break L1; | |
} | |
} | |
} | |
} | |
} | |
} while(0); | |
$59 = (___errno_location()|0); | |
HEAP32[$59>>2] = 84; | |
$$0 = -1; | |
} | |
} while(0); | |
STACKTOP = sp;return ($$0|0); | |
} | |
function ___pthread_self_852() { | |
var $0 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$0 = (_pthread_self()|0); | |
return ($0|0); | |
} | |
function _pthread_self() { | |
var label = 0, sp = 0; | |
sp = STACKTOP; | |
return (484|0); | |
} | |
function _strcmp($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; | |
var sp = 0; | |
sp = STACKTOP; | |
$2 = HEAP8[$0>>0]|0; | |
$3 = HEAP8[$1>>0]|0; | |
$4 = ($2<<24>>24)!=($3<<24>>24); | |
$5 = ($2<<24>>24)==(0); | |
$or$cond9 = $5 | $4; | |
if ($or$cond9) { | |
$$lcssa = $3;$$lcssa8 = $2; | |
} else { | |
$$011 = $1;$$0710 = $0; | |
while(1) { | |
$6 = ((($$0710)) + 1|0); | |
$7 = ((($$011)) + 1|0); | |
$8 = HEAP8[$6>>0]|0; | |
$9 = HEAP8[$7>>0]|0; | |
$10 = ($8<<24>>24)!=($9<<24>>24); | |
$11 = ($8<<24>>24)==(0); | |
$or$cond = $11 | $10; | |
if ($or$cond) { | |
$$lcssa = $9;$$lcssa8 = $8; | |
break; | |
} else { | |
$$011 = $7;$$0710 = $6; | |
} | |
} | |
} | |
$12 = $$lcssa8&255; | |
$13 = $$lcssa&255; | |
$14 = (($12) - ($13))|0; | |
return ($14|0); | |
} | |
function _memchr($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; | |
var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; | |
var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$3 = $1 & 255; | |
$4 = $0; | |
$5 = $4 & 3; | |
$6 = ($5|0)!=(0); | |
$7 = ($2|0)!=(0); | |
$or$cond53 = $7 & $6; | |
L1: do { | |
if ($or$cond53) { | |
$8 = $1&255; | |
$$03555 = $0;$$03654 = $2; | |
while(1) { | |
$9 = HEAP8[$$03555>>0]|0; | |
$10 = ($9<<24>>24)==($8<<24>>24); | |
if ($10) { | |
$$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; | |
label = 6; | |
break L1; | |
} | |
$11 = ((($$03555)) + 1|0); | |
$12 = (($$03654) + -1)|0; | |
$13 = $11; | |
$14 = $13 & 3; | |
$15 = ($14|0)!=(0); | |
$16 = ($12|0)!=(0); | |
$or$cond = $16 & $15; | |
if ($or$cond) { | |
$$03555 = $11;$$03654 = $12; | |
} else { | |
$$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; | |
label = 5; | |
break; | |
} | |
} | |
} else { | |
$$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; | |
label = 5; | |
} | |
} while(0); | |
if ((label|0) == 5) { | |
if ($$lcssa) { | |
$$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; | |
label = 6; | |
} else { | |
$$2 = $$035$lcssa;$$3 = 0; | |
} | |
} | |
L8: do { | |
if ((label|0) == 6) { | |
$17 = HEAP8[$$035$lcssa65>>0]|0; | |
$18 = $1&255; | |
$19 = ($17<<24>>24)==($18<<24>>24); | |
if ($19) { | |
$$2 = $$035$lcssa65;$$3 = $$036$lcssa64; | |
} else { | |
$20 = Math_imul($3, 16843009)|0; | |
$21 = ($$036$lcssa64>>>0)>(3); | |
L11: do { | |
if ($21) { | |
$$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; | |
while(1) { | |
$22 = HEAP32[$$046>>2]|0; | |
$23 = $22 ^ $20; | |
$24 = (($23) + -16843009)|0; | |
$25 = $23 & -2139062144; | |
$26 = $25 ^ -2139062144; | |
$27 = $26 & $24; | |
$28 = ($27|0)==(0); | |
if (!($28)) { | |
break; | |
} | |
$29 = ((($$046)) + 4|0); | |
$30 = (($$13745) + -4)|0; | |
$31 = ($30>>>0)>(3); | |
if ($31) { | |
$$046 = $29;$$13745 = $30; | |
} else { | |
$$0$lcssa = $29;$$137$lcssa = $30; | |
label = 11; | |
break L11; | |
} | |
} | |
$$140 = $$046;$$23839 = $$13745; | |
} else { | |
$$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; | |
label = 11; | |
} | |
} while(0); | |
if ((label|0) == 11) { | |
$32 = ($$137$lcssa|0)==(0); | |
if ($32) { | |
$$2 = $$0$lcssa;$$3 = 0; | |
break; | |
} else { | |
$$140 = $$0$lcssa;$$23839 = $$137$lcssa; | |
} | |
} | |
while(1) { | |
$33 = HEAP8[$$140>>0]|0; | |
$34 = ($33<<24>>24)==($18<<24>>24); | |
if ($34) { | |
$$2 = $$140;$$3 = $$23839; | |
break L8; | |
} | |
$35 = ((($$140)) + 1|0); | |
$36 = (($$23839) + -1)|0; | |
$37 = ($36|0)==(0); | |
if ($37) { | |
$$2 = $35;$$3 = 0; | |
break; | |
} else { | |
$$140 = $35;$$23839 = $36; | |
} | |
} | |
} | |
} | |
} while(0); | |
$38 = ($$3|0)!=(0); | |
$39 = $38 ? $$2 : 0; | |
return ($39|0); | |
} | |
function ___lctrans_cur($0) { | |
$0 = $0|0; | |
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = (___pthread_self_397()|0); | |
$2 = ((($1)) + 188|0); | |
$3 = HEAP32[$2>>2]|0; | |
$4 = ((($3)) + 20|0); | |
$5 = HEAP32[$4>>2]|0; | |
$6 = (___lctrans_impl($0,$5)|0); | |
return ($6|0); | |
} | |
function _vfprintf($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; | |
var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; | |
var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); | |
$3 = sp + 120|0; | |
$4 = sp + 80|0; | |
$5 = sp; | |
$6 = sp + 136|0; | |
dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); | |
$vacopy_currentptr = HEAP32[$2>>2]|0; | |
HEAP32[$3>>2] = $vacopy_currentptr; | |
$7 = (_printf_core(0,$1,$3,$5,$4)|0); | |
$8 = ($7|0)<(0); | |
if ($8) { | |
$$0 = -1; | |
} else { | |
$9 = ((($0)) + 76|0); | |
$10 = HEAP32[$9>>2]|0; | |
$11 = ($10|0)>(-1); | |
if ($11) { | |
$12 = (___lockfile($0)|0); | |
$39 = $12; | |
} else { | |
$39 = 0; | |
} | |
$13 = HEAP32[$0>>2]|0; | |
$14 = $13 & 32; | |
$15 = ((($0)) + 74|0); | |
$16 = HEAP8[$15>>0]|0; | |
$17 = ($16<<24>>24)<(1); | |
if ($17) { | |
$18 = $13 & -33; | |
HEAP32[$0>>2] = $18; | |
} | |
$19 = ((($0)) + 48|0); | |
$20 = HEAP32[$19>>2]|0; | |
$21 = ($20|0)==(0); | |
if ($21) { | |
$23 = ((($0)) + 44|0); | |
$24 = HEAP32[$23>>2]|0; | |
HEAP32[$23>>2] = $6; | |
$25 = ((($0)) + 28|0); | |
HEAP32[$25>>2] = $6; | |
$26 = ((($0)) + 20|0); | |
HEAP32[$26>>2] = $6; | |
HEAP32[$19>>2] = 80; | |
$27 = ((($6)) + 80|0); | |
$28 = ((($0)) + 16|0); | |
HEAP32[$28>>2] = $27; | |
$29 = (_printf_core($0,$1,$3,$5,$4)|0); | |
$30 = ($24|0)==(0|0); | |
if ($30) { | |
$$1 = $29; | |
} else { | |
$31 = ((($0)) + 36|0); | |
$32 = HEAP32[$31>>2]|0; | |
(FUNCTION_TABLE_iiii[$32 & 7]($0,0,0)|0); | |
$33 = HEAP32[$26>>2]|0; | |
$34 = ($33|0)==(0|0); | |
$$ = $34 ? -1 : $29; | |
HEAP32[$23>>2] = $24; | |
HEAP32[$19>>2] = 0; | |
HEAP32[$28>>2] = 0; | |
HEAP32[$25>>2] = 0; | |
HEAP32[$26>>2] = 0; | |
$$1 = $$; | |
} | |
} else { | |
$22 = (_printf_core($0,$1,$3,$5,$4)|0); | |
$$1 = $22; | |
} | |
$35 = HEAP32[$0>>2]|0; | |
$36 = $35 & 32; | |
$37 = ($36|0)==(0); | |
$$1$ = $37 ? $$1 : -1; | |
$38 = $35 | $14; | |
HEAP32[$0>>2] = $38; | |
$40 = ($39|0)==(0); | |
if (!($40)) { | |
___unlockfile($0); | |
} | |
$$0 = $$1$; | |
} | |
STACKTOP = sp;return ($$0|0); | |
} | |
function _printf_core($0,$1,$2,$3,$4) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
$3 = $3|0; | |
$4 = $4|0; | |
var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229320 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240319 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; | |
var $$0249307 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262313 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230331 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241330 = 0, $$1244318 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; | |
var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242$lcssa = 0, $$2242306 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$283$ = 0, $$290 = 0, $$291 = 0, $$3257 = 0; | |
var $$3265 = 0, $$3272 = 0, $$3304 = 0, $$376 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; | |
var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; | |
var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; | |
var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; | |
var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; | |
var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; | |
var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; | |
var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; | |
var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0; | |
var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0; | |
var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; | |
var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0; | |
var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0.0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; | |
var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $35 = 0; | |
var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; | |
var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; | |
var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; | |
var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $brmerge = 0, $brmerge312 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0; | |
var $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0, $isdigittmp276 = 0, $or$cond = 0, $or$cond280 = 0, $or$cond282 = 0, $or$cond285 = 0, $storemerge = 0, $storemerge278 = 0, $trunc = 0, label = 0; | |
var sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); | |
$5 = sp + 16|0; | |
$6 = sp; | |
$7 = sp + 24|0; | |
$8 = sp + 8|0; | |
$9 = sp + 20|0; | |
HEAP32[$5>>2] = $1; | |
$10 = ($0|0)!=(0|0); | |
$11 = ((($7)) + 40|0); | |
$12 = $11; | |
$13 = ((($7)) + 39|0); | |
$14 = ((($8)) + 4|0); | |
$$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; | |
L1: while(1) { | |
$15 = ($$0247|0)>(-1); | |
do { | |
if ($15) { | |
$16 = (2147483647 - ($$0247))|0; | |
$17 = ($$0243|0)>($16|0); | |
if ($17) { | |
$18 = (___errno_location()|0); | |
HEAP32[$18>>2] = 75; | |
$$1248 = -1; | |
break; | |
} else { | |
$19 = (($$0243) + ($$0247))|0; | |
$$1248 = $19; | |
break; | |
} | |
} else { | |
$$1248 = $$0247; | |
} | |
} while(0); | |
$20 = HEAP8[$21>>0]|0; | |
$22 = ($20<<24>>24)==(0); | |
if ($22) { | |
label = 86; | |
break; | |
} else { | |
$23 = $20;$25 = $21; | |
} | |
L9: while(1) { | |
switch ($23<<24>>24) { | |
case 37: { | |
$$0249307 = $25;$27 = $25; | |
label = 9; | |
break L9; | |
break; | |
} | |
case 0: { | |
$$0249$lcssa = $25;$39 = $25; | |
break L9; | |
break; | |
} | |
default: { | |
} | |
} | |
$24 = ((($25)) + 1|0); | |
HEAP32[$5>>2] = $24; | |
$$pre = HEAP8[$24>>0]|0; | |
$23 = $$pre;$25 = $24; | |
} | |
L12: do { | |
if ((label|0) == 9) { | |
while(1) { | |
label = 0; | |
$26 = ((($27)) + 1|0); | |
$28 = HEAP8[$26>>0]|0; | |
$29 = ($28<<24>>24)==(37); | |
if (!($29)) { | |
$$0249$lcssa = $$0249307;$39 = $27; | |
break L12; | |
} | |
$30 = ((($$0249307)) + 1|0); | |
$31 = ((($27)) + 2|0); | |
HEAP32[$5>>2] = $31; | |
$32 = HEAP8[$31>>0]|0; | |
$33 = ($32<<24>>24)==(37); | |
if ($33) { | |
$$0249307 = $30;$27 = $31; | |
label = 9; | |
} else { | |
$$0249$lcssa = $30;$39 = $31; | |
break; | |
} | |
} | |
} | |
} while(0); | |
$34 = $$0249$lcssa; | |
$35 = $21; | |
$36 = (($34) - ($35))|0; | |
if ($10) { | |
_out_629($0,$21,$36); | |
} | |
$37 = ($36|0)==(0); | |
if (!($37)) { | |
$$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; | |
continue; | |
} | |
$38 = ((($39)) + 1|0); | |
$40 = HEAP8[$38>>0]|0; | |
$41 = $40 << 24 >> 24; | |
$isdigittmp = (($41) + -48)|0; | |
$isdigit = ($isdigittmp>>>0)<(10); | |
if ($isdigit) { | |
$42 = ((($39)) + 2|0); | |
$43 = HEAP8[$42>>0]|0; | |
$44 = ($43<<24>>24)==(36); | |
$45 = ((($39)) + 3|0); | |
$$376 = $44 ? $45 : $38; | |
$$$0269 = $44 ? 1 : $$0269; | |
$isdigittmp$ = $44 ? $isdigittmp : -1; | |
$$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$376; | |
} else { | |
$$0253 = -1;$$1270 = $$0269;$storemerge = $38; | |
} | |
HEAP32[$5>>2] = $storemerge; | |
$46 = HEAP8[$storemerge>>0]|0; | |
$47 = $46 << 24 >> 24; | |
$48 = (($47) + -32)|0; | |
$49 = ($48>>>0)>(31); | |
$50 = 1 << $48; | |
$51 = $50 & 75913; | |
$52 = ($51|0)==(0); | |
$brmerge312 = $49 | $52; | |
if ($brmerge312) { | |
$$0262$lcssa = 0;$$lcssa295 = $46;$69 = $storemerge; | |
} else { | |
$$0262313 = 0;$54 = $46;$59 = $storemerge; | |
while(1) { | |
$53 = $54 << 24 >> 24; | |
$55 = (($53) + -32)|0; | |
$56 = 1 << $55; | |
$57 = $56 | $$0262313; | |
$58 = ((($59)) + 1|0); | |
HEAP32[$5>>2] = $58; | |
$60 = HEAP8[$58>>0]|0; | |
$61 = $60 << 24 >> 24; | |
$62 = (($61) + -32)|0; | |
$63 = ($62>>>0)>(31); | |
$64 = 1 << $62; | |
$65 = $64 & 75913; | |
$66 = ($65|0)==(0); | |
$brmerge = $63 | $66; | |
if ($brmerge) { | |
$$0262$lcssa = $57;$$lcssa295 = $60;$69 = $58; | |
break; | |
} else { | |
$$0262313 = $57;$54 = $60;$59 = $58; | |
} | |
} | |
} | |
$67 = ($$lcssa295<<24>>24)==(42); | |
if ($67) { | |
$68 = ((($69)) + 1|0); | |
$70 = HEAP8[$68>>0]|0; | |
$71 = $70 << 24 >> 24; | |
$isdigittmp276 = (($71) + -48)|0; | |
$isdigit277 = ($isdigittmp276>>>0)<(10); | |
if ($isdigit277) { | |
$72 = ((($69)) + 2|0); | |
$73 = HEAP8[$72>>0]|0; | |
$74 = ($73<<24>>24)==(36); | |
if ($74) { | |
$75 = (($4) + ($isdigittmp276<<2)|0); | |
HEAP32[$75>>2] = 10; | |
$76 = HEAP8[$68>>0]|0; | |
$77 = $76 << 24 >> 24; | |
$78 = (($77) + -48)|0; | |
$79 = (($3) + ($78<<3)|0); | |
$80 = $79; | |
$81 = $80; | |
$82 = HEAP32[$81>>2]|0; | |
$83 = (($80) + 4)|0; | |
$84 = $83; | |
$85 = HEAP32[$84>>2]|0; | |
$86 = ((($69)) + 3|0); | |
$$0259 = $82;$$2271 = 1;$storemerge278 = $86; | |
} else { | |
label = 22; | |
} | |
} else { | |
label = 22; | |
} | |
if ((label|0) == 22) { | |
label = 0; | |
$87 = ($$1270|0)==(0); | |
if (!($87)) { | |
$$0 = -1; | |
break; | |
} | |
if ($10) { | |
$arglist_current = HEAP32[$2>>2]|0; | |
$88 = $arglist_current; | |
$89 = ((0) + 4|0); | |
$expanded4 = $89; | |
$expanded = (($expanded4) - 1)|0; | |
$90 = (($88) + ($expanded))|0; | |
$91 = ((0) + 4|0); | |
$expanded8 = $91; | |
$expanded7 = (($expanded8) - 1)|0; | |
$expanded6 = $expanded7 ^ -1; | |
$92 = $90 & $expanded6; | |
$93 = $92; | |
$94 = HEAP32[$93>>2]|0; | |
$arglist_next = ((($93)) + 4|0); | |
HEAP32[$2>>2] = $arglist_next; | |
$$0259 = $94;$$2271 = 0;$storemerge278 = $68; | |
} else { | |
$$0259 = 0;$$2271 = 0;$storemerge278 = $68; | |
} | |
} | |
HEAP32[$5>>2] = $storemerge278; | |
$95 = ($$0259|0)<(0); | |
$96 = $$0262$lcssa | 8192; | |
$97 = (0 - ($$0259))|0; | |
$$$0262 = $95 ? $96 : $$0262$lcssa; | |
$$$0259 = $95 ? $97 : $$0259; | |
$$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$101 = $storemerge278; | |
} else { | |
$98 = (_getint_630($5)|0); | |
$99 = ($98|0)<(0); | |
if ($99) { | |
$$0 = -1; | |
break; | |
} | |
$$pre346 = HEAP32[$5>>2]|0; | |
$$1260 = $98;$$1263 = $$0262$lcssa;$$3272 = $$1270;$101 = $$pre346; | |
} | |
$100 = HEAP8[$101>>0]|0; | |
$102 = ($100<<24>>24)==(46); | |
do { | |
if ($102) { | |
$103 = ((($101)) + 1|0); | |
$104 = HEAP8[$103>>0]|0; | |
$105 = ($104<<24>>24)==(42); | |
if (!($105)) { | |
$132 = ((($101)) + 1|0); | |
HEAP32[$5>>2] = $132; | |
$133 = (_getint_630($5)|0); | |
$$pre347$pre = HEAP32[$5>>2]|0; | |
$$0254 = $133;$$pre347 = $$pre347$pre; | |
break; | |
} | |
$106 = ((($101)) + 2|0); | |
$107 = HEAP8[$106>>0]|0; | |
$108 = $107 << 24 >> 24; | |
$isdigittmp274 = (($108) + -48)|0; | |
$isdigit275 = ($isdigittmp274>>>0)<(10); | |
if ($isdigit275) { | |
$109 = ((($101)) + 3|0); | |
$110 = HEAP8[$109>>0]|0; | |
$111 = ($110<<24>>24)==(36); | |
if ($111) { | |
$112 = (($4) + ($isdigittmp274<<2)|0); | |
HEAP32[$112>>2] = 10; | |
$113 = HEAP8[$106>>0]|0; | |
$114 = $113 << 24 >> 24; | |
$115 = (($114) + -48)|0; | |
$116 = (($3) + ($115<<3)|0); | |
$117 = $116; | |
$118 = $117; | |
$119 = HEAP32[$118>>2]|0; | |
$120 = (($117) + 4)|0; | |
$121 = $120; | |
$122 = HEAP32[$121>>2]|0; | |
$123 = ((($101)) + 4|0); | |
HEAP32[$5>>2] = $123; | |
$$0254 = $119;$$pre347 = $123; | |
break; | |
} | |
} | |
$124 = ($$3272|0)==(0); | |
if (!($124)) { | |
$$0 = -1; | |
break L1; | |
} | |
if ($10) { | |
$arglist_current2 = HEAP32[$2>>2]|0; | |
$125 = $arglist_current2; | |
$126 = ((0) + 4|0); | |
$expanded11 = $126; | |
$expanded10 = (($expanded11) - 1)|0; | |
$127 = (($125) + ($expanded10))|0; | |
$128 = ((0) + 4|0); | |
$expanded15 = $128; | |
$expanded14 = (($expanded15) - 1)|0; | |
$expanded13 = $expanded14 ^ -1; | |
$129 = $127 & $expanded13; | |
$130 = $129; | |
$131 = HEAP32[$130>>2]|0; | |
$arglist_next3 = ((($130)) + 4|0); | |
HEAP32[$2>>2] = $arglist_next3; | |
$338 = $131; | |
} else { | |
$338 = 0; | |
} | |
HEAP32[$5>>2] = $106; | |
$$0254 = $338;$$pre347 = $106; | |
} else { | |
$$0254 = -1;$$pre347 = $101; | |
} | |
} while(0); | |
$$0252 = 0;$135 = $$pre347; | |
while(1) { | |
$134 = HEAP8[$135>>0]|0; | |
$136 = $134 << 24 >> 24; | |
$137 = (($136) + -65)|0; | |
$138 = ($137>>>0)>(57); | |
if ($138) { | |
$$0 = -1; | |
break L1; | |
} | |
$139 = ((($135)) + 1|0); | |
HEAP32[$5>>2] = $139; | |
$140 = HEAP8[$135>>0]|0; | |
$141 = $140 << 24 >> 24; | |
$142 = (($141) + -65)|0; | |
$143 = ((1340 + (($$0252*58)|0)|0) + ($142)|0); | |
$144 = HEAP8[$143>>0]|0; | |
$145 = $144&255; | |
$146 = (($145) + -1)|0; | |
$147 = ($146>>>0)<(8); | |
if ($147) { | |
$$0252 = $145;$135 = $139; | |
} else { | |
break; | |
} | |
} | |
$148 = ($144<<24>>24)==(0); | |
if ($148) { | |
$$0 = -1; | |
break; | |
} | |
$149 = ($144<<24>>24)==(19); | |
$150 = ($$0253|0)>(-1); | |
do { | |
if ($149) { | |
if ($150) { | |
$$0 = -1; | |
break L1; | |
} else { | |
label = 48; | |
} | |
} else { | |
if ($150) { | |
$151 = (($4) + ($$0253<<2)|0); | |
HEAP32[$151>>2] = $145; | |
$152 = (($3) + ($$0253<<3)|0); | |
$153 = $152; | |
$154 = $153; | |
$155 = HEAP32[$154>>2]|0; | |
$156 = (($153) + 4)|0; | |
$157 = $156; | |
$158 = HEAP32[$157>>2]|0; | |
$159 = $6; | |
$160 = $159; | |
HEAP32[$160>>2] = $155; | |
$161 = (($159) + 4)|0; | |
$162 = $161; | |
HEAP32[$162>>2] = $158; | |
label = 48; | |
break; | |
} | |
if (!($10)) { | |
$$0 = 0; | |
break L1; | |
} | |
_pop_arg_632($6,$145,$2); | |
} | |
} while(0); | |
if ((label|0) == 48) { | |
label = 0; | |
if (!($10)) { | |
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139; | |
continue; | |
} | |
} | |
$163 = HEAP8[$135>>0]|0; | |
$164 = $163 << 24 >> 24; | |
$165 = ($$0252|0)!=(0); | |
$166 = $164 & 15; | |
$167 = ($166|0)==(3); | |
$or$cond280 = $165 & $167; | |
$168 = $164 & -33; | |
$$0235 = $or$cond280 ? $168 : $164; | |
$169 = $$1263 & 8192; | |
$170 = ($169|0)==(0); | |
$171 = $$1263 & -65537; | |
$$1263$ = $170 ? $$1263 : $171; | |
L70: do { | |
switch ($$0235|0) { | |
case 110: { | |
$trunc = $$0252&255; | |
switch ($trunc<<24>>24) { | |
case 0: { | |
$178 = HEAP32[$6>>2]|0; | |
HEAP32[$178>>2] = $$1248; | |
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139; | |
continue L1; | |
break; | |
} | |
case 1: { | |
$179 = HEAP32[$6>>2]|0; | |
HEAP32[$179>>2] = $$1248; | |
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139; | |
continue L1; | |
break; | |
} | |
case 2: { | |
$180 = ($$1248|0)<(0); | |
$181 = $180 << 31 >> 31; | |
$182 = HEAP32[$6>>2]|0; | |
$183 = $182; | |
$184 = $183; | |
HEAP32[$184>>2] = $$1248; | |
$185 = (($183) + 4)|0; | |
$186 = $185; | |
HEAP32[$186>>2] = $181; | |
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139; | |
continue L1; | |
break; | |
} | |
case 3: { | |
$187 = $$1248&65535; | |
$188 = HEAP32[$6>>2]|0; | |
HEAP16[$188>>1] = $187; | |
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139; | |
continue L1; | |
break; | |
} | |
case 4: { | |
$189 = $$1248&255; | |
$190 = HEAP32[$6>>2]|0; | |
HEAP8[$190>>0] = $189; | |
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139; | |
continue L1; | |
break; | |
} | |
case 6: { | |
$191 = HEAP32[$6>>2]|0; | |
HEAP32[$191>>2] = $$1248; | |
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139; | |
continue L1; | |
break; | |
} | |
case 7: { | |
$192 = ($$1248|0)<(0); | |
$193 = $192 << 31 >> 31; | |
$194 = HEAP32[$6>>2]|0; | |
$195 = $194; | |
$196 = $195; | |
HEAP32[$196>>2] = $$1248; | |
$197 = (($195) + 4)|0; | |
$198 = $197; | |
HEAP32[$198>>2] = $193; | |
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139; | |
continue L1; | |
break; | |
} | |
default: { | |
$$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $139; | |
continue L1; | |
} | |
} | |
break; | |
} | |
case 112: { | |
$199 = ($$0254>>>0)>(8); | |
$200 = $199 ? $$0254 : 8; | |
$201 = $$1263$ | 8; | |
$$1236 = 120;$$1255 = $200;$$3265 = $201; | |
label = 60; | |
break; | |
} | |
case 88: case 120: { | |
$$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; | |
label = 60; | |
break; | |
} | |
case 111: { | |
$217 = $6; | |
$218 = $217; | |
$219 = HEAP32[$218>>2]|0; | |
$220 = (($217) + 4)|0; | |
$221 = $220; | |
$222 = HEAP32[$221>>2]|0; | |
$223 = (_fmt_o($219,$222,$11)|0); | |
$224 = $$1263$ & 8; | |
$225 = ($224|0)==(0); | |
$226 = $223; | |
$227 = (($12) - ($226))|0; | |
$228 = ($$0254|0)>($227|0); | |
$229 = (($227) + 1)|0; | |
$230 = $225 | $228; | |
$$0254$$0254$ = $230 ? $$0254 : $229; | |
$$0228 = $223;$$1233 = 0;$$1238 = 1804;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$255 = $219;$257 = $222; | |
label = 66; | |
break; | |
} | |
case 105: case 100: { | |
$231 = $6; | |
$232 = $231; | |
$233 = HEAP32[$232>>2]|0; | |
$234 = (($231) + 4)|0; | |
$235 = $234; | |
$236 = HEAP32[$235>>2]|0; | |
$237 = ($236|0)<(0); | |
if ($237) { | |
$238 = (_i64Subtract(0,0,($233|0),($236|0))|0); | |
$239 = tempRet0; | |
$240 = $6; | |
$241 = $240; | |
HEAP32[$241>>2] = $238; | |
$242 = (($240) + 4)|0; | |
$243 = $242; | |
HEAP32[$243>>2] = $239; | |
$$0232 = 1;$$0237 = 1804;$250 = $238;$251 = $239; | |
label = 65; | |
break L70; | |
} else { | |
$244 = $$1263$ & 2048; | |
$245 = ($244|0)==(0); | |
$246 = $$1263$ & 1; | |
$247 = ($246|0)==(0); | |
$$ = $247 ? 1804 : (1806); | |
$$$ = $245 ? $$ : (1805); | |
$248 = $$1263$ & 2049; | |
$249 = ($248|0)!=(0); | |
$$283$ = $249&1; | |
$$0232 = $$283$;$$0237 = $$$;$250 = $233;$251 = $236; | |
label = 65; | |
break L70; | |
} | |
break; | |
} | |
case 117: { | |
$172 = $6; | |
$173 = $172; | |
$174 = HEAP32[$173>>2]|0; | |
$175 = (($172) + 4)|0; | |
$176 = $175; | |
$177 = HEAP32[$176>>2]|0; | |
$$0232 = 0;$$0237 = 1804;$250 = $174;$251 = $177; | |
label = 65; | |
break; | |
} | |
case 99: { | |
$267 = $6; | |
$268 = $267; | |
$269 = HEAP32[$268>>2]|0; | |
$270 = (($267) + 4)|0; | |
$271 = $270; | |
$272 = HEAP32[$271>>2]|0; | |
$273 = $269&255; | |
HEAP8[$13>>0] = $273; | |
$$2 = $13;$$2234 = 0;$$2239 = 1804;$$2251 = $11;$$5 = 1;$$6268 = $171; | |
break; | |
} | |
case 109: { | |
$274 = (___errno_location()|0); | |
$275 = HEAP32[$274>>2]|0; | |
$276 = (_strerror($275)|0); | |
$$1 = $276; | |
label = 70; | |
break; | |
} | |
case 115: { | |
$277 = HEAP32[$6>>2]|0; | |
$278 = ($277|0)!=(0|0); | |
$279 = $278 ? $277 : 1814; | |
$$1 = $279; | |
label = 70; | |
break; | |
} | |
case 67: { | |
$286 = $6; | |
$287 = $286; | |
$288 = HEAP32[$287>>2]|0; | |
$289 = (($286) + 4)|0; | |
$290 = $289; | |
$291 = HEAP32[$290>>2]|0; | |
HEAP32[$8>>2] = $288; | |
HEAP32[$14>>2] = 0; | |
HEAP32[$6>>2] = $8; | |
$$4258355 = -1;$339 = $8; | |
label = 74; | |
break; | |
} | |
case 83: { | |
$$pre349 = HEAP32[$6>>2]|0; | |
$292 = ($$0254|0)==(0); | |
if ($292) { | |
_pad_635($0,32,$$1260,0,$$1263$); | |
$$0240$lcssa357 = 0; | |
label = 83; | |
} else { | |
$$4258355 = $$0254;$339 = $$pre349; | |
label = 74; | |
} | |
break; | |
} | |
case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { | |
$314 = +HEAPF64[$6>>3]; | |
$315 = (_fmt_fp($0,$314,$$1260,$$0254,$$1263$,$$0235)|0); | |
$$0243 = $315;$$0247 = $$1248;$$0269 = $$3272;$21 = $139; | |
continue L1; | |
break; | |
} | |
default: { | |
$$2 = $21;$$2234 = 0;$$2239 = 1804;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; | |
} | |
} | |
} while(0); | |
L94: do { | |
if ((label|0) == 60) { | |
label = 0; | |
$202 = $6; | |
$203 = $202; | |
$204 = HEAP32[$203>>2]|0; | |
$205 = (($202) + 4)|0; | |
$206 = $205; | |
$207 = HEAP32[$206>>2]|0; | |
$208 = $$1236 & 32; | |
$209 = (_fmt_x($204,$207,$11,$208)|0); | |
$210 = ($204|0)==(0); | |
$211 = ($207|0)==(0); | |
$212 = $210 & $211; | |
$213 = $$3265 & 8; | |
$214 = ($213|0)==(0); | |
$or$cond282 = $214 | $212; | |
$215 = $$1236 >> 4; | |
$216 = (1804 + ($215)|0); | |
$$290 = $or$cond282 ? 1804 : $216; | |
$$291 = $or$cond282 ? 0 : 2; | |
$$0228 = $209;$$1233 = $$291;$$1238 = $$290;$$2256 = $$1255;$$4266 = $$3265;$255 = $204;$257 = $207; | |
label = 66; | |
} | |
else if ((label|0) == 65) { | |
label = 0; | |
$252 = (_fmt_u($250,$251,$11)|0); | |
$$0228 = $252;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$255 = $250;$257 = $251; | |
label = 66; | |
} | |
else if ((label|0) == 70) { | |
label = 0; | |
$280 = (_memchr($$1,0,$$0254)|0); | |
$281 = ($280|0)==(0|0); | |
$282 = $280; | |
$283 = $$1; | |
$284 = (($282) - ($283))|0; | |
$285 = (($$1) + ($$0254)|0); | |
$$3257 = $281 ? $$0254 : $284; | |
$$1250 = $281 ? $285 : $280; | |
$$2 = $$1;$$2234 = 0;$$2239 = 1804;$$2251 = $$1250;$$5 = $$3257;$$6268 = $171; | |
} | |
else if ((label|0) == 74) { | |
label = 0; | |
$$0229320 = $339;$$0240319 = 0;$$1244318 = 0; | |
while(1) { | |
$293 = HEAP32[$$0229320>>2]|0; | |
$294 = ($293|0)==(0); | |
if ($294) { | |
$$0240$lcssa = $$0240319;$$2245 = $$1244318; | |
break; | |
} | |
$295 = (_wctomb($9,$293)|0); | |
$296 = ($295|0)<(0); | |
$297 = (($$4258355) - ($$0240319))|0; | |
$298 = ($295>>>0)>($297>>>0); | |
$or$cond285 = $296 | $298; | |
if ($or$cond285) { | |
$$0240$lcssa = $$0240319;$$2245 = $295; | |
break; | |
} | |
$299 = ((($$0229320)) + 4|0); | |
$300 = (($295) + ($$0240319))|0; | |
$301 = ($$4258355>>>0)>($300>>>0); | |
if ($301) { | |
$$0229320 = $299;$$0240319 = $300;$$1244318 = $295; | |
} else { | |
$$0240$lcssa = $300;$$2245 = $295; | |
break; | |
} | |
} | |
$302 = ($$2245|0)<(0); | |
if ($302) { | |
$$0 = -1; | |
break L1; | |
} | |
_pad_635($0,32,$$1260,$$0240$lcssa,$$1263$); | |
$303 = ($$0240$lcssa|0)==(0); | |
if ($303) { | |
$$0240$lcssa357 = 0; | |
label = 83; | |
} else { | |
$$1230331 = $339;$$1241330 = 0; | |
while(1) { | |
$304 = HEAP32[$$1230331>>2]|0; | |
$305 = ($304|0)==(0); | |
if ($305) { | |
$$0240$lcssa357 = $$0240$lcssa; | |
label = 83; | |
break L94; | |
} | |
$306 = (_wctomb($9,$304)|0); | |
$307 = (($306) + ($$1241330))|0; | |
$308 = ($307|0)>($$0240$lcssa|0); | |
if ($308) { | |
$$0240$lcssa357 = $$0240$lcssa; | |
label = 83; | |
break L94; | |
} | |
$309 = ((($$1230331)) + 4|0); | |
_out_629($0,$9,$306); | |
$310 = ($307>>>0)<($$0240$lcssa>>>0); | |
if ($310) { | |
$$1230331 = $309;$$1241330 = $307; | |
} else { | |
$$0240$lcssa357 = $$0240$lcssa; | |
label = 83; | |
break; | |
} | |
} | |
} | |
} | |
} while(0); | |
if ((label|0) == 66) { | |
label = 0; | |
$253 = ($$2256|0)>(-1); | |
$254 = $$4266 & -65537; | |
$$$4266 = $253 ? $254 : $$4266; | |
$256 = ($255|0)!=(0); | |
$258 = ($257|0)!=(0); | |
$259 = $256 | $258; | |
$260 = ($$2256|0)!=(0); | |
$or$cond = $260 | $259; | |
$261 = $$0228; | |
$262 = (($12) - ($261))|0; | |
$263 = $259 ^ 1; | |
$264 = $263&1; | |
$265 = (($262) + ($264))|0; | |
$266 = ($$2256|0)>($265|0); | |
$$2256$ = $266 ? $$2256 : $265; | |
$$2256$$$2256 = $or$cond ? $$2256$ : $$2256; | |
$$0228$ = $or$cond ? $$0228 : $11; | |
$$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; | |
} | |
else if ((label|0) == 83) { | |
label = 0; | |
$311 = $$1263$ ^ 8192; | |
_pad_635($0,32,$$1260,$$0240$lcssa357,$311); | |
$312 = ($$1260|0)>($$0240$lcssa357|0); | |
$313 = $312 ? $$1260 : $$0240$lcssa357; | |
$$0243 = $313;$$0247 = $$1248;$$0269 = $$3272;$21 = $139; | |
continue; | |
} | |
$316 = $$2251; | |
$317 = $$2; | |
$318 = (($316) - ($317))|0; | |
$319 = ($$5|0)<($318|0); | |
$$$5 = $319 ? $318 : $$5; | |
$320 = (($$$5) + ($$2234))|0; | |
$321 = ($$1260|0)<($320|0); | |
$$2261 = $321 ? $320 : $$1260; | |
_pad_635($0,32,$$2261,$320,$$6268); | |
_out_629($0,$$2239,$$2234); | |
$322 = $$6268 ^ 65536; | |
_pad_635($0,48,$$2261,$320,$322); | |
_pad_635($0,48,$$$5,$318,0); | |
_out_629($0,$$2,$318); | |
$323 = $$6268 ^ 8192; | |
_pad_635($0,32,$$2261,$320,$323); | |
$$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $139; | |
} | |
L113: do { | |
if ((label|0) == 86) { | |
$324 = ($0|0)==(0|0); | |
if ($324) { | |
$325 = ($$0269|0)==(0); | |
if ($325) { | |
$$0 = 0; | |
} else { | |
$$2242306 = 1; | |
while(1) { | |
$326 = (($4) + ($$2242306<<2)|0); | |
$327 = HEAP32[$326>>2]|0; | |
$328 = ($327|0)==(0); | |
if ($328) { | |
$$2242$lcssa = $$2242306; | |
break; | |
} | |
$330 = (($3) + ($$2242306<<3)|0); | |
_pop_arg_632($330,$327,$2); | |
$331 = (($$2242306) + 1)|0; | |
$332 = ($$2242306|0)<(9); | |
if ($332) { | |
$$2242306 = $331; | |
} else { | |
$$2242$lcssa = $331; | |
break; | |
} | |
} | |
$329 = ($$2242$lcssa|0)<(10); | |
if ($329) { | |
$$3304 = $$2242$lcssa; | |
while(1) { | |
$335 = (($4) + ($$3304<<2)|0); | |
$336 = HEAP32[$335>>2]|0; | |
$337 = ($336|0)==(0); | |
if (!($337)) { | |
$$0 = -1; | |
break L113; | |
} | |
$333 = (($$3304) + 1)|0; | |
$334 = ($$3304|0)<(9); | |
if ($334) { | |
$$3304 = $333; | |
} else { | |
$$0 = 1; | |
break; | |
} | |
} | |
} else { | |
$$0 = 1; | |
} | |
} | |
} else { | |
$$0 = $$1248; | |
} | |
} | |
} while(0); | |
STACKTOP = sp;return ($$0|0); | |
} | |
function ___lockfile($0) { | |
$0 = $0|0; | |
var label = 0, sp = 0; | |
sp = STACKTOP; | |
return 0; | |
} | |
function ___unlockfile($0) { | |
$0 = $0|0; | |
var label = 0, sp = 0; | |
sp = STACKTOP; | |
return; | |
} | |
function _out_629($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$3 = HEAP32[$0>>2]|0; | |
$4 = $3 & 32; | |
$5 = ($4|0)==(0); | |
if ($5) { | |
(___fwritex($1,$2,$0)|0); | |
} | |
return; | |
} | |
function _getint_630($0) { | |
$0 = $0|0; | |
var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = HEAP32[$0>>2]|0; | |
$2 = HEAP8[$1>>0]|0; | |
$3 = $2 << 24 >> 24; | |
$isdigittmp4 = (($3) + -48)|0; | |
$isdigit5 = ($isdigittmp4>>>0)<(10); | |
if ($isdigit5) { | |
$$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; | |
while(1) { | |
$4 = ($$06*10)|0; | |
$5 = (($isdigittmp7) + ($4))|0; | |
$6 = ((($7)) + 1|0); | |
HEAP32[$0>>2] = $6; | |
$8 = HEAP8[$6>>0]|0; | |
$9 = $8 << 24 >> 24; | |
$isdigittmp = (($9) + -48)|0; | |
$isdigit = ($isdigittmp>>>0)<(10); | |
if ($isdigit) { | |
$$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; | |
} else { | |
$$0$lcssa = $5; | |
break; | |
} | |
} | |
} else { | |
$$0$lcssa = 0; | |
} | |
return ($$0$lcssa|0); | |
} | |
function _pop_arg_632($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; | |
var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; | |
var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; | |
var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; | |
var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; | |
var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; | |
var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; | |
var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; | |
var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; | |
var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$3 = ($1>>>0)>(20); | |
L1: do { | |
if (!($3)) { | |
do { | |
switch ($1|0) { | |
case 9: { | |
$arglist_current = HEAP32[$2>>2]|0; | |
$4 = $arglist_current; | |
$5 = ((0) + 4|0); | |
$expanded28 = $5; | |
$expanded = (($expanded28) - 1)|0; | |
$6 = (($4) + ($expanded))|0; | |
$7 = ((0) + 4|0); | |
$expanded32 = $7; | |
$expanded31 = (($expanded32) - 1)|0; | |
$expanded30 = $expanded31 ^ -1; | |
$8 = $6 & $expanded30; | |
$9 = $8; | |
$10 = HEAP32[$9>>2]|0; | |
$arglist_next = ((($9)) + 4|0); | |
HEAP32[$2>>2] = $arglist_next; | |
HEAP32[$0>>2] = $10; | |
break L1; | |
break; | |
} | |
case 10: { | |
$arglist_current2 = HEAP32[$2>>2]|0; | |
$11 = $arglist_current2; | |
$12 = ((0) + 4|0); | |
$expanded35 = $12; | |
$expanded34 = (($expanded35) - 1)|0; | |
$13 = (($11) + ($expanded34))|0; | |
$14 = ((0) + 4|0); | |
$expanded39 = $14; | |
$expanded38 = (($expanded39) - 1)|0; | |
$expanded37 = $expanded38 ^ -1; | |
$15 = $13 & $expanded37; | |
$16 = $15; | |
$17 = HEAP32[$16>>2]|0; | |
$arglist_next3 = ((($16)) + 4|0); | |
HEAP32[$2>>2] = $arglist_next3; | |
$18 = ($17|0)<(0); | |
$19 = $18 << 31 >> 31; | |
$20 = $0; | |
$21 = $20; | |
HEAP32[$21>>2] = $17; | |
$22 = (($20) + 4)|0; | |
$23 = $22; | |
HEAP32[$23>>2] = $19; | |
break L1; | |
break; | |
} | |
case 11: { | |
$arglist_current5 = HEAP32[$2>>2]|0; | |
$24 = $arglist_current5; | |
$25 = ((0) + 4|0); | |
$expanded42 = $25; | |
$expanded41 = (($expanded42) - 1)|0; | |
$26 = (($24) + ($expanded41))|0; | |
$27 = ((0) + 4|0); | |
$expanded46 = $27; | |
$expanded45 = (($expanded46) - 1)|0; | |
$expanded44 = $expanded45 ^ -1; | |
$28 = $26 & $expanded44; | |
$29 = $28; | |
$30 = HEAP32[$29>>2]|0; | |
$arglist_next6 = ((($29)) + 4|0); | |
HEAP32[$2>>2] = $arglist_next6; | |
$31 = $0; | |
$32 = $31; | |
HEAP32[$32>>2] = $30; | |
$33 = (($31) + 4)|0; | |
$34 = $33; | |
HEAP32[$34>>2] = 0; | |
break L1; | |
break; | |
} | |
case 12: { | |
$arglist_current8 = HEAP32[$2>>2]|0; | |
$35 = $arglist_current8; | |
$36 = ((0) + 8|0); | |
$expanded49 = $36; | |
$expanded48 = (($expanded49) - 1)|0; | |
$37 = (($35) + ($expanded48))|0; | |
$38 = ((0) + 8|0); | |
$expanded53 = $38; | |
$expanded52 = (($expanded53) - 1)|0; | |
$expanded51 = $expanded52 ^ -1; | |
$39 = $37 & $expanded51; | |
$40 = $39; | |
$41 = $40; | |
$42 = $41; | |
$43 = HEAP32[$42>>2]|0; | |
$44 = (($41) + 4)|0; | |
$45 = $44; | |
$46 = HEAP32[$45>>2]|0; | |
$arglist_next9 = ((($40)) + 8|0); | |
HEAP32[$2>>2] = $arglist_next9; | |
$47 = $0; | |
$48 = $47; | |
HEAP32[$48>>2] = $43; | |
$49 = (($47) + 4)|0; | |
$50 = $49; | |
HEAP32[$50>>2] = $46; | |
break L1; | |
break; | |
} | |
case 13: { | |
$arglist_current11 = HEAP32[$2>>2]|0; | |
$51 = $arglist_current11; | |
$52 = ((0) + 4|0); | |
$expanded56 = $52; | |
$expanded55 = (($expanded56) - 1)|0; | |
$53 = (($51) + ($expanded55))|0; | |
$54 = ((0) + 4|0); | |
$expanded60 = $54; | |
$expanded59 = (($expanded60) - 1)|0; | |
$expanded58 = $expanded59 ^ -1; | |
$55 = $53 & $expanded58; | |
$56 = $55; | |
$57 = HEAP32[$56>>2]|0; | |
$arglist_next12 = ((($56)) + 4|0); | |
HEAP32[$2>>2] = $arglist_next12; | |
$58 = $57&65535; | |
$59 = $58 << 16 >> 16; | |
$60 = ($59|0)<(0); | |
$61 = $60 << 31 >> 31; | |
$62 = $0; | |
$63 = $62; | |
HEAP32[$63>>2] = $59; | |
$64 = (($62) + 4)|0; | |
$65 = $64; | |
HEAP32[$65>>2] = $61; | |
break L1; | |
break; | |
} | |
case 14: { | |
$arglist_current14 = HEAP32[$2>>2]|0; | |
$66 = $arglist_current14; | |
$67 = ((0) + 4|0); | |
$expanded63 = $67; | |
$expanded62 = (($expanded63) - 1)|0; | |
$68 = (($66) + ($expanded62))|0; | |
$69 = ((0) + 4|0); | |
$expanded67 = $69; | |
$expanded66 = (($expanded67) - 1)|0; | |
$expanded65 = $expanded66 ^ -1; | |
$70 = $68 & $expanded65; | |
$71 = $70; | |
$72 = HEAP32[$71>>2]|0; | |
$arglist_next15 = ((($71)) + 4|0); | |
HEAP32[$2>>2] = $arglist_next15; | |
$$mask31 = $72 & 65535; | |
$73 = $0; | |
$74 = $73; | |
HEAP32[$74>>2] = $$mask31; | |
$75 = (($73) + 4)|0; | |
$76 = $75; | |
HEAP32[$76>>2] = 0; | |
break L1; | |
break; | |
} | |
case 15: { | |
$arglist_current17 = HEAP32[$2>>2]|0; | |
$77 = $arglist_current17; | |
$78 = ((0) + 4|0); | |
$expanded70 = $78; | |
$expanded69 = (($expanded70) - 1)|0; | |
$79 = (($77) + ($expanded69))|0; | |
$80 = ((0) + 4|0); | |
$expanded74 = $80; | |
$expanded73 = (($expanded74) - 1)|0; | |
$expanded72 = $expanded73 ^ -1; | |
$81 = $79 & $expanded72; | |
$82 = $81; | |
$83 = HEAP32[$82>>2]|0; | |
$arglist_next18 = ((($82)) + 4|0); | |
HEAP32[$2>>2] = $arglist_next18; | |
$84 = $83&255; | |
$85 = $84 << 24 >> 24; | |
$86 = ($85|0)<(0); | |
$87 = $86 << 31 >> 31; | |
$88 = $0; | |
$89 = $88; | |
HEAP32[$89>>2] = $85; | |
$90 = (($88) + 4)|0; | |
$91 = $90; | |
HEAP32[$91>>2] = $87; | |
break L1; | |
break; | |
} | |
case 16: { | |
$arglist_current20 = HEAP32[$2>>2]|0; | |
$92 = $arglist_current20; | |
$93 = ((0) + 4|0); | |
$expanded77 = $93; | |
$expanded76 = (($expanded77) - 1)|0; | |
$94 = (($92) + ($expanded76))|0; | |
$95 = ((0) + 4|0); | |
$expanded81 = $95; | |
$expanded80 = (($expanded81) - 1)|0; | |
$expanded79 = $expanded80 ^ -1; | |
$96 = $94 & $expanded79; | |
$97 = $96; | |
$98 = HEAP32[$97>>2]|0; | |
$arglist_next21 = ((($97)) + 4|0); | |
HEAP32[$2>>2] = $arglist_next21; | |
$$mask = $98 & 255; | |
$99 = $0; | |
$100 = $99; | |
HEAP32[$100>>2] = $$mask; | |
$101 = (($99) + 4)|0; | |
$102 = $101; | |
HEAP32[$102>>2] = 0; | |
break L1; | |
break; | |
} | |
case 17: { | |
$arglist_current23 = HEAP32[$2>>2]|0; | |
$103 = $arglist_current23; | |
$104 = ((0) + 8|0); | |
$expanded84 = $104; | |
$expanded83 = (($expanded84) - 1)|0; | |
$105 = (($103) + ($expanded83))|0; | |
$106 = ((0) + 8|0); | |
$expanded88 = $106; | |
$expanded87 = (($expanded88) - 1)|0; | |
$expanded86 = $expanded87 ^ -1; | |
$107 = $105 & $expanded86; | |
$108 = $107; | |
$109 = +HEAPF64[$108>>3]; | |
$arglist_next24 = ((($108)) + 8|0); | |
HEAP32[$2>>2] = $arglist_next24; | |
HEAPF64[$0>>3] = $109; | |
break L1; | |
break; | |
} | |
case 18: { | |
$arglist_current26 = HEAP32[$2>>2]|0; | |
$110 = $arglist_current26; | |
$111 = ((0) + 8|0); | |
$expanded91 = $111; | |
$expanded90 = (($expanded91) - 1)|0; | |
$112 = (($110) + ($expanded90))|0; | |
$113 = ((0) + 8|0); | |
$expanded95 = $113; | |
$expanded94 = (($expanded95) - 1)|0; | |
$expanded93 = $expanded94 ^ -1; | |
$114 = $112 & $expanded93; | |
$115 = $114; | |
$116 = +HEAPF64[$115>>3]; | |
$arglist_next27 = ((($115)) + 8|0); | |
HEAP32[$2>>2] = $arglist_next27; | |
HEAPF64[$0>>3] = $116; | |
break L1; | |
break; | |
} | |
default: { | |
break L1; | |
} | |
} | |
} while(0); | |
} | |
} while(0); | |
return; | |
} | |
function _fmt_x($0,$1,$2,$3) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
$3 = $3|0; | |
var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; | |
var sp = 0; | |
sp = STACKTOP; | |
$4 = ($0|0)==(0); | |
$5 = ($1|0)==(0); | |
$6 = $4 & $5; | |
if ($6) { | |
$$05$lcssa = $2; | |
} else { | |
$$056 = $2;$15 = $1;$8 = $0; | |
while(1) { | |
$7 = $8 & 15; | |
$9 = (1856 + ($7)|0); | |
$10 = HEAP8[$9>>0]|0; | |
$11 = $10&255; | |
$12 = $11 | $3; | |
$13 = $12&255; | |
$14 = ((($$056)) + -1|0); | |
HEAP8[$14>>0] = $13; | |
$16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); | |
$17 = tempRet0; | |
$18 = ($16|0)==(0); | |
$19 = ($17|0)==(0); | |
$20 = $18 & $19; | |
if ($20) { | |
$$05$lcssa = $14; | |
break; | |
} else { | |
$$056 = $14;$15 = $17;$8 = $16; | |
} | |
} | |
} | |
return ($$05$lcssa|0); | |
} | |
function _fmt_o($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$3 = ($0|0)==(0); | |
$4 = ($1|0)==(0); | |
$5 = $3 & $4; | |
if ($5) { | |
$$0$lcssa = $2; | |
} else { | |
$$06 = $2;$11 = $1;$7 = $0; | |
while(1) { | |
$6 = $7&255; | |
$8 = $6 & 7; | |
$9 = $8 | 48; | |
$10 = ((($$06)) + -1|0); | |
HEAP8[$10>>0] = $9; | |
$12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); | |
$13 = tempRet0; | |
$14 = ($12|0)==(0); | |
$15 = ($13|0)==(0); | |
$16 = $14 & $15; | |
if ($16) { | |
$$0$lcssa = $10; | |
break; | |
} else { | |
$$06 = $10;$11 = $13;$7 = $12; | |
} | |
} | |
} | |
return ($$0$lcssa|0); | |
} | |
function _fmt_u($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; | |
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$3 = ($1>>>0)>(0); | |
$4 = ($0>>>0)>(4294967295); | |
$5 = ($1|0)==(0); | |
$6 = $5 & $4; | |
$7 = $3 | $6; | |
if ($7) { | |
$$0914 = $2;$8 = $0;$9 = $1; | |
while(1) { | |
$10 = (___uremdi3(($8|0),($9|0),10,0)|0); | |
$11 = tempRet0; | |
$12 = $10&255; | |
$13 = $12 | 48; | |
$14 = ((($$0914)) + -1|0); | |
HEAP8[$14>>0] = $13; | |
$15 = (___udivdi3(($8|0),($9|0),10,0)|0); | |
$16 = tempRet0; | |
$17 = ($9>>>0)>(9); | |
$18 = ($8>>>0)>(4294967295); | |
$19 = ($9|0)==(9); | |
$20 = $19 & $18; | |
$21 = $17 | $20; | |
if ($21) { | |
$$0914 = $14;$8 = $15;$9 = $16; | |
} else { | |
break; | |
} | |
} | |
$$010$lcssa$off0 = $15;$$09$lcssa = $14; | |
} else { | |
$$010$lcssa$off0 = $0;$$09$lcssa = $2; | |
} | |
$22 = ($$010$lcssa$off0|0)==(0); | |
if ($22) { | |
$$1$lcssa = $$09$lcssa; | |
} else { | |
$$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; | |
while(1) { | |
$23 = (($$012>>>0) % 10)&-1; | |
$24 = $23 | 48; | |
$25 = $24&255; | |
$26 = ((($$111)) + -1|0); | |
HEAP8[$26>>0] = $25; | |
$27 = (($$012>>>0) / 10)&-1; | |
$28 = ($$012>>>0)<(10); | |
if ($28) { | |
$$1$lcssa = $26; | |
break; | |
} else { | |
$$012 = $27;$$111 = $26; | |
} | |
} | |
} | |
return ($$1$lcssa|0); | |
} | |
function _strerror($0) { | |
$0 = $0|0; | |
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = (___pthread_self_465()|0); | |
$2 = ((($1)) + 188|0); | |
$3 = HEAP32[$2>>2]|0; | |
$4 = (___strerror_l($0,$3)|0); | |
return ($4|0); | |
} | |
function _pad_635($0,$1,$2,$3,$4) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
$3 = $3|0; | |
$4 = $4|0; | |
var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); | |
$5 = sp; | |
$6 = $4 & 73728; | |
$7 = ($6|0)==(0); | |
$8 = ($2|0)>($3|0); | |
$or$cond = $8 & $7; | |
if ($or$cond) { | |
$9 = (($2) - ($3))|0; | |
$10 = ($9>>>0)<(256); | |
$11 = $10 ? $9 : 256; | |
_memset(($5|0),($1|0),($11|0))|0; | |
$12 = ($9>>>0)>(255); | |
if ($12) { | |
$13 = (($2) - ($3))|0; | |
$$011 = $9; | |
while(1) { | |
_out_629($0,$5,256); | |
$14 = (($$011) + -256)|0; | |
$15 = ($14>>>0)>(255); | |
if ($15) { | |
$$011 = $14; | |
} else { | |
break; | |
} | |
} | |
$16 = $13 & 255; | |
$$0$lcssa = $16; | |
} else { | |
$$0$lcssa = $9; | |
} | |
_out_629($0,$5,$$0$lcssa); | |
} | |
STACKTOP = sp;return; | |
} | |
function _wctomb($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$2 = ($0|0)==(0|0); | |
if ($2) { | |
$$0 = 0; | |
} else { | |
$3 = (_wcrtomb($0,$1,0)|0); | |
$$0 = $3; | |
} | |
return ($$0|0); | |
} | |
function _fmt_fp($0,$1,$2,$3,$4,$5) { | |
$0 = $0|0; | |
$1 = +$1; | |
$2 = $2|0; | |
$3 = $3|0; | |
$4 = $4|0; | |
$5 = $5|0; | |
var $$ = 0, $$$ = 0, $$$$564 = 0.0, $$$3484 = 0, $$$3484699 = 0, $$$3484700 = 0, $$$3501 = 0, $$$4502 = 0, $$$543 = 0.0, $$$564 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463587 = 0, $$0464597 = 0, $$0471 = 0.0, $$0479 = 0, $$0487644 = 0, $$0488 = 0, $$0488655 = 0, $$0488657 = 0; | |
var $$0496$$9 = 0, $$0497656 = 0, $$0498 = 0, $$0509585 = 0.0, $$0510 = 0, $$0511 = 0, $$0514639 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0527 = 0, $$0527$in633 = 0, $$0530638 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0, $$1480 = 0, $$1482$lcssa = 0; | |
var $$1482663 = 0, $$1489643 = 0, $$1499$lcssa = 0, $$1499662 = 0, $$1508586 = 0, $$1512$lcssa = 0, $$1512610 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528617 = 0, $$1531$lcssa = 0, $$1531632 = 0, $$1601 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$549 = 0, $$2476$$551 = 0, $$2483$ph = 0; | |
var $$2500 = 0, $$2513 = 0, $$2516621 = 0, $$2529 = 0, $$2532620 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484650 = 0, $$3501$lcssa = 0, $$3501649 = 0, $$3533616 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478593 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0, $$5$lcssa = 0, $$534$ = 0; | |
var $$540 = 0, $$540$ = 0, $$543 = 0.0, $$548 = 0, $$5486$lcssa = 0, $$5486626 = 0, $$5493600 = 0, $$550 = 0, $$5519$ph = 0, $$557 = 0, $$5605 = 0, $$561 = 0, $$564 = 0.0, $$6 = 0, $$6494592 = 0, $$7495604 = 0, $$7505 = 0, $$7505$ = 0, $$7505$ph = 0, $$8 = 0; | |
var $$9$ph = 0, $$lcssa675 = 0, $$neg = 0, $$neg568 = 0, $$pn = 0, $$pr = 0, $$pr566 = 0, $$pre = 0, $$pre$phi691Z2D = 0, $$pre$phi698Z2D = 0, $$pre690 = 0, $$pre693 = 0, $$pre697 = 0, $$sink = 0, $$sink547$lcssa = 0, $$sink547625 = 0, $$sink560 = 0, $10 = 0, $100 = 0, $101 = 0; | |
var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0; | |
var $120 = 0.0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; | |
var $139 = 0, $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; | |
var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; | |
var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; | |
var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; | |
var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0; | |
var $23 = 0, $230 = 0, $231 = 0.0, $232 = 0.0, $233 = 0, $234 = 0.0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0; | |
var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0; | |
var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0; | |
var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0; | |
var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0; | |
var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0; | |
var $339 = 0, $34 = 0.0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0; | |
var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0; | |
var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $40 = 0; | |
var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0; | |
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; | |
var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; | |
var $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond542 = 0, $or$cond545 = 0, $or$cond556 = 0, $or$cond6 = 0, $scevgep686 = 0, $scevgep686687 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); | |
$6 = sp + 8|0; | |
$7 = sp; | |
$8 = sp + 524|0; | |
$9 = $8; | |
$10 = sp + 512|0; | |
HEAP32[$7>>2] = 0; | |
$11 = ((($10)) + 12|0); | |
(___DOUBLE_BITS_636($1)|0); | |
$12 = tempRet0; | |
$13 = ($12|0)<(0); | |
if ($13) { | |
$14 = -$1; | |
$$0471 = $14;$$0520 = 1;$$0521 = 1821; | |
} else { | |
$15 = $4 & 2048; | |
$16 = ($15|0)==(0); | |
$17 = $4 & 1; | |
$18 = ($17|0)==(0); | |
$$ = $18 ? (1822) : (1827); | |
$$$ = $16 ? $$ : (1824); | |
$19 = $4 & 2049; | |
$20 = ($19|0)!=(0); | |
$$534$ = $20&1; | |
$$0471 = $1;$$0520 = $$534$;$$0521 = $$$; | |
} | |
(___DOUBLE_BITS_636($$0471)|0); | |
$21 = tempRet0; | |
$22 = $21 & 2146435072; | |
$23 = (0)==(0); | |
$24 = ($22|0)==(2146435072); | |
$25 = $23 & $24; | |
do { | |
if ($25) { | |
$26 = $5 & 32; | |
$27 = ($26|0)!=(0); | |
$28 = $27 ? 1840 : 1844; | |
$29 = ($$0471 != $$0471) | (0.0 != 0.0); | |
$30 = $27 ? 1848 : 1852; | |
$$0510 = $29 ? $30 : $28; | |
$31 = (($$0520) + 3)|0; | |
$32 = $4 & -65537; | |
_pad_635($0,32,$2,$31,$32); | |
_out_629($0,$$0521,$$0520); | |
_out_629($0,$$0510,3); | |
$33 = $4 ^ 8192; | |
_pad_635($0,32,$2,$31,$33); | |
$$sink560 = $31; | |
} else { | |
$34 = (+_frexpl($$0471,$7)); | |
$35 = $34 * 2.0; | |
$36 = $35 != 0.0; | |
if ($36) { | |
$37 = HEAP32[$7>>2]|0; | |
$38 = (($37) + -1)|0; | |
HEAP32[$7>>2] = $38; | |
} | |
$39 = $5 | 32; | |
$40 = ($39|0)==(97); | |
if ($40) { | |
$41 = $5 & 32; | |
$42 = ($41|0)==(0); | |
$43 = ((($$0521)) + 9|0); | |
$$0521$ = $42 ? $$0521 : $43; | |
$44 = $$0520 | 2; | |
$45 = ($3>>>0)>(11); | |
$46 = (12 - ($3))|0; | |
$47 = ($46|0)==(0); | |
$48 = $45 | $47; | |
do { | |
if ($48) { | |
$$1472 = $35; | |
} else { | |
$$0509585 = 8.0;$$1508586 = $46; | |
while(1) { | |
$49 = (($$1508586) + -1)|0; | |
$50 = $$0509585 * 16.0; | |
$51 = ($49|0)==(0); | |
if ($51) { | |
break; | |
} else { | |
$$0509585 = $50;$$1508586 = $49; | |
} | |
} | |
$52 = HEAP8[$$0521$>>0]|0; | |
$53 = ($52<<24>>24)==(45); | |
if ($53) { | |
$54 = -$35; | |
$55 = $54 - $50; | |
$56 = $50 + $55; | |
$57 = -$56; | |
$$1472 = $57; | |
break; | |
} else { | |
$58 = $35 + $50; | |
$59 = $58 - $50; | |
$$1472 = $59; | |
break; | |
} | |
} | |
} while(0); | |
$60 = HEAP32[$7>>2]|0; | |
$61 = ($60|0)<(0); | |
$62 = (0 - ($60))|0; | |
$63 = $61 ? $62 : $60; | |
$64 = ($63|0)<(0); | |
$65 = $64 << 31 >> 31; | |
$66 = (_fmt_u($63,$65,$11)|0); | |
$67 = ($66|0)==($11|0); | |
if ($67) { | |
$68 = ((($10)) + 11|0); | |
HEAP8[$68>>0] = 48; | |
$$0511 = $68; | |
} else { | |
$$0511 = $66; | |
} | |
$69 = $60 >> 31; | |
$70 = $69 & 2; | |
$71 = (($70) + 43)|0; | |
$72 = $71&255; | |
$73 = ((($$0511)) + -1|0); | |
HEAP8[$73>>0] = $72; | |
$74 = (($5) + 15)|0; | |
$75 = $74&255; | |
$76 = ((($$0511)) + -2|0); | |
HEAP8[$76>>0] = $75; | |
$77 = ($3|0)<(1); | |
$78 = $4 & 8; | |
$79 = ($78|0)==(0); | |
$$0523 = $8;$$2473 = $$1472; | |
while(1) { | |
$80 = (~~(($$2473))); | |
$81 = (1856 + ($80)|0); | |
$82 = HEAP8[$81>>0]|0; | |
$83 = $82&255; | |
$84 = $41 | $83; | |
$85 = $84&255; | |
$86 = ((($$0523)) + 1|0); | |
HEAP8[$$0523>>0] = $85; | |
$87 = (+($80|0)); | |
$88 = $$2473 - $87; | |
$89 = $88 * 16.0; | |
$90 = $86; | |
$91 = (($90) - ($9))|0; | |
$92 = ($91|0)==(1); | |
if ($92) { | |
$93 = $89 == 0.0; | |
$or$cond3$not = $77 & $93; | |
$or$cond = $79 & $or$cond3$not; | |
if ($or$cond) { | |
$$1524 = $86; | |
} else { | |
$94 = ((($$0523)) + 2|0); | |
HEAP8[$86>>0] = 46; | |
$$1524 = $94; | |
} | |
} else { | |
$$1524 = $86; | |
} | |
$95 = $89 != 0.0; | |
if ($95) { | |
$$0523 = $$1524;$$2473 = $89; | |
} else { | |
break; | |
} | |
} | |
$96 = ($3|0)==(0); | |
$$pre693 = $$1524; | |
if ($96) { | |
label = 24; | |
} else { | |
$97 = (-2 - ($9))|0; | |
$98 = (($97) + ($$pre693))|0; | |
$99 = ($98|0)<($3|0); | |
if ($99) { | |
$100 = (($3) + 2)|0; | |
$$pre690 = (($$pre693) - ($9))|0; | |
$$pre$phi691Z2D = $$pre690;$$sink = $100; | |
} else { | |
label = 24; | |
} | |
} | |
if ((label|0) == 24) { | |
$101 = (($$pre693) - ($9))|0; | |
$$pre$phi691Z2D = $101;$$sink = $101; | |
} | |
$102 = $11; | |
$103 = $76; | |
$104 = (($102) - ($103))|0; | |
$105 = (($104) + ($44))|0; | |
$106 = (($105) + ($$sink))|0; | |
_pad_635($0,32,$2,$106,$4); | |
_out_629($0,$$0521$,$44); | |
$107 = $4 ^ 65536; | |
_pad_635($0,48,$2,$106,$107); | |
_out_629($0,$8,$$pre$phi691Z2D); | |
$108 = (($$sink) - ($$pre$phi691Z2D))|0; | |
_pad_635($0,48,$108,0,0); | |
_out_629($0,$76,$104); | |
$109 = $4 ^ 8192; | |
_pad_635($0,32,$2,$106,$109); | |
$$sink560 = $106; | |
break; | |
} | |
$110 = ($3|0)<(0); | |
$$540 = $110 ? 6 : $3; | |
if ($36) { | |
$111 = $35 * 268435456.0; | |
$112 = HEAP32[$7>>2]|0; | |
$113 = (($112) + -28)|0; | |
HEAP32[$7>>2] = $113; | |
$$3 = $111;$$pr = $113; | |
} else { | |
$$pre = HEAP32[$7>>2]|0; | |
$$3 = $35;$$pr = $$pre; | |
} | |
$114 = ($$pr|0)<(0); | |
$115 = ((($6)) + 288|0); | |
$$561 = $114 ? $6 : $115; | |
$$0498 = $$561;$$4 = $$3; | |
while(1) { | |
$116 = (~~(($$4))>>>0); | |
HEAP32[$$0498>>2] = $116; | |
$117 = ((($$0498)) + 4|0); | |
$118 = (+($116>>>0)); | |
$119 = $$4 - $118; | |
$120 = $119 * 1.0E+9; | |
$121 = $120 != 0.0; | |
if ($121) { | |
$$0498 = $117;$$4 = $120; | |
} else { | |
break; | |
} | |
} | |
$122 = ($$pr|0)>(0); | |
if ($122) { | |
$$1482663 = $$561;$$1499662 = $117;$123 = $$pr; | |
while(1) { | |
$124 = ($123|0)<(29); | |
$125 = $124 ? $123 : 29; | |
$$0488655 = ((($$1499662)) + -4|0); | |
$126 = ($$0488655>>>0)<($$1482663>>>0); | |
if ($126) { | |
$$2483$ph = $$1482663; | |
} else { | |
$$0488657 = $$0488655;$$0497656 = 0; | |
while(1) { | |
$127 = HEAP32[$$0488657>>2]|0; | |
$128 = (_bitshift64Shl(($127|0),0,($125|0))|0); | |
$129 = tempRet0; | |
$130 = (_i64Add(($128|0),($129|0),($$0497656|0),0)|0); | |
$131 = tempRet0; | |
$132 = (___uremdi3(($130|0),($131|0),1000000000,0)|0); | |
$133 = tempRet0; | |
HEAP32[$$0488657>>2] = $132; | |
$134 = (___udivdi3(($130|0),($131|0),1000000000,0)|0); | |
$135 = tempRet0; | |
$$0488 = ((($$0488657)) + -4|0); | |
$136 = ($$0488>>>0)<($$1482663>>>0); | |
if ($136) { | |
break; | |
} else { | |
$$0488657 = $$0488;$$0497656 = $134; | |
} | |
} | |
$137 = ($134|0)==(0); | |
if ($137) { | |
$$2483$ph = $$1482663; | |
} else { | |
$138 = ((($$1482663)) + -4|0); | |
HEAP32[$138>>2] = $134; | |
$$2483$ph = $138; | |
} | |
} | |
$$2500 = $$1499662; | |
while(1) { | |
$139 = ($$2500>>>0)>($$2483$ph>>>0); | |
if (!($139)) { | |
break; | |
} | |
$140 = ((($$2500)) + -4|0); | |
$141 = HEAP32[$140>>2]|0; | |
$142 = ($141|0)==(0); | |
if ($142) { | |
$$2500 = $140; | |
} else { | |
break; | |
} | |
} | |
$143 = HEAP32[$7>>2]|0; | |
$144 = (($143) - ($125))|0; | |
HEAP32[$7>>2] = $144; | |
$145 = ($144|0)>(0); | |
if ($145) { | |
$$1482663 = $$2483$ph;$$1499662 = $$2500;$123 = $144; | |
} else { | |
$$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr566 = $144; | |
break; | |
} | |
} | |
} else { | |
$$1482$lcssa = $$561;$$1499$lcssa = $117;$$pr566 = $$pr; | |
} | |
$146 = ($$pr566|0)<(0); | |
if ($146) { | |
$147 = (($$540) + 25)|0; | |
$148 = (($147|0) / 9)&-1; | |
$149 = (($148) + 1)|0; | |
$150 = ($39|0)==(102); | |
$$3484650 = $$1482$lcssa;$$3501649 = $$1499$lcssa;$152 = $$pr566; | |
while(1) { | |
$151 = (0 - ($152))|0; | |
$153 = ($151|0)<(9); | |
$154 = $153 ? $151 : 9; | |
$155 = ($$3484650>>>0)<($$3501649>>>0); | |
if ($155) { | |
$159 = 1 << $154; | |
$160 = (($159) + -1)|0; | |
$161 = 1000000000 >>> $154; | |
$$0487644 = 0;$$1489643 = $$3484650; | |
while(1) { | |
$162 = HEAP32[$$1489643>>2]|0; | |
$163 = $162 & $160; | |
$164 = $162 >>> $154; | |
$165 = (($164) + ($$0487644))|0; | |
HEAP32[$$1489643>>2] = $165; | |
$166 = Math_imul($163, $161)|0; | |
$167 = ((($$1489643)) + 4|0); | |
$168 = ($167>>>0)<($$3501649>>>0); | |
if ($168) { | |
$$0487644 = $166;$$1489643 = $167; | |
} else { | |
break; | |
} | |
} | |
$169 = HEAP32[$$3484650>>2]|0; | |
$170 = ($169|0)==(0); | |
$171 = ((($$3484650)) + 4|0); | |
$$$3484 = $170 ? $171 : $$3484650; | |
$172 = ($166|0)==(0); | |
if ($172) { | |
$$$3484700 = $$$3484;$$4502 = $$3501649; | |
} else { | |
$173 = ((($$3501649)) + 4|0); | |
HEAP32[$$3501649>>2] = $166; | |
$$$3484700 = $$$3484;$$4502 = $173; | |
} | |
} else { | |
$156 = HEAP32[$$3484650>>2]|0; | |
$157 = ($156|0)==(0); | |
$158 = ((($$3484650)) + 4|0); | |
$$$3484699 = $157 ? $158 : $$3484650; | |
$$$3484700 = $$$3484699;$$4502 = $$3501649; | |
} | |
$174 = $150 ? $$561 : $$$3484700; | |
$175 = $$4502; | |
$176 = $174; | |
$177 = (($175) - ($176))|0; | |
$178 = $177 >> 2; | |
$179 = ($178|0)>($149|0); | |
$180 = (($174) + ($149<<2)|0); | |
$$$4502 = $179 ? $180 : $$4502; | |
$181 = HEAP32[$7>>2]|0; | |
$182 = (($181) + ($154))|0; | |
HEAP32[$7>>2] = $182; | |
$183 = ($182|0)<(0); | |
if ($183) { | |
$$3484650 = $$$3484700;$$3501649 = $$$4502;$152 = $182; | |
} else { | |
$$3484$lcssa = $$$3484700;$$3501$lcssa = $$$4502; | |
break; | |
} | |
} | |
} else { | |
$$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; | |
} | |
$184 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); | |
$185 = $$561; | |
if ($184) { | |
$186 = $$3484$lcssa; | |
$187 = (($185) - ($186))|0; | |
$188 = $187 >> 2; | |
$189 = ($188*9)|0; | |
$190 = HEAP32[$$3484$lcssa>>2]|0; | |
$191 = ($190>>>0)<(10); | |
if ($191) { | |
$$1515 = $189; | |
} else { | |
$$0514639 = $189;$$0530638 = 10; | |
while(1) { | |
$192 = ($$0530638*10)|0; | |
$193 = (($$0514639) + 1)|0; | |
$194 = ($190>>>0)<($192>>>0); | |
if ($194) { | |
$$1515 = $193; | |
break; | |
} else { | |
$$0514639 = $193;$$0530638 = $192; | |
} | |
} | |
} | |
} else { | |
$$1515 = 0; | |
} | |
$195 = ($39|0)!=(102); | |
$196 = $195 ? $$1515 : 0; | |
$197 = (($$540) - ($196))|0; | |
$198 = ($39|0)==(103); | |
$199 = ($$540|0)!=(0); | |
$200 = $199 & $198; | |
$$neg = $200 << 31 >> 31; | |
$201 = (($197) + ($$neg))|0; | |
$202 = $$3501$lcssa; | |
$203 = (($202) - ($185))|0; | |
$204 = $203 >> 2; | |
$205 = ($204*9)|0; | |
$206 = (($205) + -9)|0; | |
$207 = ($201|0)<($206|0); | |
if ($207) { | |
$208 = ((($$561)) + 4|0); | |
$209 = (($201) + 9216)|0; | |
$210 = (($209|0) / 9)&-1; | |
$211 = (($210) + -1024)|0; | |
$212 = (($208) + ($211<<2)|0); | |
$213 = (($209|0) % 9)&-1; | |
$214 = ($213|0)<(8); | |
if ($214) { | |
$$0527$in633 = $213;$$1531632 = 10; | |
while(1) { | |
$$0527 = (($$0527$in633) + 1)|0; | |
$215 = ($$1531632*10)|0; | |
$216 = ($$0527$in633|0)<(7); | |
if ($216) { | |
$$0527$in633 = $$0527;$$1531632 = $215; | |
} else { | |
$$1531$lcssa = $215; | |
break; | |
} | |
} | |
} else { | |
$$1531$lcssa = 10; | |
} | |
$217 = HEAP32[$212>>2]|0; | |
$218 = (($217>>>0) % ($$1531$lcssa>>>0))&-1; | |
$219 = ($218|0)==(0); | |
$220 = ((($212)) + 4|0); | |
$221 = ($220|0)==($$3501$lcssa|0); | |
$or$cond542 = $221 & $219; | |
if ($or$cond542) { | |
$$4492 = $212;$$4518 = $$1515;$$8 = $$3484$lcssa; | |
} else { | |
$222 = (($217>>>0) / ($$1531$lcssa>>>0))&-1; | |
$223 = $222 & 1; | |
$224 = ($223|0)==(0); | |
$$543 = $224 ? 9007199254740992.0 : 9007199254740994.0; | |
$225 = (($$1531$lcssa|0) / 2)&-1; | |
$226 = ($218>>>0)<($225>>>0); | |
$227 = ($218|0)==($225|0); | |
$or$cond545 = $221 & $227; | |
$$564 = $or$cond545 ? 1.0 : 1.5; | |
$$$564 = $226 ? 0.5 : $$564; | |
$228 = ($$0520|0)==(0); | |
if ($228) { | |
$$1467 = $$$564;$$1469 = $$543; | |
} else { | |
$229 = HEAP8[$$0521>>0]|0; | |
$230 = ($229<<24>>24)==(45); | |
$231 = -$$543; | |
$232 = -$$$564; | |
$$$543 = $230 ? $231 : $$543; | |
$$$$564 = $230 ? $232 : $$$564; | |
$$1467 = $$$$564;$$1469 = $$$543; | |
} | |
$233 = (($217) - ($218))|0; | |
HEAP32[$212>>2] = $233; | |
$234 = $$1469 + $$1467; | |
$235 = $234 != $$1469; | |
if ($235) { | |
$236 = (($233) + ($$1531$lcssa))|0; | |
HEAP32[$212>>2] = $236; | |
$237 = ($236>>>0)>(999999999); | |
if ($237) { | |
$$5486626 = $$3484$lcssa;$$sink547625 = $212; | |
while(1) { | |
$238 = ((($$sink547625)) + -4|0); | |
HEAP32[$$sink547625>>2] = 0; | |
$239 = ($238>>>0)<($$5486626>>>0); | |
if ($239) { | |
$240 = ((($$5486626)) + -4|0); | |
HEAP32[$240>>2] = 0; | |
$$6 = $240; | |
} else { | |
$$6 = $$5486626; | |
} | |
$241 = HEAP32[$238>>2]|0; | |
$242 = (($241) + 1)|0; | |
HEAP32[$238>>2] = $242; | |
$243 = ($242>>>0)>(999999999); | |
if ($243) { | |
$$5486626 = $$6;$$sink547625 = $238; | |
} else { | |
$$5486$lcssa = $$6;$$sink547$lcssa = $238; | |
break; | |
} | |
} | |
} else { | |
$$5486$lcssa = $$3484$lcssa;$$sink547$lcssa = $212; | |
} | |
$244 = $$5486$lcssa; | |
$245 = (($185) - ($244))|0; | |
$246 = $245 >> 2; | |
$247 = ($246*9)|0; | |
$248 = HEAP32[$$5486$lcssa>>2]|0; | |
$249 = ($248>>>0)<(10); | |
if ($249) { | |
$$4492 = $$sink547$lcssa;$$4518 = $247;$$8 = $$5486$lcssa; | |
} else { | |
$$2516621 = $247;$$2532620 = 10; | |
while(1) { | |
$250 = ($$2532620*10)|0; | |
$251 = (($$2516621) + 1)|0; | |
$252 = ($248>>>0)<($250>>>0); | |
if ($252) { | |
$$4492 = $$sink547$lcssa;$$4518 = $251;$$8 = $$5486$lcssa; | |
break; | |
} else { | |
$$2516621 = $251;$$2532620 = $250; | |
} | |
} | |
} | |
} else { | |
$$4492 = $212;$$4518 = $$1515;$$8 = $$3484$lcssa; | |
} | |
} | |
$253 = ((($$4492)) + 4|0); | |
$254 = ($$3501$lcssa>>>0)>($253>>>0); | |
$$$3501 = $254 ? $253 : $$3501$lcssa; | |
$$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; | |
} else { | |
$$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; | |
} | |
$$7505 = $$7505$ph; | |
while(1) { | |
$255 = ($$7505>>>0)>($$9$ph>>>0); | |
if (!($255)) { | |
$$lcssa675 = 0; | |
break; | |
} | |
$256 = ((($$7505)) + -4|0); | |
$257 = HEAP32[$256>>2]|0; | |
$258 = ($257|0)==(0); | |
if ($258) { | |
$$7505 = $256; | |
} else { | |
$$lcssa675 = 1; | |
break; | |
} | |
} | |
$259 = (0 - ($$5519$ph))|0; | |
do { | |
if ($198) { | |
$not$ = $199 ^ 1; | |
$260 = $not$&1; | |
$$540$ = (($$540) + ($260))|0; | |
$261 = ($$540$|0)>($$5519$ph|0); | |
$262 = ($$5519$ph|0)>(-5); | |
$or$cond6 = $261 & $262; | |
if ($or$cond6) { | |
$263 = (($5) + -1)|0; | |
$$neg568 = (($$540$) + -1)|0; | |
$264 = (($$neg568) - ($$5519$ph))|0; | |
$$0479 = $263;$$2476 = $264; | |
} else { | |
$265 = (($5) + -2)|0; | |
$266 = (($$540$) + -1)|0; | |
$$0479 = $265;$$2476 = $266; | |
} | |
$267 = $4 & 8; | |
$268 = ($267|0)==(0); | |
if ($268) { | |
if ($$lcssa675) { | |
$269 = ((($$7505)) + -4|0); | |
$270 = HEAP32[$269>>2]|0; | |
$271 = ($270|0)==(0); | |
if ($271) { | |
$$2529 = 9; | |
} else { | |
$272 = (($270>>>0) % 10)&-1; | |
$273 = ($272|0)==(0); | |
if ($273) { | |
$$1528617 = 0;$$3533616 = 10; | |
while(1) { | |
$274 = ($$3533616*10)|0; | |
$275 = (($$1528617) + 1)|0; | |
$276 = (($270>>>0) % ($274>>>0))&-1; | |
$277 = ($276|0)==(0); | |
if ($277) { | |
$$1528617 = $275;$$3533616 = $274; | |
} else { | |
$$2529 = $275; | |
break; | |
} | |
} | |
} else { | |
$$2529 = 0; | |
} | |
} | |
} else { | |
$$2529 = 9; | |
} | |
$278 = $$0479 | 32; | |
$279 = ($278|0)==(102); | |
$280 = $$7505; | |
$281 = (($280) - ($185))|0; | |
$282 = $281 >> 2; | |
$283 = ($282*9)|0; | |
$284 = (($283) + -9)|0; | |
if ($279) { | |
$285 = (($284) - ($$2529))|0; | |
$286 = ($285|0)>(0); | |
$$548 = $286 ? $285 : 0; | |
$287 = ($$2476|0)<($$548|0); | |
$$2476$$549 = $287 ? $$2476 : $$548; | |
$$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi698Z2D = 0; | |
break; | |
} else { | |
$288 = (($284) + ($$5519$ph))|0; | |
$289 = (($288) - ($$2529))|0; | |
$290 = ($289|0)>(0); | |
$$550 = $290 ? $289 : 0; | |
$291 = ($$2476|0)<($$550|0); | |
$$2476$$551 = $291 ? $$2476 : $$550; | |
$$1480 = $$0479;$$3477 = $$2476$$551;$$pre$phi698Z2D = 0; | |
break; | |
} | |
} else { | |
$$1480 = $$0479;$$3477 = $$2476;$$pre$phi698Z2D = $267; | |
} | |
} else { | |
$$pre697 = $4 & 8; | |
$$1480 = $5;$$3477 = $$540;$$pre$phi698Z2D = $$pre697; | |
} | |
} while(0); | |
$292 = $$3477 | $$pre$phi698Z2D; | |
$293 = ($292|0)!=(0); | |
$294 = $293&1; | |
$295 = $$1480 | 32; | |
$296 = ($295|0)==(102); | |
if ($296) { | |
$297 = ($$5519$ph|0)>(0); | |
$298 = $297 ? $$5519$ph : 0; | |
$$2513 = 0;$$pn = $298; | |
} else { | |
$299 = ($$5519$ph|0)<(0); | |
$300 = $299 ? $259 : $$5519$ph; | |
$301 = ($300|0)<(0); | |
$302 = $301 << 31 >> 31; | |
$303 = (_fmt_u($300,$302,$11)|0); | |
$304 = $11; | |
$305 = $303; | |
$306 = (($304) - ($305))|0; | |
$307 = ($306|0)<(2); | |
if ($307) { | |
$$1512610 = $303; | |
while(1) { | |
$308 = ((($$1512610)) + -1|0); | |
HEAP8[$308>>0] = 48; | |
$309 = $308; | |
$310 = (($304) - ($309))|0; | |
$311 = ($310|0)<(2); | |
if ($311) { | |
$$1512610 = $308; | |
} else { | |
$$1512$lcssa = $308; | |
break; | |
} | |
} | |
} else { | |
$$1512$lcssa = $303; | |
} | |
$312 = $$5519$ph >> 31; | |
$313 = $312 & 2; | |
$314 = (($313) + 43)|0; | |
$315 = $314&255; | |
$316 = ((($$1512$lcssa)) + -1|0); | |
HEAP8[$316>>0] = $315; | |
$317 = $$1480&255; | |
$318 = ((($$1512$lcssa)) + -2|0); | |
HEAP8[$318>>0] = $317; | |
$319 = $318; | |
$320 = (($304) - ($319))|0; | |
$$2513 = $318;$$pn = $320; | |
} | |
$321 = (($$0520) + 1)|0; | |
$322 = (($321) + ($$3477))|0; | |
$$1526 = (($322) + ($294))|0; | |
$323 = (($$1526) + ($$pn))|0; | |
_pad_635($0,32,$2,$323,$4); | |
_out_629($0,$$0521,$$0520); | |
$324 = $4 ^ 65536; | |
_pad_635($0,48,$2,$323,$324); | |
if ($296) { | |
$325 = ($$9$ph>>>0)>($$561>>>0); | |
$$0496$$9 = $325 ? $$561 : $$9$ph; | |
$326 = ((($8)) + 9|0); | |
$327 = $326; | |
$328 = ((($8)) + 8|0); | |
$$5493600 = $$0496$$9; | |
while(1) { | |
$329 = HEAP32[$$5493600>>2]|0; | |
$330 = (_fmt_u($329,0,$326)|0); | |
$331 = ($$5493600|0)==($$0496$$9|0); | |
if ($331) { | |
$337 = ($330|0)==($326|0); | |
if ($337) { | |
HEAP8[$328>>0] = 48; | |
$$1465 = $328; | |
} else { | |
$$1465 = $330; | |
} | |
} else { | |
$332 = ($330>>>0)>($8>>>0); | |
if ($332) { | |
$333 = $330; | |
$334 = (($333) - ($9))|0; | |
_memset(($8|0),48,($334|0))|0; | |
$$0464597 = $330; | |
while(1) { | |
$335 = ((($$0464597)) + -1|0); | |
$336 = ($335>>>0)>($8>>>0); | |
if ($336) { | |
$$0464597 = $335; | |
} else { | |
$$1465 = $335; | |
break; | |
} | |
} | |
} else { | |
$$1465 = $330; | |
} | |
} | |
$338 = $$1465; | |
$339 = (($327) - ($338))|0; | |
_out_629($0,$$1465,$339); | |
$340 = ((($$5493600)) + 4|0); | |
$341 = ($340>>>0)>($$561>>>0); | |
if ($341) { | |
break; | |
} else { | |
$$5493600 = $340; | |
} | |
} | |
$342 = ($292|0)==(0); | |
if (!($342)) { | |
_out_629($0,1872,1); | |
} | |
$343 = ($340>>>0)<($$7505>>>0); | |
$344 = ($$3477|0)>(0); | |
$345 = $343 & $344; | |
if ($345) { | |
$$4478593 = $$3477;$$6494592 = $340; | |
while(1) { | |
$346 = HEAP32[$$6494592>>2]|0; | |
$347 = (_fmt_u($346,0,$326)|0); | |
$348 = ($347>>>0)>($8>>>0); | |
if ($348) { | |
$349 = $347; | |
$350 = (($349) - ($9))|0; | |
_memset(($8|0),48,($350|0))|0; | |
$$0463587 = $347; | |
while(1) { | |
$351 = ((($$0463587)) + -1|0); | |
$352 = ($351>>>0)>($8>>>0); | |
if ($352) { | |
$$0463587 = $351; | |
} else { | |
$$0463$lcssa = $351; | |
break; | |
} | |
} | |
} else { | |
$$0463$lcssa = $347; | |
} | |
$353 = ($$4478593|0)<(9); | |
$354 = $353 ? $$4478593 : 9; | |
_out_629($0,$$0463$lcssa,$354); | |
$355 = ((($$6494592)) + 4|0); | |
$356 = (($$4478593) + -9)|0; | |
$357 = ($355>>>0)<($$7505>>>0); | |
$358 = ($$4478593|0)>(9); | |
$359 = $357 & $358; | |
if ($359) { | |
$$4478593 = $356;$$6494592 = $355; | |
} else { | |
$$4478$lcssa = $356; | |
break; | |
} | |
} | |
} else { | |
$$4478$lcssa = $$3477; | |
} | |
$360 = (($$4478$lcssa) + 9)|0; | |
_pad_635($0,48,$360,9,0); | |
} else { | |
$361 = ((($$9$ph)) + 4|0); | |
$$7505$ = $$lcssa675 ? $$7505 : $361; | |
$362 = ($$3477|0)>(-1); | |
if ($362) { | |
$363 = ((($8)) + 9|0); | |
$364 = ($$pre$phi698Z2D|0)==(0); | |
$365 = $363; | |
$366 = (0 - ($9))|0; | |
$367 = ((($8)) + 8|0); | |
$$5605 = $$3477;$$7495604 = $$9$ph; | |
while(1) { | |
$368 = HEAP32[$$7495604>>2]|0; | |
$369 = (_fmt_u($368,0,$363)|0); | |
$370 = ($369|0)==($363|0); | |
if ($370) { | |
HEAP8[$367>>0] = 48; | |
$$0 = $367; | |
} else { | |
$$0 = $369; | |
} | |
$371 = ($$7495604|0)==($$9$ph|0); | |
do { | |
if ($371) { | |
$375 = ((($$0)) + 1|0); | |
_out_629($0,$$0,1); | |
$376 = ($$5605|0)<(1); | |
$or$cond556 = $364 & $376; | |
if ($or$cond556) { | |
$$2 = $375; | |
break; | |
} | |
_out_629($0,1872,1); | |
$$2 = $375; | |
} else { | |
$372 = ($$0>>>0)>($8>>>0); | |
if (!($372)) { | |
$$2 = $$0; | |
break; | |
} | |
$scevgep686 = (($$0) + ($366)|0); | |
$scevgep686687 = $scevgep686; | |
_memset(($8|0),48,($scevgep686687|0))|0; | |
$$1601 = $$0; | |
while(1) { | |
$373 = ((($$1601)) + -1|0); | |
$374 = ($373>>>0)>($8>>>0); | |
if ($374) { | |
$$1601 = $373; | |
} else { | |
$$2 = $373; | |
break; | |
} | |
} | |
} | |
} while(0); | |
$377 = $$2; | |
$378 = (($365) - ($377))|0; | |
$379 = ($$5605|0)>($378|0); | |
$380 = $379 ? $378 : $$5605; | |
_out_629($0,$$2,$380); | |
$381 = (($$5605) - ($378))|0; | |
$382 = ((($$7495604)) + 4|0); | |
$383 = ($382>>>0)<($$7505$>>>0); | |
$384 = ($381|0)>(-1); | |
$385 = $383 & $384; | |
if ($385) { | |
$$5605 = $381;$$7495604 = $382; | |
} else { | |
$$5$lcssa = $381; | |
break; | |
} | |
} | |
} else { | |
$$5$lcssa = $$3477; | |
} | |
$386 = (($$5$lcssa) + 18)|0; | |
_pad_635($0,48,$386,18,0); | |
$387 = $11; | |
$388 = $$2513; | |
$389 = (($387) - ($388))|0; | |
_out_629($0,$$2513,$389); | |
} | |
$390 = $4 ^ 8192; | |
_pad_635($0,32,$2,$323,$390); | |
$$sink560 = $323; | |
} | |
} while(0); | |
$391 = ($$sink560|0)<($2|0); | |
$$557 = $391 ? $2 : $$sink560; | |
STACKTOP = sp;return ($$557|0); | |
} | |
function ___DOUBLE_BITS_636($0) { | |
$0 = +$0; | |
var $1 = 0, $2 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; | |
$2 = HEAP32[tempDoublePtr+4>>2]|0; | |
tempRet0 = ($2); | |
return ($1|0); | |
} | |
function _frexpl($0,$1) { | |
$0 = +$0; | |
$1 = $1|0; | |
var $2 = 0.0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$2 = (+_frexp($0,$1)); | |
return (+$2); | |
} | |
function _frexp($0,$1) { | |
$0 = +$0; | |
$1 = $1|0; | |
var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; | |
var sp = 0; | |
sp = STACKTOP; | |
HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; | |
$3 = HEAP32[tempDoublePtr+4>>2]|0; | |
$4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); | |
$5 = tempRet0; | |
$6 = $4&65535; | |
$trunc$clear = $6 & 2047; | |
switch ($trunc$clear<<16>>16) { | |
case 0: { | |
$7 = $0 != 0.0; | |
if ($7) { | |
$8 = $0 * 1.8446744073709552E+19; | |
$9 = (+_frexp($8,$1)); | |
$10 = HEAP32[$1>>2]|0; | |
$11 = (($10) + -64)|0; | |
$$016 = $9;$storemerge = $11; | |
} else { | |
$$016 = $0;$storemerge = 0; | |
} | |
HEAP32[$1>>2] = $storemerge; | |
$$0 = $$016; | |
break; | |
} | |
case 2047: { | |
$$0 = $0; | |
break; | |
} | |
default: { | |
$12 = $4 & 2047; | |
$13 = (($12) + -1022)|0; | |
HEAP32[$1>>2] = $13; | |
$14 = $3 & -2146435073; | |
$15 = $14 | 1071644672; | |
HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; | |
$$0 = $16; | |
} | |
} | |
return (+$$0); | |
} | |
function _wcrtomb($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; | |
var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; | |
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$3 = ($0|0)==(0|0); | |
do { | |
if ($3) { | |
$$0 = 1; | |
} else { | |
$4 = ($1>>>0)<(128); | |
if ($4) { | |
$5 = $1&255; | |
HEAP8[$0>>0] = $5; | |
$$0 = 1; | |
break; | |
} | |
$6 = (___pthread_self_832()|0); | |
$7 = ((($6)) + 188|0); | |
$8 = HEAP32[$7>>2]|0; | |
$9 = HEAP32[$8>>2]|0; | |
$10 = ($9|0)==(0|0); | |
if ($10) { | |
$11 = $1 & -128; | |
$12 = ($11|0)==(57216); | |
if ($12) { | |
$14 = $1&255; | |
HEAP8[$0>>0] = $14; | |
$$0 = 1; | |
break; | |
} else { | |
$13 = (___errno_location()|0); | |
HEAP32[$13>>2] = 84; | |
$$0 = -1; | |
break; | |
} | |
} | |
$15 = ($1>>>0)<(2048); | |
if ($15) { | |
$16 = $1 >>> 6; | |
$17 = $16 | 192; | |
$18 = $17&255; | |
$19 = ((($0)) + 1|0); | |
HEAP8[$0>>0] = $18; | |
$20 = $1 & 63; | |
$21 = $20 | 128; | |
$22 = $21&255; | |
HEAP8[$19>>0] = $22; | |
$$0 = 2; | |
break; | |
} | |
$23 = ($1>>>0)<(55296); | |
$24 = $1 & -8192; | |
$25 = ($24|0)==(57344); | |
$or$cond = $23 | $25; | |
if ($or$cond) { | |
$26 = $1 >>> 12; | |
$27 = $26 | 224; | |
$28 = $27&255; | |
$29 = ((($0)) + 1|0); | |
HEAP8[$0>>0] = $28; | |
$30 = $1 >>> 6; | |
$31 = $30 & 63; | |
$32 = $31 | 128; | |
$33 = $32&255; | |
$34 = ((($0)) + 2|0); | |
HEAP8[$29>>0] = $33; | |
$35 = $1 & 63; | |
$36 = $35 | 128; | |
$37 = $36&255; | |
HEAP8[$34>>0] = $37; | |
$$0 = 3; | |
break; | |
} | |
$38 = (($1) + -65536)|0; | |
$39 = ($38>>>0)<(1048576); | |
if ($39) { | |
$40 = $1 >>> 18; | |
$41 = $40 | 240; | |
$42 = $41&255; | |
$43 = ((($0)) + 1|0); | |
HEAP8[$0>>0] = $42; | |
$44 = $1 >>> 12; | |
$45 = $44 & 63; | |
$46 = $45 | 128; | |
$47 = $46&255; | |
$48 = ((($0)) + 2|0); | |
HEAP8[$43>>0] = $47; | |
$49 = $1 >>> 6; | |
$50 = $49 & 63; | |
$51 = $50 | 128; | |
$52 = $51&255; | |
$53 = ((($0)) + 3|0); | |
HEAP8[$48>>0] = $52; | |
$54 = $1 & 63; | |
$55 = $54 | 128; | |
$56 = $55&255; | |
HEAP8[$53>>0] = $56; | |
$$0 = 4; | |
break; | |
} else { | |
$57 = (___errno_location()|0); | |
HEAP32[$57>>2] = 84; | |
$$0 = -1; | |
break; | |
} | |
} | |
} while(0); | |
return ($$0|0); | |
} | |
function ___pthread_self_832() { | |
var $0 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$0 = (_pthread_self()|0); | |
return ($0|0); | |
} | |
function ___pthread_self_465() { | |
var $0 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$0 = (_pthread_self()|0); | |
return ($0|0); | |
} | |
function ___strerror_l($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; | |
var label = 0, sp = 0; | |
sp = STACKTOP; | |
$$016 = 0; | |
while(1) { | |
$3 = (1874 + ($$016)|0); | |
$4 = HEAP8[$3>>0]|0; | |
$5 = $4&255; | |
$6 = ($5|0)==($0|0); | |
if ($6) { | |
label = 2; | |
break; | |
} | |
$7 = (($$016) + 1)|0; | |
$8 = ($7|0)==(87); | |
if ($8) { | |
$$01214 = 1962;$$115 = 87; | |
label = 5; | |
break; | |
} else { | |
$$016 = $7; | |
} | |
} | |
if ((label|0) == 2) { | |
$2 = ($$016|0)==(0); | |
if ($2) { | |
$$012$lcssa = 1962; | |
} else { | |
$$01214 = 1962;$$115 = $$016; | |
label = 5; | |
} | |
} | |
if ((label|0) == 5) { | |
while(1) { | |
label = 0; | |
$$113 = $$01214; | |
while(1) { | |
$9 = HEAP8[$$113>>0]|0; | |
$10 = ($9<<24>>24)==(0); | |
$11 = ((($$113)) + 1|0); | |
if ($10) { | |
break; | |
} else { | |
$$113 = $11; | |
} | |
} | |
$12 = (($$115) + -1)|0; | |
$13 = ($12|0)==(0); | |
if ($13) { | |
$$012$lcssa = $11; | |
break; | |
} else { | |
$$01214 = $11;$$115 = $12; | |
label = 5; | |
} | |
} | |
} | |
$14 = ((($1)) + 20|0); | |
$15 = HEAP32[$14>>2]|0; | |
$16 = (___lctrans($$012$lcssa,$15)|0); | |
return ($16|0); | |
} | |
function ___lctrans($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $2 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$2 = (___lctrans_impl($0,$1)|0); | |
return ($2|0); | |
} | |
function ___lctrans_impl($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$2 = ($1|0)==(0|0); | |
if ($2) { | |
$$0 = 0; | |
} else { | |
$3 = HEAP32[$1>>2]|0; | |
$4 = ((($1)) + 4|0); | |
$5 = HEAP32[$4>>2]|0; | |
$6 = (___mo_lookup($3,$5,$0)|0); | |
$$0 = $6; | |
} | |
$7 = ($$0|0)!=(0|0); | |
$8 = $7 ? $$0 : $0; | |
return ($8|0); | |
} | |
function ___mo_lookup($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; | |
var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; | |
var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; | |
var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$3 = HEAP32[$0>>2]|0; | |
$4 = (($3) + 1794895138)|0; | |
$5 = ((($0)) + 8|0); | |
$6 = HEAP32[$5>>2]|0; | |
$7 = (_swapc($6,$4)|0); | |
$8 = ((($0)) + 12|0); | |
$9 = HEAP32[$8>>2]|0; | |
$10 = (_swapc($9,$4)|0); | |
$11 = ((($0)) + 16|0); | |
$12 = HEAP32[$11>>2]|0; | |
$13 = (_swapc($12,$4)|0); | |
$14 = $1 >>> 2; | |
$15 = ($7>>>0)<($14>>>0); | |
L1: do { | |
if ($15) { | |
$16 = $7 << 2; | |
$17 = (($1) - ($16))|0; | |
$18 = ($10>>>0)<($17>>>0); | |
$19 = ($13>>>0)<($17>>>0); | |
$or$cond = $18 & $19; | |
if ($or$cond) { | |
$20 = $13 | $10; | |
$21 = $20 & 3; | |
$22 = ($21|0)==(0); | |
if ($22) { | |
$23 = $10 >>> 2; | |
$24 = $13 >>> 2; | |
$$090 = 0;$$094 = $7; | |
while(1) { | |
$25 = $$094 >>> 1; | |
$26 = (($$090) + ($25))|0; | |
$27 = $26 << 1; | |
$28 = (($27) + ($23))|0; | |
$29 = (($0) + ($28<<2)|0); | |
$30 = HEAP32[$29>>2]|0; | |
$31 = (_swapc($30,$4)|0); | |
$32 = (($28) + 1)|0; | |
$33 = (($0) + ($32<<2)|0); | |
$34 = HEAP32[$33>>2]|0; | |
$35 = (_swapc($34,$4)|0); | |
$36 = ($35>>>0)<($1>>>0); | |
$37 = (($1) - ($35))|0; | |
$38 = ($31>>>0)<($37>>>0); | |
$or$cond102 = $36 & $38; | |
if (!($or$cond102)) { | |
$$4 = 0; | |
break L1; | |
} | |
$39 = (($35) + ($31))|0; | |
$40 = (($0) + ($39)|0); | |
$41 = HEAP8[$40>>0]|0; | |
$42 = ($41<<24>>24)==(0); | |
if (!($42)) { | |
$$4 = 0; | |
break L1; | |
} | |
$43 = (($0) + ($35)|0); | |
$44 = (_strcmp($2,$43)|0); | |
$45 = ($44|0)==(0); | |
if ($45) { | |
break; | |
} | |
$62 = ($$094|0)==(1); | |
$63 = ($44|0)<(0); | |
$64 = (($$094) - ($25))|0; | |
$$195 = $63 ? $25 : $64; | |
$$191 = $63 ? $$090 : $26; | |
if ($62) { | |
$$4 = 0; | |
break L1; | |
} else { | |
$$090 = $$191;$$094 = $$195; | |
} | |
} | |
$46 = (($27) + ($24))|0; | |
$47 = (($0) + ($46<<2)|0); | |
$48 = HEAP32[$47>>2]|0; | |
$49 = (_swapc($48,$4)|0); | |
$50 = (($46) + 1)|0; | |
$51 = (($0) + ($50<<2)|0); | |
$52 = HEAP32[$51>>2]|0; | |
$53 = (_swapc($52,$4)|0); | |
$54 = ($53>>>0)<($1>>>0); | |
$55 = (($1) - ($53))|0; | |
$56 = ($49>>>0)<($55>>>0); | |
$or$cond104 = $54 & $56; | |
if ($or$cond104) { | |
$57 = (($0) + ($53)|0); | |
$58 = (($53) + ($49))|0; | |
$59 = (($0) + ($58)|0); | |
$60 = HEAP8[$59>>0]|0; | |
$61 = ($60<<24>>24)==(0); | |
$$ = $61 ? $57 : 0; | |
$$4 = $$; | |
} else { | |
$$4 = 0; | |
} | |
} else { | |
$$4 = 0; | |
} | |
} else { | |
$$4 = 0; | |
} | |
} else { | |
$$4 = 0; | |
} | |
} while(0); | |
return ($$4|0); | |
} | |
function _swapc($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$2 = ($1|0)==(0); | |
$3 = (_llvm_bswap_i32(($0|0))|0); | |
$$ = $2 ? $0 : $3; | |
return ($$|0); | |
} | |
function ___fwritex($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; | |
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; | |
var label = 0, sp = 0; | |
sp = STACKTOP; | |
$3 = ((($2)) + 16|0); | |
$4 = HEAP32[$3>>2]|0; | |
$5 = ($4|0)==(0|0); | |
if ($5) { | |
$7 = (___towrite($2)|0); | |
$8 = ($7|0)==(0); | |
if ($8) { | |
$$pre = HEAP32[$3>>2]|0; | |
$12 = $$pre; | |
label = 5; | |
} else { | |
$$1 = 0; | |
} | |
} else { | |
$6 = $4; | |
$12 = $6; | |
label = 5; | |
} | |
L5: do { | |
if ((label|0) == 5) { | |
$9 = ((($2)) + 20|0); | |
$10 = HEAP32[$9>>2]|0; | |
$11 = (($12) - ($10))|0; | |
$13 = ($11>>>0)<($1>>>0); | |
$14 = $10; | |
if ($13) { | |
$15 = ((($2)) + 36|0); | |
$16 = HEAP32[$15>>2]|0; | |
$17 = (FUNCTION_TABLE_iiii[$16 & 7]($2,$0,$1)|0); | |
$$1 = $17; | |
break; | |
} | |
$18 = ((($2)) + 75|0); | |
$19 = HEAP8[$18>>0]|0; | |
$20 = ($19<<24>>24)>(-1); | |
L10: do { | |
if ($20) { | |
$$038 = $1; | |
while(1) { | |
$21 = ($$038|0)==(0); | |
if ($21) { | |
$$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; | |
break L10; | |
} | |
$22 = (($$038) + -1)|0; | |
$23 = (($0) + ($22)|0); | |
$24 = HEAP8[$23>>0]|0; | |
$25 = ($24<<24>>24)==(10); | |
if ($25) { | |
break; | |
} else { | |
$$038 = $22; | |
} | |
} | |
$26 = ((($2)) + 36|0); | |
$27 = HEAP32[$26>>2]|0; | |
$28 = (FUNCTION_TABLE_iiii[$27 & 7]($2,$0,$$038)|0); | |
$29 = ($28>>>0)<($$038>>>0); | |
if ($29) { | |
$$1 = $28; | |
break L5; | |
} | |
$30 = (($0) + ($$038)|0); | |
$$042 = (($1) - ($$038))|0; | |
$$pre47 = HEAP32[$9>>2]|0; | |
$$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; | |
} else { | |
$$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; | |
} | |
} while(0); | |
_memcpy(($31|0),($$141|0),($$143|0))|0; | |
$32 = HEAP32[$9>>2]|0; | |
$33 = (($32) + ($$143)|0); | |
HEAP32[$9>>2] = $33; | |
$34 = (($$139) + ($$143))|0; | |
$$1 = $34; | |
} | |
} while(0); | |
return ($$1|0); | |
} | |
function ___towrite($0) { | |
$0 = $0|0; | |
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; | |
var $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = ((($0)) + 74|0); | |
$2 = HEAP8[$1>>0]|0; | |
$3 = $2 << 24 >> 24; | |
$4 = (($3) + 255)|0; | |
$5 = $4 | $3; | |
$6 = $5&255; | |
HEAP8[$1>>0] = $6; | |
$7 = HEAP32[$0>>2]|0; | |
$8 = $7 & 8; | |
$9 = ($8|0)==(0); | |
if ($9) { | |
$11 = ((($0)) + 8|0); | |
HEAP32[$11>>2] = 0; | |
$12 = ((($0)) + 4|0); | |
HEAP32[$12>>2] = 0; | |
$13 = ((($0)) + 44|0); | |
$14 = HEAP32[$13>>2]|0; | |
$15 = ((($0)) + 28|0); | |
HEAP32[$15>>2] = $14; | |
$16 = ((($0)) + 20|0); | |
HEAP32[$16>>2] = $14; | |
$17 = $14; | |
$18 = ((($0)) + 48|0); | |
$19 = HEAP32[$18>>2]|0; | |
$20 = (($17) + ($19)|0); | |
$21 = ((($0)) + 16|0); | |
HEAP32[$21>>2] = $20; | |
$$0 = 0; | |
} else { | |
$10 = $7 | 32; | |
HEAP32[$0>>2] = $10; | |
$$0 = -1; | |
} | |
return ($$0|0); | |
} | |
function ___pthread_self_397() { | |
var $0 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$0 = (_pthread_self()|0); | |
return ($0|0); | |
} | |
function _isspace($0) { | |
$0 = $0|0; | |
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $narrow = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = ($0|0)==(32); | |
$2 = (($0) + -9)|0; | |
$3 = ($2>>>0)<(5); | |
$narrow = $1 | $3; | |
$4 = $narrow&1; | |
return ($4|0); | |
} | |
function ___uflow($0) { | |
$0 = $0|0; | |
var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$1 = sp; | |
$2 = (___toread($0)|0); | |
$3 = ($2|0)==(0); | |
if ($3) { | |
$4 = ((($0)) + 32|0); | |
$5 = HEAP32[$4>>2]|0; | |
$6 = (FUNCTION_TABLE_iiii[$5 & 7]($0,$1,1)|0); | |
$7 = ($6|0)==(1); | |
if ($7) { | |
$8 = HEAP8[$1>>0]|0; | |
$9 = $8&255; | |
$$0 = $9; | |
} else { | |
$$0 = -1; | |
} | |
} else { | |
$$0 = -1; | |
} | |
STACKTOP = sp;return ($$0|0); | |
} | |
function ___toread($0) { | |
$0 = $0|0; | |
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; | |
var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = ((($0)) + 74|0); | |
$2 = HEAP8[$1>>0]|0; | |
$3 = $2 << 24 >> 24; | |
$4 = (($3) + 255)|0; | |
$5 = $4 | $3; | |
$6 = $5&255; | |
HEAP8[$1>>0] = $6; | |
$7 = ((($0)) + 20|0); | |
$8 = HEAP32[$7>>2]|0; | |
$9 = ((($0)) + 28|0); | |
$10 = HEAP32[$9>>2]|0; | |
$11 = ($8>>>0)>($10>>>0); | |
if ($11) { | |
$12 = ((($0)) + 36|0); | |
$13 = HEAP32[$12>>2]|0; | |
(FUNCTION_TABLE_iiii[$13 & 7]($0,0,0)|0); | |
} | |
$14 = ((($0)) + 16|0); | |
HEAP32[$14>>2] = 0; | |
HEAP32[$9>>2] = 0; | |
HEAP32[$7>>2] = 0; | |
$15 = HEAP32[$0>>2]|0; | |
$16 = $15 & 4; | |
$17 = ($16|0)==(0); | |
if ($17) { | |
$19 = ((($0)) + 44|0); | |
$20 = HEAP32[$19>>2]|0; | |
$21 = ((($0)) + 48|0); | |
$22 = HEAP32[$21>>2]|0; | |
$23 = (($20) + ($22)|0); | |
$24 = ((($0)) + 8|0); | |
HEAP32[$24>>2] = $23; | |
$25 = ((($0)) + 4|0); | |
HEAP32[$25>>2] = $23; | |
$26 = $15 << 27; | |
$sext = $26 >> 31; | |
$$0 = $sext; | |
} else { | |
$18 = $15 | 32; | |
HEAP32[$0>>2] = $18; | |
$$0 = -1; | |
} | |
return ($$0|0); | |
} | |
function _strtox($0,$1,$2,$3,$4) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
$3 = $3|0; | |
$4 = $4|0; | |
var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); | |
$5 = sp; | |
HEAP32[$5>>2] = 0; | |
$6 = ((($5)) + 4|0); | |
HEAP32[$6>>2] = $0; | |
$7 = ((($5)) + 44|0); | |
HEAP32[$7>>2] = $0; | |
$8 = ($0|0)<(0|0); | |
$9 = ((($0)) + 2147483647|0); | |
$$sink = $8 ? (-1) : $9; | |
$10 = ((($5)) + 8|0); | |
HEAP32[$10>>2] = $$sink; | |
$11 = ((($5)) + 76|0); | |
HEAP32[$11>>2] = -1; | |
___shlim($5,0); | |
$12 = (___intscan($5,$2,1,$3,$4)|0); | |
$13 = tempRet0; | |
$14 = ($1|0)==(0|0); | |
if (!($14)) { | |
$15 = ((($5)) + 108|0); | |
$16 = HEAP32[$15>>2]|0; | |
$17 = HEAP32[$6>>2]|0; | |
$18 = HEAP32[$10>>2]|0; | |
$19 = (($17) + ($16))|0; | |
$20 = (($19) - ($18))|0; | |
$21 = (($0) + ($20)|0); | |
HEAP32[$1>>2] = $21; | |
} | |
tempRet0 = ($13); | |
STACKTOP = sp;return ($12|0); | |
} | |
function ___shlim($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$2 = ((($0)) + 104|0); | |
HEAP32[$2>>2] = $1; | |
$3 = ((($0)) + 8|0); | |
$4 = HEAP32[$3>>2]|0; | |
$5 = ((($0)) + 4|0); | |
$6 = HEAP32[$5>>2]|0; | |
$7 = (($4) - ($6))|0; | |
$8 = ((($0)) + 108|0); | |
HEAP32[$8>>2] = $7; | |
$9 = ($1|0)!=(0); | |
$10 = ($7|0)>($1|0); | |
$or$cond = $9 & $10; | |
$11 = $4; | |
$12 = $6; | |
$13 = (($12) + ($1)|0); | |
$$sink = $or$cond ? $13 : $11; | |
$14 = ((($0)) + 100|0); | |
HEAP32[$14>>2] = $$sink; | |
return; | |
} | |
function ___intscan($0,$1,$2,$3,$4) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
$3 = $3|0; | |
$4 = $4|0; | |
var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0; | |
var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; | |
var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; | |
var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; | |
var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; | |
var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; | |
var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; | |
var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; | |
var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; | |
var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; | |
var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; | |
var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; | |
var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; | |
var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; | |
var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; | |
var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0; | |
var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$5 = ($1>>>0)>(36); | |
L1: do { | |
if ($5) { | |
$8 = (___errno_location()|0); | |
HEAP32[$8>>2] = 22; | |
$289 = 0;$290 = 0; | |
} else { | |
$6 = ((($0)) + 4|0); | |
$7 = ((($0)) + 100|0); | |
while(1) { | |
$9 = HEAP32[$6>>2]|0; | |
$10 = HEAP32[$7>>2]|0; | |
$11 = ($9>>>0)<($10>>>0); | |
if ($11) { | |
$12 = ((($9)) + 1|0); | |
HEAP32[$6>>2] = $12; | |
$13 = HEAP8[$9>>0]|0; | |
$14 = $13&255; | |
$16 = $14; | |
} else { | |
$15 = (___shgetc($0)|0); | |
$16 = $15; | |
} | |
$17 = (_isspace($16)|0); | |
$18 = ($17|0)==(0); | |
if ($18) { | |
break; | |
} | |
} | |
L11: do { | |
switch ($16|0) { | |
case 43: case 45: { | |
$19 = ($16|0)==(45); | |
$20 = $19 << 31 >> 31; | |
$21 = HEAP32[$6>>2]|0; | |
$22 = HEAP32[$7>>2]|0; | |
$23 = ($21>>>0)<($22>>>0); | |
if ($23) { | |
$24 = ((($21)) + 1|0); | |
HEAP32[$6>>2] = $24; | |
$25 = HEAP8[$21>>0]|0; | |
$26 = $25&255; | |
$$0157 = $20;$$0159 = $26; | |
break L11; | |
} else { | |
$27 = (___shgetc($0)|0); | |
$$0157 = $20;$$0159 = $27; | |
break L11; | |
} | |
break; | |
} | |
default: { | |
$$0157 = 0;$$0159 = $16; | |
} | |
} | |
} while(0); | |
$28 = ($1|0)==(0); | |
$29 = $1 | 16; | |
$30 = ($29|0)==(16); | |
$31 = ($$0159|0)==(48); | |
$or$cond5 = $30 & $31; | |
do { | |
if ($or$cond5) { | |
$32 = HEAP32[$6>>2]|0; | |
$33 = HEAP32[$7>>2]|0; | |
$34 = ($32>>>0)<($33>>>0); | |
if ($34) { | |
$35 = ((($32)) + 1|0); | |
HEAP32[$6>>2] = $35; | |
$36 = HEAP8[$32>>0]|0; | |
$37 = $36&255; | |
$40 = $37; | |
} else { | |
$38 = (___shgetc($0)|0); | |
$40 = $38; | |
} | |
$39 = $40 | 32; | |
$41 = ($39|0)==(120); | |
if (!($41)) { | |
if ($28) { | |
$$1160169 = $40;$$1165167 = 8; | |
label = 46; | |
break; | |
} else { | |
$$1160 = $40;$$1165 = $1; | |
label = 32; | |
break; | |
} | |
} | |
$42 = HEAP32[$6>>2]|0; | |
$43 = HEAP32[$7>>2]|0; | |
$44 = ($42>>>0)<($43>>>0); | |
if ($44) { | |
$45 = ((($42)) + 1|0); | |
HEAP32[$6>>2] = $45; | |
$46 = HEAP8[$42>>0]|0; | |
$47 = $46&255; | |
$50 = $47; | |
} else { | |
$48 = (___shgetc($0)|0); | |
$50 = $48; | |
} | |
$49 = ((3767) + ($50)|0); | |
$51 = HEAP8[$49>>0]|0; | |
$52 = ($51&255)>(15); | |
if ($52) { | |
$53 = HEAP32[$7>>2]|0; | |
$54 = ($53|0)==(0|0); | |
if (!($54)) { | |
$55 = HEAP32[$6>>2]|0; | |
$56 = ((($55)) + -1|0); | |
HEAP32[$6>>2] = $56; | |
} | |
$57 = ($2|0)==(0); | |
if ($57) { | |
___shlim($0,0); | |
$289 = 0;$290 = 0; | |
break L1; | |
} | |
if ($54) { | |
$289 = 0;$290 = 0; | |
break L1; | |
} | |
$58 = HEAP32[$6>>2]|0; | |
$59 = ((($58)) + -1|0); | |
HEAP32[$6>>2] = $59; | |
$289 = 0;$290 = 0; | |
break L1; | |
} else { | |
$$1160169 = $50;$$1165167 = 16; | |
label = 46; | |
} | |
} else { | |
$$166 = $28 ? 10 : $1; | |
$60 = ((3767) + ($$0159)|0); | |
$61 = HEAP8[$60>>0]|0; | |
$62 = $61&255; | |
$63 = ($$166>>>0)>($62>>>0); | |
if ($63) { | |
$$1160 = $$0159;$$1165 = $$166; | |
label = 32; | |
} else { | |
$64 = HEAP32[$7>>2]|0; | |
$65 = ($64|0)==(0|0); | |
if (!($65)) { | |
$66 = HEAP32[$6>>2]|0; | |
$67 = ((($66)) + -1|0); | |
HEAP32[$6>>2] = $67; | |
} | |
___shlim($0,0); | |
$68 = (___errno_location()|0); | |
HEAP32[$68>>2] = 22; | |
$289 = 0;$290 = 0; | |
break L1; | |
} | |
} | |
} while(0); | |
L43: do { | |
if ((label|0) == 32) { | |
$69 = ($$1165|0)==(10); | |
if ($69) { | |
$70 = (($$1160) + -48)|0; | |
$71 = ($70>>>0)<(10); | |
if ($71) { | |
$$0154222 = 0;$74 = $70; | |
while(1) { | |
$72 = ($$0154222*10)|0; | |
$73 = (($72) + ($74))|0; | |
$75 = HEAP32[$6>>2]|0; | |
$76 = HEAP32[$7>>2]|0; | |
$77 = ($75>>>0)<($76>>>0); | |
if ($77) { | |
$78 = ((($75)) + 1|0); | |
HEAP32[$6>>2] = $78; | |
$79 = HEAP8[$75>>0]|0; | |
$80 = $79&255; | |
$$2161$be = $80; | |
} else { | |
$81 = (___shgetc($0)|0); | |
$$2161$be = $81; | |
} | |
$82 = (($$2161$be) + -48)|0; | |
$83 = ($82>>>0)<(10); | |
$84 = ($73>>>0)<(429496729); | |
$85 = $83 & $84; | |
if ($85) { | |
$$0154222 = $73;$74 = $82; | |
} else { | |
break; | |
} | |
} | |
$$2161$lcssa = $$2161$be;$291 = $73;$292 = 0; | |
} else { | |
$$2161$lcssa = $$1160;$291 = 0;$292 = 0; | |
} | |
$86 = (($$2161$lcssa) + -48)|0; | |
$87 = ($86>>>0)<(10); | |
if ($87) { | |
$$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$92 = $86; | |
while(1) { | |
$90 = (___muldi3(($88|0),($89|0),10,0)|0); | |
$91 = tempRet0; | |
$93 = ($92|0)<(0); | |
$94 = $93 << 31 >> 31; | |
$95 = $92 ^ -1; | |
$96 = $94 ^ -1; | |
$97 = ($91>>>0)>($96>>>0); | |
$98 = ($90>>>0)>($95>>>0); | |
$99 = ($91|0)==($96|0); | |
$100 = $99 & $98; | |
$101 = $97 | $100; | |
if ($101) { | |
$$1165168 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; | |
label = 72; | |
break L43; | |
} | |
$102 = (_i64Add(($90|0),($91|0),($92|0),($94|0))|0); | |
$103 = tempRet0; | |
$104 = HEAP32[$6>>2]|0; | |
$105 = HEAP32[$7>>2]|0; | |
$106 = ($104>>>0)<($105>>>0); | |
if ($106) { | |
$107 = ((($104)) + 1|0); | |
HEAP32[$6>>2] = $107; | |
$108 = HEAP8[$104>>0]|0; | |
$109 = $108&255; | |
$$3162$be = $109; | |
} else { | |
$110 = (___shgetc($0)|0); | |
$$3162$be = $110; | |
} | |
$111 = (($$3162$be) + -48)|0; | |
$112 = ($111>>>0)<(10); | |
$113 = ($103>>>0)<(429496729); | |
$114 = ($102>>>0)<(2576980378); | |
$115 = ($103|0)==(429496729); | |
$116 = $115 & $114; | |
$117 = $113 | $116; | |
$or$cond7 = $112 & $117; | |
if ($or$cond7) { | |
$$3162215 = $$3162$be;$88 = $102;$89 = $103;$92 = $111; | |
} else { | |
break; | |
} | |
} | |
$118 = ($111>>>0)>(9); | |
if ($118) { | |
$$1158 = $$0157;$262 = $103;$264 = $102; | |
} else { | |
$$1165168 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; | |
label = 72; | |
} | |
} else { | |
$$1158 = $$0157;$262 = $292;$264 = $291; | |
} | |
} else { | |
$$1160169 = $$1160;$$1165167 = $$1165; | |
label = 46; | |
} | |
} | |
} while(0); | |
L63: do { | |
if ((label|0) == 46) { | |
$119 = (($$1165167) + -1)|0; | |
$120 = $119 & $$1165167; | |
$121 = ($120|0)==(0); | |
if ($121) { | |
$126 = ($$1165167*23)|0; | |
$127 = $126 >>> 5; | |
$128 = $127 & 7; | |
$129 = (4023 + ($128)|0); | |
$130 = HEAP8[$129>>0]|0; | |
$131 = $130 << 24 >> 24; | |
$132 = ((3767) + ($$1160169)|0); | |
$133 = HEAP8[$132>>0]|0; | |
$134 = $133&255; | |
$135 = ($$1165167>>>0)>($134>>>0); | |
if ($135) { | |
$$1155192 = 0;$138 = $134; | |
while(1) { | |
$136 = $$1155192 << $131; | |
$137 = $138 | $136; | |
$139 = HEAP32[$6>>2]|0; | |
$140 = HEAP32[$7>>2]|0; | |
$141 = ($139>>>0)<($140>>>0); | |
if ($141) { | |
$142 = ((($139)) + 1|0); | |
HEAP32[$6>>2] = $142; | |
$143 = HEAP8[$139>>0]|0; | |
$144 = $143&255; | |
$$4163$be = $144; | |
} else { | |
$145 = (___shgetc($0)|0); | |
$$4163$be = $145; | |
} | |
$146 = ((3767) + ($$4163$be)|0); | |
$147 = HEAP8[$146>>0]|0; | |
$148 = $147&255; | |
$149 = ($$1165167>>>0)>($148>>>0); | |
$150 = ($137>>>0)<(134217728); | |
$151 = $150 & $149; | |
if ($151) { | |
$$1155192 = $137;$138 = $148; | |
} else { | |
break; | |
} | |
} | |
$$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137; | |
} else { | |
$$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0; | |
} | |
$152 = (_bitshift64Lshr(-1,-1,($131|0))|0); | |
$153 = tempRet0; | |
$154 = $155&255; | |
$156 = ($$1165167>>>0)<=($154>>>0); | |
$157 = ($153>>>0)<($158>>>0); | |
$159 = ($152>>>0)<($160>>>0); | |
$161 = ($153|0)==($158|0); | |
$162 = $161 & $159; | |
$163 = $157 | $162; | |
$or$cond187 = $156 | $163; | |
if ($or$cond187) { | |
$$1165168 = $$1165167;$$8 = $$4163$lcssa;$293 = $160;$294 = $158; | |
label = 72; | |
break; | |
} else { | |
$164 = $160;$165 = $158;$169 = $155; | |
} | |
while(1) { | |
$166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0); | |
$167 = tempRet0; | |
$168 = $169&255; | |
$170 = $166 | $168; | |
$171 = HEAP32[$6>>2]|0; | |
$172 = HEAP32[$7>>2]|0; | |
$173 = ($171>>>0)<($172>>>0); | |
if ($173) { | |
$174 = ((($171)) + 1|0); | |
HEAP32[$6>>2] = $174; | |
$175 = HEAP8[$171>>0]|0; | |
$176 = $175&255; | |
$$5$be = $176; | |
} else { | |
$177 = (___shgetc($0)|0); | |
$$5$be = $177; | |
} | |
$178 = ((3767) + ($$5$be)|0); | |
$179 = HEAP8[$178>>0]|0; | |
$180 = $179&255; | |
$181 = ($$1165167>>>0)<=($180>>>0); | |
$182 = ($167>>>0)>($153>>>0); | |
$183 = ($170>>>0)>($152>>>0); | |
$184 = ($167|0)==($153|0); | |
$185 = $184 & $183; | |
$186 = $182 | $185; | |
$or$cond = $181 | $186; | |
if ($or$cond) { | |
$$1165168 = $$1165167;$$8 = $$5$be;$293 = $170;$294 = $167; | |
label = 72; | |
break L63; | |
} else { | |
$164 = $170;$165 = $167;$169 = $179; | |
} | |
} | |
} | |
$122 = ((3767) + ($$1160169)|0); | |
$123 = HEAP8[$122>>0]|0; | |
$124 = $123&255; | |
$125 = ($$1165167>>>0)>($124>>>0); | |
if ($125) { | |
$$2156210 = 0;$189 = $124; | |
while(1) { | |
$187 = Math_imul($$2156210, $$1165167)|0; | |
$188 = (($189) + ($187))|0; | |
$190 = HEAP32[$6>>2]|0; | |
$191 = HEAP32[$7>>2]|0; | |
$192 = ($190>>>0)<($191>>>0); | |
if ($192) { | |
$193 = ((($190)) + 1|0); | |
HEAP32[$6>>2] = $193; | |
$194 = HEAP8[$190>>0]|0; | |
$195 = $194&255; | |
$$6$be = $195; | |
} else { | |
$196 = (___shgetc($0)|0); | |
$$6$be = $196; | |
} | |
$197 = ((3767) + ($$6$be)|0); | |
$198 = HEAP8[$197>>0]|0; | |
$199 = $198&255; | |
$200 = ($$1165167>>>0)>($199>>>0); | |
$201 = ($188>>>0)<(119304647); | |
$202 = $201 & $200; | |
if ($202) { | |
$$2156210 = $188;$189 = $199; | |
} else { | |
break; | |
} | |
} | |
$$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0; | |
} else { | |
$$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0; | |
} | |
$203 = $204&255; | |
$205 = ($$1165167>>>0)>($203>>>0); | |
if ($205) { | |
$206 = (___udivdi3(-1,-1,($$1165167|0),0)|0); | |
$207 = tempRet0; | |
$$7198 = $$6$lcssa;$208 = $296;$210 = $295;$218 = $204; | |
while(1) { | |
$209 = ($208>>>0)>($207>>>0); | |
$211 = ($210>>>0)>($206>>>0); | |
$212 = ($208|0)==($207|0); | |
$213 = $212 & $211; | |
$214 = $209 | $213; | |
if ($214) { | |
$$1165168 = $$1165167;$$8 = $$7198;$293 = $210;$294 = $208; | |
label = 72; | |
break L63; | |
} | |
$215 = (___muldi3(($210|0),($208|0),($$1165167|0),0)|0); | |
$216 = tempRet0; | |
$217 = $218&255; | |
$219 = $217 ^ -1; | |
$220 = ($216>>>0)>(4294967295); | |
$221 = ($215>>>0)>($219>>>0); | |
$222 = ($216|0)==(-1); | |
$223 = $222 & $221; | |
$224 = $220 | $223; | |
if ($224) { | |
$$1165168 = $$1165167;$$8 = $$7198;$293 = $210;$294 = $208; | |
label = 72; | |
break L63; | |
} | |
$225 = (_i64Add(($215|0),($216|0),($217|0),0)|0); | |
$226 = tempRet0; | |
$227 = HEAP32[$6>>2]|0; | |
$228 = HEAP32[$7>>2]|0; | |
$229 = ($227>>>0)<($228>>>0); | |
if ($229) { | |
$230 = ((($227)) + 1|0); | |
HEAP32[$6>>2] = $230; | |
$231 = HEAP8[$227>>0]|0; | |
$232 = $231&255; | |
$$7$be = $232; | |
} else { | |
$233 = (___shgetc($0)|0); | |
$$7$be = $233; | |
} | |
$234 = ((3767) + ($$7$be)|0); | |
$235 = HEAP8[$234>>0]|0; | |
$236 = $235&255; | |
$237 = ($$1165167>>>0)>($236>>>0); | |
if ($237) { | |
$$7198 = $$7$be;$208 = $226;$210 = $225;$218 = $235; | |
} else { | |
$$1165168 = $$1165167;$$8 = $$7$be;$293 = $225;$294 = $226; | |
label = 72; | |
break; | |
} | |
} | |
} else { | |
$$1165168 = $$1165167;$$8 = $$6$lcssa;$293 = $295;$294 = $296; | |
label = 72; | |
} | |
} | |
} while(0); | |
if ((label|0) == 72) { | |
$238 = ((3767) + ($$8)|0); | |
$239 = HEAP8[$238>>0]|0; | |
$240 = $239&255; | |
$241 = ($$1165168>>>0)>($240>>>0); | |
if ($241) { | |
while(1) { | |
$242 = HEAP32[$6>>2]|0; | |
$243 = HEAP32[$7>>2]|0; | |
$244 = ($242>>>0)<($243>>>0); | |
if ($244) { | |
$245 = ((($242)) + 1|0); | |
HEAP32[$6>>2] = $245; | |
$246 = HEAP8[$242>>0]|0; | |
$247 = $246&255; | |
$$9$be = $247; | |
} else { | |
$248 = (___shgetc($0)|0); | |
$$9$be = $248; | |
} | |
$249 = ((3767) + ($$9$be)|0); | |
$250 = HEAP8[$249>>0]|0; | |
$251 = $250&255; | |
$252 = ($$1165168>>>0)>($251>>>0); | |
if (!($252)) { | |
break; | |
} | |
} | |
$253 = (___errno_location()|0); | |
HEAP32[$253>>2] = 34; | |
$254 = $3 & 1; | |
$255 = ($254|0)==(0); | |
$256 = (0)==(0); | |
$257 = $255 & $256; | |
$$0157$ = $257 ? $$0157 : 0; | |
$$1158 = $$0157$;$262 = $4;$264 = $3; | |
} else { | |
$$1158 = $$0157;$262 = $294;$264 = $293; | |
} | |
} | |
$258 = HEAP32[$7>>2]|0; | |
$259 = ($258|0)==(0|0); | |
if (!($259)) { | |
$260 = HEAP32[$6>>2]|0; | |
$261 = ((($260)) + -1|0); | |
HEAP32[$6>>2] = $261; | |
} | |
$263 = ($262>>>0)<($4>>>0); | |
$265 = ($264>>>0)<($3>>>0); | |
$266 = ($262|0)==($4|0); | |
$267 = $266 & $265; | |
$268 = $263 | $267; | |
if (!($268)) { | |
$269 = $3 & 1; | |
$270 = ($269|0)!=(0); | |
$271 = (0)!=(0); | |
$272 = $270 | $271; | |
$273 = ($$1158|0)!=(0); | |
$or$cond12 = $272 | $273; | |
if (!($or$cond12)) { | |
$274 = (___errno_location()|0); | |
HEAP32[$274>>2] = 34; | |
$275 = (_i64Add(($3|0),($4|0),-1,-1)|0); | |
$276 = tempRet0; | |
$289 = $276;$290 = $275; | |
break; | |
} | |
$277 = ($262>>>0)>($4>>>0); | |
$278 = ($264>>>0)>($3>>>0); | |
$279 = ($262|0)==($4|0); | |
$280 = $279 & $278; | |
$281 = $277 | $280; | |
if ($281) { | |
$282 = (___errno_location()|0); | |
HEAP32[$282>>2] = 34; | |
$289 = $4;$290 = $3; | |
break; | |
} | |
} | |
$283 = ($$1158|0)<(0); | |
$284 = $283 << 31 >> 31; | |
$285 = $264 ^ $$1158; | |
$286 = $262 ^ $284; | |
$287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0); | |
$288 = tempRet0; | |
$289 = $288;$290 = $287; | |
} | |
} while(0); | |
tempRet0 = ($289); | |
return ($290|0); | |
} | |
function ___shgetc($0) { | |
$0 = $0|0; | |
var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert29 = 0, $$pre = 0, $$pre30 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; | |
var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; | |
var $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = ((($0)) + 104|0); | |
$2 = HEAP32[$1>>2]|0; | |
$3 = ($2|0)==(0); | |
if ($3) { | |
label = 3; | |
} else { | |
$4 = ((($0)) + 108|0); | |
$5 = HEAP32[$4>>2]|0; | |
$6 = ($5|0)<($2|0); | |
if ($6) { | |
label = 3; | |
} else { | |
label = 4; | |
} | |
} | |
if ((label|0) == 3) { | |
$7 = (___uflow($0)|0); | |
$8 = ($7|0)<(0); | |
if ($8) { | |
label = 4; | |
} else { | |
$10 = HEAP32[$1>>2]|0; | |
$11 = ($10|0)==(0); | |
$$phi$trans$insert = ((($0)) + 8|0); | |
if ($11) { | |
$$pre = HEAP32[$$phi$trans$insert>>2]|0; | |
$$sink = $$pre;$25 = $$pre; | |
} else { | |
$12 = HEAP32[$$phi$trans$insert>>2]|0; | |
$13 = ((($0)) + 4|0); | |
$14 = HEAP32[$13>>2]|0; | |
$15 = $14; | |
$16 = (($12) - ($15))|0; | |
$17 = ((($0)) + 108|0); | |
$18 = HEAP32[$17>>2]|0; | |
$19 = (($10) - ($18))|0; | |
$20 = ($16|0)<($19|0); | |
$21 = $12; | |
if ($20) { | |
$$sink = $21;$25 = $21; | |
} else { | |
$22 = (($19) + -1)|0; | |
$23 = (($14) + ($22)|0); | |
$$sink = $23;$25 = $21; | |
} | |
} | |
$24 = ((($0)) + 100|0); | |
HEAP32[$24>>2] = $$sink; | |
$26 = ($25|0)==(0|0); | |
$$phi$trans$insert29 = ((($0)) + 4|0); | |
if ($26) { | |
$$pre30 = HEAP32[$$phi$trans$insert29>>2]|0; | |
$36 = $$pre30; | |
} else { | |
$27 = HEAP32[$$phi$trans$insert29>>2]|0; | |
$28 = $25; | |
$29 = ((($0)) + 108|0); | |
$30 = HEAP32[$29>>2]|0; | |
$31 = (($28) + 1)|0; | |
$32 = (($31) - ($27))|0; | |
$33 = (($32) + ($30))|0; | |
HEAP32[$29>>2] = $33; | |
$34 = $27; | |
$36 = $34; | |
} | |
$35 = ((($36)) + -1|0); | |
$37 = HEAP8[$35>>0]|0; | |
$38 = $37&255; | |
$39 = ($7|0)==($38|0); | |
if ($39) { | |
$$0 = $7; | |
} else { | |
$40 = $7&255; | |
HEAP8[$35>>0] = $40; | |
$$0 = $7; | |
} | |
} | |
} | |
if ((label|0) == 4) { | |
$9 = ((($0)) + 100|0); | |
HEAP32[$9>>2] = 0; | |
$$0 = -1; | |
} | |
return ($$0|0); | |
} | |
function _fprintf($0,$1,$varargs) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$varargs = $varargs|0; | |
var $2 = 0, $3 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$2 = sp; | |
HEAP32[$2>>2] = $varargs; | |
$3 = (_vfprintf($0,$1,$2)|0); | |
STACKTOP = sp;return ($3|0); | |
} | |
function ___unlist_locked_file($0) { | |
$0 = $0|0; | |
var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = ((($0)) + 68|0); | |
$2 = HEAP32[$1>>2]|0; | |
$3 = ($2|0)==(0); | |
if (!($3)) { | |
$4 = ((($0)) + 116|0); | |
$5 = HEAP32[$4>>2]|0; | |
$6 = ($5|0)==(0|0); | |
$7 = $5; | |
$$pre = ((($0)) + 112|0); | |
if (!($6)) { | |
$8 = HEAP32[$$pre>>2]|0; | |
$9 = ((($5)) + 112|0); | |
HEAP32[$9>>2] = $8; | |
} | |
$10 = HEAP32[$$pre>>2]|0; | |
$11 = ($10|0)==(0|0); | |
if ($11) { | |
$13 = (___pthread_self_534()|0); | |
$14 = ((($13)) + 232|0); | |
$$sink = $14; | |
} else { | |
$12 = ((($10)) + 116|0); | |
$$sink = $12; | |
} | |
HEAP32[$$sink>>2] = $7; | |
} | |
return; | |
} | |
function ___ofl_lock() { | |
var label = 0, sp = 0; | |
sp = STACKTOP; | |
___lock((4808|0)); | |
return (4816|0); | |
} | |
function ___ofl_unlock() { | |
var label = 0, sp = 0; | |
sp = STACKTOP; | |
___unlock((4808|0)); | |
return; | |
} | |
function _fflush($0) { | |
$0 = $0|0; | |
var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; | |
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = ($0|0)==(0|0); | |
do { | |
if ($1) { | |
$8 = HEAP32[69]|0; | |
$9 = ($8|0)==(0|0); | |
if ($9) { | |
$29 = 0; | |
} else { | |
$10 = HEAP32[69]|0; | |
$11 = (_fflush($10)|0); | |
$29 = $11; | |
} | |
$12 = (___ofl_lock()|0); | |
$$02325 = HEAP32[$12>>2]|0; | |
$13 = ($$02325|0)==(0|0); | |
if ($13) { | |
$$024$lcssa = $29; | |
} else { | |
$$02327 = $$02325;$$02426 = $29; | |
while(1) { | |
$14 = ((($$02327)) + 76|0); | |
$15 = HEAP32[$14>>2]|0; | |
$16 = ($15|0)>(-1); | |
if ($16) { | |
$17 = (___lockfile($$02327)|0); | |
$25 = $17; | |
} else { | |
$25 = 0; | |
} | |
$18 = ((($$02327)) + 20|0); | |
$19 = HEAP32[$18>>2]|0; | |
$20 = ((($$02327)) + 28|0); | |
$21 = HEAP32[$20>>2]|0; | |
$22 = ($19>>>0)>($21>>>0); | |
if ($22) { | |
$23 = (___fflush_unlocked($$02327)|0); | |
$24 = $23 | $$02426; | |
$$1 = $24; | |
} else { | |
$$1 = $$02426; | |
} | |
$26 = ($25|0)==(0); | |
if (!($26)) { | |
___unlockfile($$02327); | |
} | |
$27 = ((($$02327)) + 56|0); | |
$$023 = HEAP32[$27>>2]|0; | |
$28 = ($$023|0)==(0|0); | |
if ($28) { | |
$$024$lcssa = $$1; | |
break; | |
} else { | |
$$02327 = $$023;$$02426 = $$1; | |
} | |
} | |
} | |
___ofl_unlock(); | |
$$0 = $$024$lcssa; | |
} else { | |
$2 = ((($0)) + 76|0); | |
$3 = HEAP32[$2>>2]|0; | |
$4 = ($3|0)>(-1); | |
if (!($4)) { | |
$5 = (___fflush_unlocked($0)|0); | |
$$0 = $5; | |
break; | |
} | |
$6 = (___lockfile($0)|0); | |
$phitmp = ($6|0)==(0); | |
$7 = (___fflush_unlocked($0)|0); | |
if ($phitmp) { | |
$$0 = $7; | |
} else { | |
___unlockfile($0); | |
$$0 = $7; | |
} | |
} | |
} while(0); | |
return ($$0|0); | |
} | |
function ___fflush_unlocked($0) { | |
$0 = $0|0; | |
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; | |
var $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = ((($0)) + 20|0); | |
$2 = HEAP32[$1>>2]|0; | |
$3 = ((($0)) + 28|0); | |
$4 = HEAP32[$3>>2]|0; | |
$5 = ($2>>>0)>($4>>>0); | |
if ($5) { | |
$6 = ((($0)) + 36|0); | |
$7 = HEAP32[$6>>2]|0; | |
(FUNCTION_TABLE_iiii[$7 & 7]($0,0,0)|0); | |
$8 = HEAP32[$1>>2]|0; | |
$9 = ($8|0)==(0|0); | |
if ($9) { | |
$$0 = -1; | |
} else { | |
label = 3; | |
} | |
} else { | |
label = 3; | |
} | |
if ((label|0) == 3) { | |
$10 = ((($0)) + 4|0); | |
$11 = HEAP32[$10>>2]|0; | |
$12 = ((($0)) + 8|0); | |
$13 = HEAP32[$12>>2]|0; | |
$14 = ($11>>>0)<($13>>>0); | |
if ($14) { | |
$15 = $11; | |
$16 = $13; | |
$17 = (($15) - ($16))|0; | |
$18 = ((($0)) + 40|0); | |
$19 = HEAP32[$18>>2]|0; | |
(FUNCTION_TABLE_iiii[$19 & 7]($0,$17,1)|0); | |
} | |
$20 = ((($0)) + 16|0); | |
HEAP32[$20>>2] = 0; | |
HEAP32[$3>>2] = 0; | |
HEAP32[$1>>2] = 0; | |
HEAP32[$12>>2] = 0; | |
HEAP32[$10>>2] = 0; | |
$$0 = 0; | |
} | |
return ($$0|0); | |
} | |
function ___pthread_self_534() { | |
var $0 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$0 = (_pthread_self()|0); | |
return ($0|0); | |
} | |
function ___getopt_msg($0,$1,$2,$3) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
$3 = $3|0; | |
var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$4 = HEAP32[5]|0; | |
$5 = (___lctrans_cur($1)|0); | |
_flockfile($4); | |
$6 = (_fputs($0,$4)|0); | |
$7 = ($6|0)>(-1); | |
if ($7) { | |
$8 = (_strlen($5)|0); | |
$9 = (_fwrite($5,$8,1,$4)|0); | |
$10 = ($9|0)==(0); | |
if (!($10)) { | |
$11 = (_fwrite($2,1,$3,$4)|0); | |
$12 = ($11|0)==($3|0); | |
if ($12) { | |
(_putc(10,$4)|0); | |
} | |
} | |
} | |
_funlockfile($4); | |
return; | |
} | |
function _flockfile($0) { | |
$0 = $0|0; | |
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = (_ftrylockfile($0)|0); | |
$2 = ($1|0)==(0); | |
if (!($2)) { | |
$3 = ((($0)) + 76|0); | |
$4 = ((($0)) + 80|0); | |
while(1) { | |
$5 = HEAP32[$3>>2]|0; | |
$6 = ($5|0)==(0); | |
if (!($6)) { | |
___wait(($3|0),($4|0),($5|0),1); | |
} | |
$7 = (_ftrylockfile($0)|0); | |
$8 = ($7|0)==(0); | |
if ($8) { | |
break; | |
} | |
} | |
} | |
return; | |
} | |
function _fputs($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$2 = (_strlen($0)|0); | |
$3 = (_fwrite($0,1,$2,$1)|0); | |
$4 = ($3|0)!=($2|0); | |
$5 = $4 << 31 >> 31; | |
return ($5|0); | |
} | |
function _fwrite($0,$1,$2,$3) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
$3 = $3|0; | |
var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$4 = Math_imul($2, $1)|0; | |
$5 = ($1|0)==(0); | |
$$ = $5 ? 0 : $2; | |
$6 = ((($3)) + 76|0); | |
$7 = HEAP32[$6>>2]|0; | |
$8 = ($7|0)>(-1); | |
if ($8) { | |
$10 = (___lockfile($3)|0); | |
$phitmp = ($10|0)==(0); | |
$11 = (___fwritex($0,$4,$3)|0); | |
if ($phitmp) { | |
$12 = $11; | |
} else { | |
___unlockfile($3); | |
$12 = $11; | |
} | |
} else { | |
$9 = (___fwritex($0,$4,$3)|0); | |
$12 = $9; | |
} | |
$13 = ($12|0)==($4|0); | |
if ($13) { | |
$15 = $$; | |
} else { | |
$14 = (($12>>>0) / ($1>>>0))&-1; | |
$15 = $14; | |
} | |
return ($15|0); | |
} | |
function _putc($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$2 = ((($1)) + 76|0); | |
$3 = HEAP32[$2>>2]|0; | |
$4 = ($3|0)<(0); | |
if ($4) { | |
label = 3; | |
} else { | |
$5 = (___lockfile($1)|0); | |
$6 = ($5|0)==(0); | |
if ($6) { | |
label = 3; | |
} else { | |
$20 = $0&255; | |
$21 = $0 & 255; | |
$22 = ((($1)) + 75|0); | |
$23 = HEAP8[$22>>0]|0; | |
$24 = $23 << 24 >> 24; | |
$25 = ($21|0)==($24|0); | |
if ($25) { | |
label = 10; | |
} else { | |
$26 = ((($1)) + 20|0); | |
$27 = HEAP32[$26>>2]|0; | |
$28 = ((($1)) + 16|0); | |
$29 = HEAP32[$28>>2]|0; | |
$30 = ($27>>>0)<($29>>>0); | |
if ($30) { | |
$31 = ((($27)) + 1|0); | |
HEAP32[$26>>2] = $31; | |
HEAP8[$27>>0] = $20; | |
$33 = $21; | |
} else { | |
label = 10; | |
} | |
} | |
if ((label|0) == 10) { | |
$32 = (___overflow($1,$0)|0); | |
$33 = $32; | |
} | |
___unlockfile($1); | |
$$0 = $33; | |
} | |
} | |
do { | |
if ((label|0) == 3) { | |
$7 = $0&255; | |
$8 = $0 & 255; | |
$9 = ((($1)) + 75|0); | |
$10 = HEAP8[$9>>0]|0; | |
$11 = $10 << 24 >> 24; | |
$12 = ($8|0)==($11|0); | |
if (!($12)) { | |
$13 = ((($1)) + 20|0); | |
$14 = HEAP32[$13>>2]|0; | |
$15 = ((($1)) + 16|0); | |
$16 = HEAP32[$15>>2]|0; | |
$17 = ($14>>>0)<($16>>>0); | |
if ($17) { | |
$18 = ((($14)) + 1|0); | |
HEAP32[$13>>2] = $18; | |
HEAP8[$14>>0] = $7; | |
$$0 = $8; | |
break; | |
} | |
} | |
$19 = (___overflow($1,$0)|0); | |
$$0 = $19; | |
} | |
} while(0); | |
return ($$0|0); | |
} | |
function _funlockfile($0) { | |
$0 = $0|0; | |
var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = ((($0)) + 68|0); | |
$2 = HEAP32[$1>>2]|0; | |
$3 = ($2|0)==(1); | |
if ($3) { | |
___unlist_locked_file($0); | |
HEAP32[$1>>2] = 0; | |
___unlockfile($0); | |
} else { | |
$4 = (($2) + -1)|0; | |
HEAP32[$1>>2] = $4; | |
} | |
return; | |
} | |
function ___overflow($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $$0 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; | |
var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$2 = sp; | |
$3 = $1&255; | |
HEAP8[$2>>0] = $3; | |
$4 = ((($0)) + 16|0); | |
$5 = HEAP32[$4>>2]|0; | |
$6 = ($5|0)==(0|0); | |
if ($6) { | |
$7 = (___towrite($0)|0); | |
$8 = ($7|0)==(0); | |
if ($8) { | |
$$pre = HEAP32[$4>>2]|0; | |
$12 = $$pre; | |
label = 4; | |
} else { | |
$$0 = -1; | |
} | |
} else { | |
$12 = $5; | |
label = 4; | |
} | |
do { | |
if ((label|0) == 4) { | |
$9 = ((($0)) + 20|0); | |
$10 = HEAP32[$9>>2]|0; | |
$11 = ($10>>>0)<($12>>>0); | |
if ($11) { | |
$13 = $1 & 255; | |
$14 = ((($0)) + 75|0); | |
$15 = HEAP8[$14>>0]|0; | |
$16 = $15 << 24 >> 24; | |
$17 = ($13|0)==($16|0); | |
if (!($17)) { | |
$18 = ((($10)) + 1|0); | |
HEAP32[$9>>2] = $18; | |
HEAP8[$10>>0] = $3; | |
$$0 = $13; | |
break; | |
} | |
} | |
$19 = ((($0)) + 36|0); | |
$20 = HEAP32[$19>>2]|0; | |
$21 = (FUNCTION_TABLE_iiii[$20 & 7]($0,$2,1)|0); | |
$22 = ($21|0)==(1); | |
if ($22) { | |
$23 = HEAP8[$2>>0]|0; | |
$24 = $23&255; | |
$$0 = $24; | |
} else { | |
$$0 = -1; | |
} | |
} | |
} while(0); | |
STACKTOP = sp;return ($$0|0); | |
} | |
function _ftrylockfile($0) { | |
$0 = $0|0; | |
var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; | |
var $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = (___pthread_self_534()|0); | |
$2 = ((($1)) + 52|0); | |
$3 = HEAP32[$2>>2]|0; | |
$4 = ((($0)) + 76|0); | |
$5 = HEAP32[$4>>2]|0; | |
$6 = ($5|0)==($3|0); | |
if ($6) { | |
$7 = ((($0)) + 68|0); | |
$8 = HEAP32[$7>>2]|0; | |
$9 = ($8|0)==(2147483647); | |
if ($9) { | |
$$0 = -1; | |
} else { | |
$10 = (($8) + 1)|0; | |
HEAP32[$7>>2] = $10; | |
$$0 = 0; | |
} | |
} else { | |
$11 = HEAP32[$4>>2]|0; | |
$12 = ($11|0)<(0); | |
if ($12) { | |
HEAP32[$4>>2] = 0; | |
} | |
$13 = HEAP32[$4>>2]|0; | |
$14 = ($13|0)==(0); | |
if ($14) { | |
_a_cas($4,$3); | |
$15 = ((($0)) + 68|0); | |
HEAP32[$15>>2] = 1; | |
$16 = ((($0)) + 112|0); | |
HEAP32[$16>>2] = 0; | |
$17 = ((($1)) + 232|0); | |
$18 = HEAP32[$17>>2]|0; | |
$19 = ((($0)) + 116|0); | |
HEAP32[$19>>2] = $18; | |
$20 = ($18|0)==(0|0); | |
if (!($20)) { | |
$21 = ((($18)) + 112|0); | |
HEAP32[$21>>2] = $0; | |
} | |
HEAP32[$17>>2] = $0; | |
$$0 = 0; | |
} else { | |
$$0 = -1; | |
} | |
} | |
return ($$0|0); | |
} | |
function _a_cas($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $2 = 0, $3 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$2 = HEAP32[$0>>2]|0; | |
$3 = ($2|0)==(0); | |
if ($3) { | |
HEAP32[$0>>2] = $1; | |
} | |
return; | |
} | |
function _getopt($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $$ = 0, $$0 = 0, $$049 = 0, $$050 = 0, $$051 = 0, $$1 = 0, $$pre52 = 0, $$pre53 = 0, $$pre54 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; | |
var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; | |
var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; | |
var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; | |
var $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$3 = sp + 4|0; | |
$4 = sp; | |
$5 = HEAP32[4]|0; | |
$6 = ($5|0)==(0); | |
$7 = (0)!=(0); | |
$or$cond = $6 | $7; | |
if ($or$cond) { | |
HEAP32[1183] = 0; | |
HEAP32[4] = 1; | |
$8 = 1; | |
} else { | |
$8 = $5; | |
} | |
$9 = ($8|0)<($0|0); | |
L4: do { | |
if ($9) { | |
$10 = (($1) + ($8<<2)|0); | |
$11 = HEAP32[$10>>2]|0; | |
$12 = ($11|0)==(0|0); | |
$13 = $11; | |
if ($12) { | |
$$0 = -1; | |
} else { | |
$14 = HEAP8[$11>>0]|0; | |
$15 = ($14<<24>>24)==(45); | |
if (!($15)) { | |
$16 = HEAP8[$2>>0]|0; | |
$17 = ($16<<24>>24)==(45); | |
if (!($17)) { | |
$$0 = -1; | |
break; | |
} | |
$18 = (($8) + 1)|0; | |
HEAP32[4] = $18; | |
HEAP32[1184] = $13; | |
$$0 = 1; | |
break; | |
} | |
$19 = ((($11)) + 1|0); | |
$20 = HEAP8[$19>>0]|0; | |
switch ($20<<24>>24) { | |
case 0: { | |
$$0 = -1; | |
break L4; | |
break; | |
} | |
case 45: { | |
$21 = ((($11)) + 2|0); | |
$22 = HEAP8[$21>>0]|0; | |
$23 = ($22<<24>>24)==(0); | |
if ($23) { | |
$24 = (($8) + 1)|0; | |
HEAP32[4] = $24; | |
$$0 = -1; | |
break L4; | |
} | |
break; | |
} | |
default: { | |
} | |
} | |
$25 = HEAP32[1183]|0; | |
$26 = ($25|0)==(0); | |
if ($26) { | |
HEAP32[1183] = 1; | |
$28 = 1; | |
} else { | |
$28 = $25; | |
} | |
$27 = (($11) + ($28)|0); | |
$29 = (_mbtowc($3,$27,4)|0); | |
$30 = ($29|0)<(0); | |
if ($30) { | |
HEAP32[$3>>2] = 65533; | |
$$050 = 1; | |
} else { | |
$$050 = $29; | |
} | |
$31 = HEAP32[4]|0; | |
$32 = (($1) + ($31<<2)|0); | |
$33 = HEAP32[$32>>2]|0; | |
$34 = HEAP32[1183]|0; | |
$35 = (($33) + ($34)|0); | |
$36 = (($34) + ($$050))|0; | |
HEAP32[1183] = $36; | |
$37 = (($33) + ($36)|0); | |
$38 = HEAP8[$37>>0]|0; | |
$39 = ($38<<24>>24)==(0); | |
if ($39) { | |
$40 = (($31) + 1)|0; | |
HEAP32[4] = $40; | |
HEAP32[1183] = 0; | |
} | |
$41 = HEAP8[$2>>0]|0; | |
switch ($41<<24>>24) { | |
case 43: case 45: { | |
$42 = ((($2)) + 1|0); | |
$$049 = $42; | |
break; | |
} | |
default: { | |
$$049 = $2; | |
} | |
} | |
HEAP32[$4>>2] = 0; | |
$$051 = 0; | |
while(1) { | |
$43 = (($$049) + ($$051)|0); | |
$44 = (_mbtowc($4,$43,4)|0); | |
$45 = ($44|0)>(1); | |
$$ = $45 ? $44 : 1; | |
$$1 = (($$) + ($$051))|0; | |
$46 = ($44|0)==(0); | |
$$pre52 = HEAP32[$4>>2]|0; | |
$$pre53 = HEAP32[$3>>2]|0; | |
$47 = ($$pre52|0)==($$pre53|0); | |
if ($46) { | |
label = 23; | |
break; | |
} | |
if ($47) { | |
$75 = $$pre52; | |
break; | |
} else { | |
$$051 = $$1; | |
} | |
} | |
if ((label|0) == 23) { | |
if ($47) { | |
$75 = $$pre53; | |
} else { | |
$48 = HEAP8[$$049>>0]|0; | |
$49 = ($48<<24>>24)!=(58); | |
$50 = (1)!=(0); | |
$or$cond3 = $49 & $50; | |
if (!($or$cond3)) { | |
$$0 = 63; | |
break; | |
} | |
$51 = HEAP32[$1>>2]|0; | |
___getopt_msg($51,4032,$35,$$050); | |
$$0 = 63; | |
break; | |
} | |
} | |
$52 = (($$049) + ($$1)|0); | |
$53 = HEAP8[$52>>0]|0; | |
$54 = ($53<<24>>24)==(58); | |
if ($54) { | |
$55 = (($$1) + 1)|0; | |
$56 = (($$049) + ($55)|0); | |
$57 = HEAP8[$56>>0]|0; | |
$58 = ($57<<24>>24)==(58); | |
do { | |
if ($58) { | |
HEAP32[1184] = 0; | |
$$pre54 = HEAP8[$56>>0]|0; | |
$66 = ($$pre54<<24>>24)!=(58); | |
$67 = HEAP32[1183]|0; | |
$68 = ($67|0)!=(0); | |
$or$cond5 = $66 | $68; | |
if ($or$cond5) { | |
$74 = $67; | |
} else { | |
$$0 = $75; | |
break L4; | |
} | |
} else { | |
$59 = HEAP32[4]|0; | |
$60 = ($59|0)<($0|0); | |
if ($60) { | |
$61 = HEAP32[1183]|0; | |
$74 = $61; | |
break; | |
} | |
$62 = HEAP8[$$049>>0]|0; | |
$63 = ($62<<24>>24)==(58); | |
if ($63) { | |
$$0 = 58; | |
break L4; | |
} | |
$64 = (1)==(0); | |
if ($64) { | |
$$0 = 63; | |
break L4; | |
} | |
$65 = HEAP32[$1>>2]|0; | |
___getopt_msg($65,4056,$35,$$050); | |
$$0 = 63; | |
break L4; | |
} | |
} while(0); | |
$69 = HEAP32[4]|0; | |
$70 = (($69) + 1)|0; | |
HEAP32[4] = $70; | |
$71 = (($1) + ($69<<2)|0); | |
$72 = HEAP32[$71>>2]|0; | |
$73 = (($72) + ($74)|0); | |
HEAP32[1184] = $73; | |
HEAP32[1183] = 0; | |
$$0 = $75; | |
} else { | |
$$0 = $75; | |
} | |
} | |
} else { | |
$$0 = -1; | |
} | |
} while(0); | |
STACKTOP = sp;return ($$0|0); | |
} | |
function _strtol($0,$1,$2) { | |
$0 = $0|0; | |
$1 = $1|0; | |
$2 = $2|0; | |
var $3 = 0, $4 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$3 = (_strtox($0,$1,$2,-2147483648,0)|0); | |
$4 = tempRet0; | |
return ($3|0); | |
} | |
function _fputc($0,$1) { | |
$0 = $0|0; | |
$1 = $1|0; | |
var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; | |
var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$2 = ((($1)) + 76|0); | |
$3 = HEAP32[$2>>2]|0; | |
$4 = ($3|0)<(0); | |
if ($4) { | |
label = 3; | |
} else { | |
$5 = (___lockfile($1)|0); | |
$6 = ($5|0)==(0); | |
if ($6) { | |
label = 3; | |
} else { | |
$20 = $0&255; | |
$21 = $0 & 255; | |
$22 = ((($1)) + 75|0); | |
$23 = HEAP8[$22>>0]|0; | |
$24 = $23 << 24 >> 24; | |
$25 = ($21|0)==($24|0); | |
if ($25) { | |
label = 10; | |
} else { | |
$26 = ((($1)) + 20|0); | |
$27 = HEAP32[$26>>2]|0; | |
$28 = ((($1)) + 16|0); | |
$29 = HEAP32[$28>>2]|0; | |
$30 = ($27>>>0)<($29>>>0); | |
if ($30) { | |
$31 = ((($27)) + 1|0); | |
HEAP32[$26>>2] = $31; | |
HEAP8[$27>>0] = $20; | |
$33 = $21; | |
} else { | |
label = 10; | |
} | |
} | |
if ((label|0) == 10) { | |
$32 = (___overflow($1,$0)|0); | |
$33 = $32; | |
} | |
___unlockfile($1); | |
$$0 = $33; | |
} | |
} | |
do { | |
if ((label|0) == 3) { | |
$7 = $0&255; | |
$8 = $0 & 255; | |
$9 = ((($1)) + 75|0); | |
$10 = HEAP8[$9>>0]|0; | |
$11 = $10 << 24 >> 24; | |
$12 = ($8|0)==($11|0); | |
if (!($12)) { | |
$13 = ((($1)) + 20|0); | |
$14 = HEAP32[$13>>2]|0; | |
$15 = ((($1)) + 16|0); | |
$16 = HEAP32[$15>>2]|0; | |
$17 = ($14>>>0)<($16>>>0); | |
if ($17) { | |
$18 = ((($14)) + 1|0); | |
HEAP32[$13>>2] = $18; | |
HEAP8[$14>>0] = $7; | |
$$0 = $8; | |
break; | |
} | |
} | |
$19 = (___overflow($1,$0)|0); | |
$$0 = $19; | |
} | |
} while(0); | |
return ($$0|0); | |
} | |
function _printf($0,$varargs) { | |
$0 = $0|0; | |
$varargs = $varargs|0; | |
var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); | |
$1 = sp; | |
HEAP32[$1>>2] = $varargs; | |
$2 = HEAP32[37]|0; | |
$3 = (_vfprintf($2,$0,$1)|0); | |
STACKTOP = sp;return ($3|0); | |
} | |
function _putchar($0) { | |
$0 = $0|0; | |
var $1 = 0, $2 = 0, label = 0, sp = 0; | |
sp = STACKTOP; | |
$1 = HEAP32[37]|0; | |
$2 = (_fputc($0,$1)|0); | |
return ($2|0); | |
} | |
function runPostSets() { | |
} | |
function ___muldsi3($a, $b) { | |
$a = $a | 0; | |
$b = $b | 0; | |
var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; | |
$1 = $a & 65535; | |
$2 = $b & 65535; | |
$3 = Math_imul($2, $1) | 0; | |
$6 = $a >>> 16; | |
$8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; | |
$11 = $b >>> 16; | |
$12 = Math_imul($11, $1) | 0; | |
return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; | |
} | |
function ___muldi3($a$0, $a$1, $b$0, $b$1) { | |
$a$0 = $a$0 | 0; | |
$a$1 = $a$1 | 0; | |
$b$0 = $b$0 | 0; | |
$b$1 = $b$1 | 0; | |
var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; | |
$x_sroa_0_0_extract_trunc = $a$0; | |
$y_sroa_0_0_extract_trunc = $b$0; | |
$1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; | |
$1$1 = tempRet0; | |
$2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; | |
return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; | |
} | |
function _i64Add(a, b, c, d) { | |
/* | |
x = a + b*2^32 | |
y = c + d*2^32 | |
result = l + h*2^32 | |
*/ | |
a = a|0; b = b|0; c = c|0; d = d|0; | |
var l = 0, h = 0; | |
l = (a + c)>>>0; | |
h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. | |
return ((tempRet0 = h,l|0)|0); | |
} | |
function _i64Subtract(a, b, c, d) { | |
a = a|0; b = b|0; c = c|0; d = d|0; | |
var l = 0, h = 0; | |
l = (a - c)>>>0; | |
h = (b - d)>>>0; | |
h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. | |
return ((tempRet0 = h,l|0)|0); | |
} | |
function _llvm_cttz_i32(x) { | |
x = x|0; | |
var ret = 0; | |
ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); | |
if ((ret|0) < 8) return ret|0; | |
ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); | |
if ((ret|0) < 8) return (ret + 8)|0; | |
ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); | |
if ((ret|0) < 8) return (ret + 16)|0; | |
return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; | |
} | |
function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { | |
$a$0 = $a$0 | 0; | |
$a$1 = $a$1 | 0; | |
$b$0 = $b$0 | 0; | |
$b$1 = $b$1 | 0; | |
$rem = $rem | 0; | |
var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; | |
$n_sroa_0_0_extract_trunc = $a$0; | |
$n_sroa_1_4_extract_shift$0 = $a$1; | |
$n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; | |
$d_sroa_0_0_extract_trunc = $b$0; | |
$d_sroa_1_4_extract_shift$0 = $b$1; | |
$d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; | |
if (($n_sroa_1_4_extract_trunc | 0) == 0) { | |
$4 = ($rem | 0) != 0; | |
if (($d_sroa_1_4_extract_trunc | 0) == 0) { | |
if ($4) { | |
HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); | |
HEAP32[$rem + 4 >> 2] = 0; | |
} | |
$_0$1 = 0; | |
$_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; | |
return (tempRet0 = $_0$1, $_0$0) | 0; | |
} else { | |
if (!$4) { | |
$_0$1 = 0; | |
$_0$0 = 0; | |
return (tempRet0 = $_0$1, $_0$0) | 0; | |
} | |
HEAP32[$rem >> 2] = $a$0 & -1; | |
HEAP32[$rem + 4 >> 2] = $a$1 & 0; | |
$_0$1 = 0; | |
$_0$0 = 0; | |
return (tempRet0 = $_0$1, $_0$0) | 0; | |
} | |
} | |
$17 = ($d_sroa_1_4_extract_trunc | 0) == 0; | |
do { | |
if (($d_sroa_0_0_extract_trunc | 0) == 0) { | |
if ($17) { | |
if (($rem | 0) != 0) { | |
HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); | |
HEAP32[$rem + 4 >> 2] = 0; | |
} | |
$_0$1 = 0; | |
$_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; | |
return (tempRet0 = $_0$1, $_0$0) | 0; | |
} | |
if (($n_sroa_0_0_extract_trunc | 0) == 0) { | |
if (($rem | 0) != 0) { | |
HEAP32[$rem >> 2] = 0; | |
HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); | |
} | |
$_0$1 = 0; | |
$_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; | |
return (tempRet0 = $_0$1, $_0$0) | 0; | |
} | |
$37 = $d_sroa_1_4_extract_trunc - 1 | 0; | |
if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { | |
if (($rem | 0) != 0) { | |
HEAP32[$rem >> 2] = 0 | $a$0 & -1; | |
HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; | |
} | |
$_0$1 = 0; | |
$_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); | |
return (tempRet0 = $_0$1, $_0$0) | 0; | |
} | |
$49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; | |
$51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; | |
if ($51 >>> 0 <= 30) { | |
$57 = $51 + 1 | 0; | |
$58 = 31 - $51 | 0; | |
$sr_1_ph = $57; | |
$r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); | |
$r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); | |
$q_sroa_0_1_ph = 0; | |
$q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; | |
break; | |
} | |
if (($rem | 0) == 0) { | |
$_0$1 = 0; | |
$_0$0 = 0; | |
return (tempRet0 = $_0$1, $_0$0) | 0; | |
} | |
HEAP32[$rem >> 2] = 0 | $a$0 & -1; | |
HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; | |
$_0$1 = 0; | |
$_0$0 = 0; | |
return (tempRet0 = $_0$1, $_0$0) | 0; | |
} else { | |
if (!$17) { | |
$117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; | |
$119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; | |
if ($119 >>> 0 <= 31) { | |
$125 = $119 + 1 | 0; | |
$126 = 31 - $119 | 0; | |
$130 = $119 - 31 >> 31; | |
$sr_1_ph = $125; | |
$r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; | |
$r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; | |
$q_sroa_0_1_ph = 0; | |
$q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; | |
break; | |
} | |
if (($rem | 0) == 0) { | |
$_0$1 = 0; | |
$_0$0 = 0; | |
return (tempRet0 = $_0$1, $_0$0) | 0; | |
} | |
HEAP32[$rem >> 2] = 0 | $a$0 & -1; | |
HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; | |
$_0$1 = 0; | |
$_0$0 = 0; | |
return (tempRet0 = $_0$1, $_0$0) | 0; | |
} | |
$66 = $d_sroa_0_0_extract_trunc - 1 | 0; | |
if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { | |
$86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; | |
$88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; | |
$89 = 64 - $88 | 0; | |
$91 = 32 - $88 | 0; | |
$92 = $91 >> 31; | |
$95 = $88 - 32 | 0; | |
$105 = $95 >> 31; | |
$sr_1_ph = $88; | |
$r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; | |
$r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); | |
$q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; | |
$q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; | |
break; | |
} | |
if (($rem | 0) != 0) { | |
HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; | |
HEAP32[$rem + 4 >> 2] = 0; | |
} | |
if (($d_sroa_0_0_extract_trunc | 0) == 1) { | |
$_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; | |
$_0$0 = 0 | $a$0 & -1; | |
return (tempRet0 = $_0$1, $_0$0) | 0; | |
} else { | |
$78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; | |
$_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); | |
$_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; | |
return (tempRet0 = $_0$1, $_0$0) | 0; | |
} | |
} | |
} while (0); | |
if (($sr_1_ph | 0) == 0) { | |
$q_sroa_1_1_lcssa = $q_sroa_1_1_ph; | |
$q_sroa_0_1_lcssa = $q_sroa_0_1_ph; | |
$r_sroa_1_1_lcssa = $r_sroa_1_1_ph; | |
$r_sroa_0_1_lcssa = $r_sroa_0_1_ph; | |
$carry_0_lcssa$1 = 0; | |
$carry_0_lcssa$0 = 0; | |
} else { | |
$d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; | |
$d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; | |
$137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; | |
$137$1 = tempRet0; | |
$q_sroa_1_1198 = $q_sroa_1_1_ph; | |
$q_sroa_0_1199 = $q_sroa_0_1_ph; | |
$r_sroa_1_1200 = $r_sroa_1_1_ph; | |
$r_sroa_0_1201 = $r_sroa_0_1_ph; | |
$sr_1202 = $sr_1_ph; | |
$carry_0203 = 0; | |
while (1) { | |
$147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; | |
$149 = $carry_0203 | $q_sroa_0_1199 << 1; | |
$r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); | |
$r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; | |
_i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; | |
$150$1 = tempRet0; | |
$151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; | |
$152 = $151$0 & 1; | |
$154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; | |
$r_sroa_0_0_extract_trunc = $154$0; | |
$r_sroa_1_4_extract_trunc = tempRet0; | |
$155 = $sr_1202 - 1 | 0; | |
if (($155 | 0) == 0) { | |
break; | |
} else { | |
$q_sroa_1_1198 = $147; | |
$q_sroa_0_1199 = $149; | |
$r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; | |
$r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; | |
$sr_1202 = $155; | |
$carry_0203 = $152; | |
} | |
} | |
$q_sroa_1_1_lcssa = $147; | |
$q_sroa_0_1_lcssa = $149; | |
$r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; | |
$r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; | |
$carry_0_lcssa$1 = 0; | |
$carry_0_lcssa$0 = $152; | |
} | |
$q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; | |
$q_sroa_0_0_insert_ext75$1 = 0; | |
$q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; | |
if (($rem | 0) != 0) { | |
HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; | |
HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; | |
} | |
$_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; | |
$_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; | |
return (tempRet0 = $_0$1, $_0$0) | 0; | |
} | |
function ___udivdi3($a$0, $a$1, $b$0, $b$1) { | |
$a$0 = $a$0 | 0; | |
$a$1 = $a$1 | 0; | |
$b$0 = $b$0 | 0; | |
$b$1 = $b$1 | 0; | |
var $1$0 = 0; | |
$1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; | |
return $1$0 | 0; | |
} | |
function ___uremdi3($a$0, $a$1, $b$0, $b$1) { | |
$a$0 = $a$0 | 0; | |
$a$1 = $a$1 | 0; | |
$b$0 = $b$0 | 0; | |
$b$1 = $b$1 | 0; | |
var $rem = 0, __stackBase__ = 0; | |
__stackBase__ = STACKTOP; | |
STACKTOP = STACKTOP + 16 | 0; | |
$rem = __stackBase__ | 0; | |
___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; | |
STACKTOP = __stackBase__; | |
return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; | |
} | |
function _bitshift64Lshr(low, high, bits) { | |
low = low|0; high = high|0; bits = bits|0; | |
var ander = 0; | |
if ((bits|0) < 32) { | |
ander = ((1 << bits) - 1)|0; | |
tempRet0 = high >>> bits; | |
return (low >>> bits) | ((high&ander) << (32 - bits)); | |
} | |
tempRet0 = 0; | |
return (high >>> (bits - 32))|0; | |
} | |
function _bitshift64Shl(low, high, bits) { | |
low = low|0; high = high|0; bits = bits|0; | |
var ander = 0; | |
if ((bits|0) < 32) { | |
ander = ((1 << bits) - 1)|0; | |
tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); | |
return low << bits; | |
} | |
tempRet0 = low << (bits - 32); | |
return 0; | |
} | |
function _llvm_bswap_i32(x) { | |
x = x|0; | |
return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; | |
} | |
function _memcpy(dest, src, num) { | |
dest = dest|0; src = src|0; num = num|0; | |
var ret = 0; | |
var aligned_dest_end = 0; | |
var block_aligned_dest_end = 0; | |
var dest_end = 0; | |
// Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. | |
if ((num|0) >= | |
8192 | |
) { | |
return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; | |
} | |
ret = dest|0; | |
dest_end = (dest + num)|0; | |
if ((dest&3) == (src&3)) { | |
// The initial unaligned < 4-byte front. | |
while (dest & 3) { | |
if ((num|0) == 0) return ret|0; | |
HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); | |
dest = (dest+1)|0; | |
src = (src+1)|0; | |
num = (num-1)|0; | |
} | |
aligned_dest_end = (dest_end & -4)|0; | |
block_aligned_dest_end = (aligned_dest_end - 64)|0; | |
while ((dest|0) <= (block_aligned_dest_end|0) ) { | |
HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); | |
HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); | |
HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); | |
HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); | |
HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); | |
HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); | |
HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); | |
HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); | |
HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); | |
HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); | |
HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); | |
HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); | |
HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); | |
HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); | |
HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); | |
HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); | |
dest = (dest+64)|0; | |
src = (src+64)|0; | |
} | |
while ((dest|0) < (aligned_dest_end|0) ) { | |
HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); | |
dest = (dest+4)|0; | |
src = (src+4)|0; | |
} | |
} else { | |
// In the unaligned copy case, unroll a bit as well. | |
aligned_dest_end = (dest_end - 4)|0; | |
while ((dest|0) < (aligned_dest_end|0) ) { | |
HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); | |
HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); | |
HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); | |
HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); | |
dest = (dest+4)|0; | |
src = (src+4)|0; | |
} | |
} | |
// The remaining unaligned < 4 byte tail. | |
while ((dest|0) < (dest_end|0)) { | |
HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); | |
dest = (dest+1)|0; | |
src = (src+1)|0; | |
} | |
return ret|0; | |
} | |
function _memset(ptr, value, num) { | |
ptr = ptr|0; value = value|0; num = num|0; | |
var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; | |
end = (ptr + num)|0; | |
value = value & 0xff; | |
if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { | |
while ((ptr&3) != 0) { | |
HEAP8[((ptr)>>0)]=value; | |
ptr = (ptr+1)|0; | |
} | |
aligned_end = (end & -4)|0; | |
block_aligned_end = (aligned_end - 64)|0; | |
value4 = value | (value << 8) | (value << 16) | (value << 24); | |
while((ptr|0) <= (block_aligned_end|0)) { | |
HEAP32[((ptr)>>2)]=value4; | |
HEAP32[(((ptr)+(4))>>2)]=value4; | |
HEAP32[(((ptr)+(8))>>2)]=value4; | |
HEAP32[(((ptr)+(12))>>2)]=value4; | |
HEAP32[(((ptr)+(16))>>2)]=value4; | |
HEAP32[(((ptr)+(20))>>2)]=value4; | |
HEAP32[(((ptr)+(24))>>2)]=value4; | |
HEAP32[(((ptr)+(28))>>2)]=value4; | |
HEAP32[(((ptr)+(32))>>2)]=value4; | |
HEAP32[(((ptr)+(36))>>2)]=value4; | |
HEAP32[(((ptr)+(40))>>2)]=value4; | |
HEAP32[(((ptr)+(44))>>2)]=value4; | |
HEAP32[(((ptr)+(48))>>2)]=value4; | |
HEAP32[(((ptr)+(52))>>2)]=value4; | |
HEAP32[(((ptr)+(56))>>2)]=value4; | |
HEAP32[(((ptr)+(60))>>2)]=value4; | |
ptr = (ptr + 64)|0; | |
} | |
while ((ptr|0) < (aligned_end|0) ) { | |
HEAP32[((ptr)>>2)]=value4; | |
ptr = (ptr+4)|0; | |
} | |
} | |
// The remaining bytes. | |
while ((ptr|0) < (end|0)) { | |
HEAP8[((ptr)>>0)]=value; | |
ptr = (ptr+1)|0; | |
} | |
return (end-num)|0; | |
} | |
function _sbrk(increment) { | |
increment = increment|0; | |
var oldDynamicTop = 0; | |
var oldDynamicTopOnChange = 0; | |
var newDynamicTop = 0; | |
var totalMemory = 0; | |
increment = ((increment + 15) & -16)|0; | |
oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; | |
newDynamicTop = oldDynamicTop + increment | 0; | |
if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. | |
| (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. | |
abortOnCannotGrowMemory()|0; | |
___setErrNo(12); | |
return -1; | |
} | |
HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; | |
totalMemory = getTotalMemory()|0; | |
if ((newDynamicTop|0) > (totalMemory|0)) { | |
if ((enlargeMemory()|0) == 0) { | |
HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; | |
___setErrNo(12); | |
return -1; | |
} | |
} | |
return oldDynamicTop|0; | |
} | |
function dynCall_ii(index,a1) { | |
index = index|0; | |
a1=a1|0; | |
return FUNCTION_TABLE_ii[index&1](a1|0)|0; | |
} | |
function dynCall_iiii(index,a1,a2,a3) { | |
index = index|0; | |
a1=a1|0; a2=a2|0; a3=a3|0; | |
return FUNCTION_TABLE_iiii[index&7](a1|0,a2|0,a3|0)|0; | |
} | |
function b0(p0) { | |
p0 = p0|0; nullFunc_ii(0);return 0; | |
} | |
function b1(p0,p1,p2) { | |
p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(1);return 0; | |
} | |
// EMSCRIPTEN_END_FUNCS | |
var FUNCTION_TABLE_ii = [b0,___stdio_close]; | |
var FUNCTION_TABLE_iiii = [b1,b1,___stdio_write,___stdio_seek,___stdout_write,b1,b1,b1]; | |
return { ___errno_location: ___errno_location, ___muldi3: ___muldi3, ___udivdi3: ___udivdi3, ___uremdi3: ___uremdi3, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _free: _free, _i64Add: _i64Add, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, _main: _main, _malloc: _malloc, _memcpy: _memcpy, _memset: _memset, _sbrk: _sbrk, dynCall_ii: dynCall_ii, dynCall_iiii: dynCall_iiii, establishStackSpace: establishStackSpace, getTempRet0: getTempRet0, runPostSets: runPostSets, setTempRet0: setTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackRestore: stackRestore, stackSave: stackSave }; | |
}) | |
// EMSCRIPTEN_END_ASM | |
(Module.asmGlobalArg, Module.asmLibraryArg, buffer); | |
var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real____errno_location.apply(null, arguments); | |
}; | |
var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real____muldi3.apply(null, arguments); | |
}; | |
var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real____udivdi3.apply(null, arguments); | |
}; | |
var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real____uremdi3.apply(null, arguments); | |
}; | |
var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real__bitshift64Lshr.apply(null, arguments); | |
}; | |
var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real__bitshift64Shl.apply(null, arguments); | |
}; | |
var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real__fflush.apply(null, arguments); | |
}; | |
var real__free = asm["_free"]; asm["_free"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real__free.apply(null, arguments); | |
}; | |
var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real__i64Add.apply(null, arguments); | |
}; | |
var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real__i64Subtract.apply(null, arguments); | |
}; | |
var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real__llvm_bswap_i32.apply(null, arguments); | |
}; | |
var real__main = asm["_main"]; asm["_main"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real__main.apply(null, arguments); | |
}; | |
var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real__malloc.apply(null, arguments); | |
}; | |
var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real__sbrk.apply(null, arguments); | |
}; | |
var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real_establishStackSpace.apply(null, arguments); | |
}; | |
var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real_getTempRet0.apply(null, arguments); | |
}; | |
var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real_setTempRet0.apply(null, arguments); | |
}; | |
var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real_setThrew.apply(null, arguments); | |
}; | |
var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real_stackAlloc.apply(null, arguments); | |
}; | |
var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real_stackRestore.apply(null, arguments); | |
}; | |
var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { | |
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); | |
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); | |
return real_stackSave.apply(null, arguments); | |
}; | |
var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; | |
var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; | |
var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; | |
var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; | |
var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; | |
var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; | |
var _fflush = Module["_fflush"] = asm["_fflush"]; | |
var _free = Module["_free"] = asm["_free"]; | |
var _i64Add = Module["_i64Add"] = asm["_i64Add"]; | |
var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; | |
var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; | |
var _main = Module["_main"] = asm["_main"]; | |
var _malloc = Module["_malloc"] = asm["_malloc"]; | |
var _memcpy = Module["_memcpy"] = asm["_memcpy"]; | |
var _memset = Module["_memset"] = asm["_memset"]; | |
var _sbrk = Module["_sbrk"] = asm["_sbrk"]; | |
var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; | |
var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; | |
var runPostSets = Module["runPostSets"] = asm["runPostSets"]; | |
var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; | |
var setThrew = Module["setThrew"] = asm["setThrew"]; | |
var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; | |
var stackRestore = Module["stackRestore"] = asm["stackRestore"]; | |
var stackSave = Module["stackSave"] = asm["stackSave"]; | |
var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; | |
var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; | |
; | |
// === Auto-generated postamble setup entry stuff === | |
Module['asm'] = asm; | |
if (!Module["intArrayFromString"]) Module["intArrayFromString"] = function() { abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["intArrayToString"]) Module["intArrayToString"] = function() { abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["ccall"]) Module["ccall"] = function() { abort("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["cwrap"]) Module["cwrap"] = function() { abort("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["setValue"]) Module["setValue"] = function() { abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["getValue"]) Module["getValue"] = function() { abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["allocate"]) Module["allocate"] = function() { abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["getMemory"]) Module["getMemory"] = function() { abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; | |
if (!Module["Pointer_stringify"]) Module["Pointer_stringify"] = function() { abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["AsciiToString"]) Module["AsciiToString"] = function() { abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["stringToAscii"]) Module["stringToAscii"] = function() { abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["UTF8ArrayToString"]) Module["UTF8ArrayToString"] = function() { abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["UTF8ToString"]) Module["UTF8ToString"] = function() { abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["stringToUTF8Array"]) Module["stringToUTF8Array"] = function() { abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["stringToUTF8"]) Module["stringToUTF8"] = function() { abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["lengthBytesUTF8"]) Module["lengthBytesUTF8"] = function() { abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["UTF16ToString"]) Module["UTF16ToString"] = function() { abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["stringToUTF16"]) Module["stringToUTF16"] = function() { abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["lengthBytesUTF16"]) Module["lengthBytesUTF16"] = function() { abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["UTF32ToString"]) Module["UTF32ToString"] = function() { abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["stringToUTF32"]) Module["stringToUTF32"] = function() { abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["lengthBytesUTF32"]) Module["lengthBytesUTF32"] = function() { abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["allocateUTF8"]) Module["allocateUTF8"] = function() { abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["stackTrace"]) Module["stackTrace"] = function() { abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["addOnPreRun"]) Module["addOnPreRun"] = function() { abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["addOnInit"]) Module["addOnInit"] = function() { abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["addOnPreMain"]) Module["addOnPreMain"] = function() { abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["addOnExit"]) Module["addOnExit"] = function() { abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["addOnPostRun"]) Module["addOnPostRun"] = function() { abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["writeStringToMemory"]) Module["writeStringToMemory"] = function() { abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["writeArrayToMemory"]) Module["writeArrayToMemory"] = function() { abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["writeAsciiToMemory"]) Module["writeAsciiToMemory"] = function() { abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["addRunDependency"]) Module["addRunDependency"] = function() { abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; | |
if (!Module["removeRunDependency"]) Module["removeRunDependency"] = function() { abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; | |
if (!Module["FS"]) Module["FS"] = function() { abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["FS_createFolder"]) Module["FS_createFolder"] = function() { abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; | |
if (!Module["FS_createPath"]) Module["FS_createPath"] = function() { abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; | |
if (!Module["FS_createDataFile"]) Module["FS_createDataFile"] = function() { abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; | |
if (!Module["FS_createPreloadedFile"]) Module["FS_createPreloadedFile"] = function() { abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; | |
if (!Module["FS_createLazyFile"]) Module["FS_createLazyFile"] = function() { abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; | |
if (!Module["FS_createLink"]) Module["FS_createLink"] = function() { abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; | |
if (!Module["FS_createDevice"]) Module["FS_createDevice"] = function() { abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; | |
if (!Module["FS_unlink"]) Module["FS_unlink"] = function() { abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; | |
if (!Module["GL"]) Module["GL"] = function() { abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["staticAlloc"]) Module["staticAlloc"] = function() { abort("'staticAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["dynamicAlloc"]) Module["dynamicAlloc"] = function() { abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["warnOnce"]) Module["warnOnce"] = function() { abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["loadDynamicLibrary"]) Module["loadDynamicLibrary"] = function() { abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["loadWebAssemblyModule"]) Module["loadWebAssemblyModule"] = function() { abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["getLEB"]) Module["getLEB"] = function() { abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["getFunctionTables"]) Module["getFunctionTables"] = function() { abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["alignFunctionTables"]) Module["alignFunctionTables"] = function() { abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["registerFunctions"]) Module["registerFunctions"] = function() { abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["addFunction"]) Module["addFunction"] = function() { abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["removeFunction"]) Module["removeFunction"] = function() { abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["getFuncWrapper"]) Module["getFuncWrapper"] = function() { abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["prettyPrint"]) Module["prettyPrint"] = function() { abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["makeBigInt"]) Module["makeBigInt"] = function() { abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["dynCall"]) Module["dynCall"] = function() { abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["getCompilerSetting"]) Module["getCompilerSetting"] = function() { abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["intArrayFromBase64"]) Module["intArrayFromBase64"] = function() { abort("'intArrayFromBase64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; | |
if (!Module["tryParseAsDataURI"]) Module["tryParseAsDataURI"] = function() { abort("'tryParseAsDataURI' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };if (!Module["ALLOC_NORMAL"]) Object.defineProperty(Module, "ALLOC_NORMAL", { get: function() { abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); | |
if (!Module["ALLOC_STACK"]) Object.defineProperty(Module, "ALLOC_STACK", { get: function() { abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); | |
if (!Module["ALLOC_STATIC"]) Object.defineProperty(Module, "ALLOC_STATIC", { get: function() { abort("'ALLOC_STATIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); | |
if (!Module["ALLOC_DYNAMIC"]) Object.defineProperty(Module, "ALLOC_DYNAMIC", { get: function() { abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); | |
if (!Module["ALLOC_NONE"]) Object.defineProperty(Module, "ALLOC_NONE", { get: function() { abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); | |
if (memoryInitializer) { | |
if (!isDataURI(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, GLOBAL_BASE); | |
} else { | |
addRunDependency('memory initializer'); | |
var applyMemoryInitializer = function(data) { | |
if (data.byteLength) data = new Uint8Array(data); | |
for (var i = 0; i < data.length; i++) { | |
assert(HEAPU8[GLOBAL_BASE + i] === 0, "area for memory initializer should not have been touched before it's loaded"); | |
} | |
HEAPU8.set(data, GLOBAL_BASE); | |
// Delete the typed array that contains the large blob of the memory initializer request response so that | |
// we won't keep unnecessary memory lying around. However, keep the XHR object itself alive so that e.g. | |
// its .status field can still be accessed later. | |
if (Module['memoryInitializerRequest']) delete Module['memoryInitializerRequest'].response; | |
removeRunDependency('memory initializer'); | |
} | |
function doBrowserLoad() { | |
Module['readAsync'](memoryInitializer, applyMemoryInitializer, function() { | |
throw 'could not load memory initializer ' + memoryInitializer; | |
}); | |
} | |
var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer); | |
if (memoryInitializerBytes) { | |
applyMemoryInitializer(memoryInitializerBytes.buffer); | |
} else | |
if (Module['memoryInitializerRequest']) { | |
// a network request has already been created, just use that | |
function useRequest() { | |
var request = Module['memoryInitializerRequest']; | |
var response = request.response; | |
if (request.status !== 200 && request.status !== 0) { | |
var data = tryParseAsDataURI(Module['memoryInitializerRequestURL']); | |
if (data) { | |
response = data.buffer; | |
} else { | |
// If you see this warning, the issue may be that you are using locateFile or memoryInitializerPrefixURL, and defining them in JS. That | |
// means that the HTML file doesn't know about them, and when it tries to create the mem init request early, does it to the wrong place. | |
// Look in your browser's devtools network console to see what's going on. | |
console.warn('a problem seems to have happened with Module.memoryInitializerRequest, status: ' + request.status + ', retrying ' + memoryInitializer); | |
doBrowserLoad(); | |
return; | |
} | |
} | |
applyMemoryInitializer(response); | |
} | |
if (Module['memoryInitializerRequest'].response) { | |
setTimeout(useRequest, 0); // it's already here; but, apply it asynchronously | |
} else { | |
Module['memoryInitializerRequest'].addEventListener('load', useRequest); // wait for it | |
} | |
} else { | |
// fetch it from the network ourselves | |
doBrowserLoad(); | |
} | |
} | |
} | |
/** | |
* @constructor | |
* @extends {Error} | |
* @this {ExitStatus} | |
*/ | |
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 calledMain = false; | |
dependenciesFulfilled = function runCaller() { | |
// If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) | |
if (!Module['calledRun']) run(); | |
if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled | |
} | |
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; | |
var argv = stackAlloc((argc + 1) * 4); | |
HEAP32[argv >> 2] = allocateUTF8OnStack(Module['thisProgram']); | |
for (var i = 1; i < argc; i++) { | |
HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]); | |
} | |
HEAP32[(argv >> 2) + argc] = 0; | |
try { | |
var ret = Module['_main'](argc, argv, 0); | |
// if we're not running an evented main loop, it's time to exit | |
exit(ret, /* implicit = */ true); | |
} | |
catch(e) { | |
if (e instanceof ExitStatus) { | |
// exit() throws this once it's done to make sure execution | |
// has been stopped completely | |
return; | |
} else if (e == 'SimulateInfiniteLoop') { | |
// running an evented main loop, don't immediately exit | |
Module['noExitRuntime'] = true; | |
return; | |
} else { | |
var toLog = e; | |
if (e && typeof e === 'object' && e.stack) { | |
toLog = [e, e.stack]; | |
} | |
Module.printErr('exception thrown: ' + toLog); | |
Module['quit'](1, e); | |
} | |
} finally { | |
calledMain = true; | |
} | |
} | |
/** @type {function(Array=)} */ | |
function run(args) { | |
args = args || Module['arguments']; | |
if (runDependencies > 0) { | |
return; | |
} | |
writeStackCookie(); | |
preRun(); | |
if (runDependencies > 0) return; // a preRun added a dependency, run will be called later | |
if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame | |
function doRun() { | |
if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening | |
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(); | |
} | |
checkStackCookie(); | |
} | |
Module['run'] = run; | |
function checkUnflushedContent() { | |
// Compiler settings do not allow exiting the runtime, so flushing | |
// the streams is not possible. but in ASSERTIONS mode we check | |
// if there was something to flush, and if so tell the user they | |
// should request that the runtime be exitable. | |
// Normally we would not even include flush() at all, but in ASSERTIONS | |
// builds we do so just for this check, and here we see if there is any | |
// content to flush, that is, we check if there would have been | |
// something a non-ASSERTIONS build would have not seen. | |
// How we flush the streams depends on whether we are in NO_FILESYSTEM | |
// mode (which has its own special function for this; otherwise, all | |
// the code is inside libc) | |
var print = Module['print']; | |
var printErr = Module['printErr']; | |
var has = false; | |
Module['print'] = Module['printErr'] = function(x) { | |
has = true; | |
} | |
try { // it doesn't matter if it fails | |
var flush = flush_NO_FILESYSTEM; | |
if (flush) flush(0); | |
} catch(e) {} | |
Module['print'] = print; | |
Module['printErr'] = printErr; | |
if (has) { | |
warnOnce('stdio streams had content in them that was not flushed. you should set NO_EXIT_RUNTIME to 0 (see the FAQ), or make sure to emit a newline when you printf etc.'); | |
} | |
} | |
function exit(status, implicit) { | |
checkUnflushedContent(); | |
// if this is just main exit-ing implicitly, and the status is 0, then we | |
// don't need to do anything here and can just leave. if the status is | |
// non-zero, though, then we need to report it. | |
// (we may have warned about this earlier, if a situation justifies doing so) | |
if (implicit && Module['noExitRuntime'] && status === 0) { | |
return; | |
} | |
if (Module['noExitRuntime']) { | |
// if exit() was called, we may warn the user if the runtime isn't actually being shut down | |
if (!implicit) { | |
Module.printErr('exit(' + status + ') called, but NO_EXIT_RUNTIME is set, so halting execution but not exiting the runtime or preventing further async execution (build with NO_EXIT_RUNTIME=0, if you want a true shutdown)'); | |
} | |
} else { | |
ABORT = true; | |
EXITSTATUS = status; | |
STACKTOP = initialStackTop; | |
exitRuntime(); | |
if (Module['onExit']) Module['onExit'](status); | |
} | |
if (ENVIRONMENT_IS_NODE) { | |
process['exit'](status); | |
} | |
Module['quit'](status, new ExitStatus(status)); | |
} | |
Module['exit'] = exit; | |
var abortDecorators = []; | |
function abort(what) { | |
if (Module['onAbort']) { | |
Module['onAbort'](what); | |
} | |
if (what !== undefined) { | |
Module.print(what); | |
Module.printErr(what); | |
what = JSON.stringify(what) | |
} else { | |
what = ''; | |
} | |
ABORT = true; | |
EXITSTATUS = 1; | |
var extra = ''; | |
var output = 'abort(' + what + ') at ' + stackTrace() + extra; | |
if (abortDecorators) { | |
abortDecorators.forEach(function(decorator) { | |
output = decorator(output, what); | |
}); | |
} | |
throw output; | |
} | |
Module['abort'] = abort; | |
// {{PRE_RUN_ADDITIONS}} | |
if (Module['preInit']) { | |
if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; | |
while (Module['preInit'].length > 0) { | |
Module['preInit'].pop()(); | |
} | |
} | |
// shouldRunNow refers to calling main(), not run(). | |
var shouldRunNow = true; | |
if (Module['noInitialRun']) { | |
shouldRunNow = false; | |
} | |
Module["noExitRuntime"] = true; | |
run(); | |
// {{POST_RUN_ADDITIONS}} | |
// {{MODULE_ADDITIONS}} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment