ipstack.js 45 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372
  1. "use strict";
  2. /*Compiled using Cheerp (R) by Leaning Technologies Ltd*/
  3. var __imul=Math.imul;
  4. var __fround=Math.fround;
  5. var oSlot=0;var nullArray=[null];var nullObj={d:nullArray,o:0};
  6. function fetchBuffer(p){
  7. return (typeof self==='object')?
  8. fetch(p).then(r=>r.arrayBuffer()):
  9. new Promise((y,n)=>{
  10. import('fs').then(r=>r.readFile(p,(e,d)=>{
  11. if(e)n(e);
  12. else y(d);
  13. }));
  14. });
  15. }
  16. function __ZN7IpStack9TCPSocket10shutdownRxEv(Lthis){
  17. __ZN3tcp6Socket10shutdownRxEv(Lthis.a0|0);
  18. }
  19. function __ZN7IpStack9TCPSocket10shutdownTxEv(Lthis){
  20. __ZN3tcp6Socket10shutdownTxEv(Lthis.a0|0);
  21. }
  22. function __ZN7IpStack9TCPSocket4recvEPN6client13EventListenerE(Lthis,Mthis,Ll){
  23. var tmp0=null;
  24. Lthis[Mthis].a2=Ll;
  25. tmp0=__ZN7IpStack9TCPSocket9allocatorE$p0;
  26. __ZN7IpStack9TCPSocket11recvAdapterEiPN3tcp6SocketE((__imul(Mthis,16))-(__imul(0,16))>>4,Lthis[Mthis].a0|0);
  27. }
  28. function __ZN7IpStack9TCPSocket4sendEPN6client10Uint8ArrayE(Lthis,Ldata){
  29. var LsavedStack=null,Lbuf=0,tmp2=null,tmp2o=0,Li$p010=0;
  30. LsavedStack=___getStackPtr();
  31. tmp2=-16+LsavedStack|0;
  32. ___setStackPtr(tmp2);
  33. Lbuf=tmp2|0;
  34. __ZNSt6vectorIhSaIhEEC2Ej(Lbuf,~~ +Ldata.length);
  35. if( +Ldata.length>0){
  36. tmp2o=HEAP32[Lbuf>>2];
  37. tmp2=HEAP8;
  38. Li$p010=0;
  39. while(1){
  40. tmp2[tmp2o+Li$p010|0]=Ldata[0+Li$p010|0]|0;
  41. Li$p010=Li$p010+1|0;
  42. if( +Ldata.length>(+(Li$p010|0)))continue;
  43. break;
  44. }
  45. }
  46. Li$p010=__ZN7IpStack9TCPSocket11sendAdapterEPN3tcp6SocketERKSt6vectorIhSaIhEE(Lthis.a0|0,Lbuf)|0;
  47. __ZNSt6vectorIhSaIhEED2B7v160000Ev(Lbuf);
  48. ___setStackPtr(LsavedStack);
  49. return Li$p010|0;
  50. }
  51. function __ZN7IpStack9TCPSocket5closeEv(Lthis,Mthis){
  52. var Lsub$pptr$pdiv$pi$pi$pi=0,tmp1=0,tmp2=null;
  53. tmp2=__ZN7IpStack9TCPSocket9allocatorE$p0;
  54. Lsub$pptr$pdiv$pi$pi$pi=(__imul(Mthis,16))-(__imul(0,16))>>4;
  55. tmp1=tmp2[Lsub$pptr$pdiv$pi$pi$pi].a0|0;
  56. a:if((tmp1|0)!=(0|0)){
  57. __ZN3tcp6Socket5closeEv(tmp1);
  58. break a;
  59. }
  60. tmp2=__ZN7IpStack9TCPSocket9allocatorE$p1;
  61. tmp2[Lsub$pptr$pdiv$pi$pi$pi]=0;
  62. }
  63. function __ZN7IpStack9TCPSocket6createEv(){
  64. var tmp0=null,Lid$p0$plcssa27$pi$pi=0,tmp2=null,Lid$p021$pi$pi=0;
  65. Lid$p0$plcssa27$pi$pi=__ZN7IpStack9TCPSocket9allocatorE$p2|0;
  66. a:{
  67. b:{
  68. if((Lid$p0$plcssa27$pi$pi|0)>1){
  69. tmp2=__ZN7IpStack9TCPSocket9allocatorE$p1;
  70. Lid$p021$pi$pi=1;
  71. while(1){
  72. if((tmp2[Lid$p021$pi$pi]&255)!==0){
  73. Lid$p021$pi$pi=Lid$p021$pi$pi+1|0;
  74. if((Lid$p021$pi$pi|0)===(Lid$p0$plcssa27$pi$pi|0))break b;
  75. continue;
  76. }
  77. break;
  78. }
  79. }else{
  80. Lid$p021$pi$pi=1;
  81. }
  82. if((Lid$p021$pi$pi|0)===(Lid$p0$plcssa27$pi$pi|0))break b;
  83. Lid$p0$plcssa27$pi$pi=Lid$p021$pi$pi;
  84. break a;
  85. }
  86. Lid$p021$pi$pi=Lid$p0$plcssa27$pi$pi<<1;
  87. __ZN7IpStack9TCPSocket9allocatorE$p2=Lid$p021$pi$pi;
  88. tmp2=__ZN7IpStack9TCPSocket9allocatorE$p0;
  89. b:{
  90. if(tmp2!==nullArray||0!==0){
  91. tmp2=resizeArray_class$p_ZN7IpStack9TCPSocketE(tmp2,tmp2.length,Lid$p021$pi$pi/16|0);
  92. break b;
  93. }
  94. tmp2=createArray_class$p_ZN7IpStack9TCPSocketE(Lid$p021$pi$pi/16|0);
  95. }
  96. __ZN7IpStack9TCPSocket9allocatorE$p0=tmp2;
  97. Lid$p021$pi$pi=__ZN7IpStack9TCPSocket9allocatorE$p2|0;
  98. tmp2=__ZN7IpStack9TCPSocket9allocatorE$p1;
  99. b:{
  100. if(tmp2!==nullArray||0!==0){
  101. tmp2=(function(){var __old__=tmp2;
  102. var __ret__=new Uint8Array(Lid$p021$pi$pi/1|0);
  103. __ret__.set(__old__.subarray(0, Math.min(__ret__.length,__old__.length)));
  104. return __ret__;})();
  105. break b;
  106. }
  107. tmp2=new Uint8Array(Lid$p021$pi$pi/1|0);
  108. }
  109. __ZN7IpStack9TCPSocket9allocatorE$p1=tmp2;
  110. break a;
  111. }
  112. tmp2=__ZN7IpStack9TCPSocket9allocatorE$p0;
  113. Lid$p021$pi$pi=_malloc(88)|0;
  114. __ZN3tcp6SocketC2Ev(Lid$p021$pi$pi);
  115. tmp2[Lid$p0$plcssa27$pi$pi].a0=Lid$p021$pi$pi;
  116. tmp2[Lid$p0$plcssa27$pi$pi].a1=null;
  117. tmp2[Lid$p0$plcssa27$pi$pi].a2=null;
  118. tmp0=__ZN7IpStack9TCPSocket9allocatorE$p1;
  119. tmp0[Lid$p0$plcssa27$pi$pi]=1;
  120. oSlot=0+Lid$p0$plcssa27$pi$pi|0;
  121. return tmp2;
  122. }
  123. function __ZN7IpStack9TCPSocket6deleteEv(Lthis){
  124. var tmp0=0;
  125. tmp0=Lthis.a0|0;
  126. a:if((tmp0|0)!=(0|0)){
  127. __ZN3tcp6Socket5closeEv(tmp0);
  128. break a;
  129. }
  130. }
  131. function __ZN7IpStack9TCPSocket6listenEiPN6client8CallbackIvJPS0_iiiEEE(Lthis,Mthis,LlocalPort,Lcb){
  132. var tmp0=null,Lcall=0;
  133. Lcall=__ZN3tcp6Socket4bindEii(Lthis[Mthis].a0|0,LlocalPort)|0;
  134. if((Lcall&255)!==0)return Lcall<<24>>24|0;
  135. Lcall=__ZN3tcp6Socket6listenEv(Lthis[Mthis].a0|0)|0;
  136. if((Lcall&255)!==0)return Lcall<<24>>24|0;
  137. Lthis[Mthis].a3=Lcb;
  138. tmp0=__ZN7IpStack9TCPSocket9allocatorE$p0;
  139. __ZN7IpStack9TCPSocket13acceptAdapterEiPN3tcp6SocketE((__imul(Mthis,16))-(__imul(0,16))>>4,Lthis[Mthis].a0|0);
  140. return 0|0;
  141. }
  142. function __ZN7IpStack9TCPSocket7connectEiiiPN6client13EventListenerE(Lthis,Mthis,LlocalPort,Lip,Lport,Ll){
  143. var tmp0=null,Lret$p0$pi=0,L__root$paddr$p04$pi$pi$pi$pi=0,L__result$paddr$p05$pi$pi$pi$pi=0;
  144. Lret$p0$pi=4+1060688|0;
  145. L__root$paddr$p04$pi$pi$pi$pi=HEAP32[Lret$p0$pi>>2]|0;
  146. a:if((L__root$paddr$p04$pi$pi$pi$pi|0)!=(0|0)){
  147. L__result$paddr$p05$pi$pi$pi$pi=Lret$p0$pi;
  148. while(1){
  149. b:{
  150. if(HEAP32[16+L__root$paddr$p04$pi$pi$pi$pi>>2]>>>0<Lip>>>0){
  151. L__root$paddr$p04$pi$pi$pi$pi=HEAP32[4+L__root$paddr$p04$pi$pi$pi$pi>>2]|0;
  152. break b;
  153. }
  154. L__result$paddr$p05$pi$pi$pi$pi=L__root$paddr$p04$pi$pi$pi$pi|0;
  155. L__root$paddr$p04$pi$pi$pi$pi=HEAP32[L__root$paddr$p04$pi$pi$pi$pi>>2]|0;
  156. }
  157. if((L__root$paddr$p04$pi$pi$pi$pi|0)!=(0|0))continue;
  158. break;
  159. }
  160. if((L__result$paddr$p05$pi$pi$pi$pi|0)==(Lret$p0$pi|0)){
  161. Lret$p0$pi=Lip;
  162. break a;
  163. }
  164. if(HEAP32[16+L__result$paddr$p05$pi$pi$pi$pi>>2]>>>0>Lip>>>0){
  165. Lret$p0$pi=Lip;
  166. break a;
  167. }
  168. Lret$p0$pi=HEAP32[20+L__result$paddr$p05$pi$pi$pi$pi>>2]|0;
  169. }else{
  170. Lret$p0$pi=Lip;
  171. }
  172. Lthis[Mthis].a1=Ll;
  173. L__result$paddr$p05$pi$pi$pi$pi=__ZN3tcp6Socket4bindEii(Lthis[Mthis].a0|0,LlocalPort)|0;
  174. if((L__result$paddr$p05$pi$pi$pi$pi&255)!==0){
  175. Lret$p0$pi=L__result$paddr$p05$pi$pi$pi$pi<<24>>24;
  176. Lthis[Mthis].a1(Lret$p0$pi);
  177. Lthis[Mthis].a1=null;
  178. return Lret$p0$pi|0;
  179. }
  180. tmp0=__ZN7IpStack9TCPSocket9allocatorE$p0;
  181. Lret$p0$pi=__ZN7IpStack9TCPSocket11connAdapterEiPN3tcp6SocketEii((__imul(Mthis,16))-(__imul(0,16))>>4,Lthis[Mthis].a0|0,Lret$p0$pi,Lport)|0;
  182. if((Lret$p0$pi|0)!==0){
  183. Lthis[Mthis].a1(Lret$p0$pi);
  184. Lthis[Mthis].a1=null;
  185. return Lret$p0$pi|0;
  186. }
  187. return 0|0;
  188. }
  189. function __ZN7IpStack9TCPSocket7disposeEv(Lthis,Mthis){
  190. var Lsub$pptr$pdiv$pi$pi=0,tmp1=0,tmp2=null;
  191. tmp2=__ZN7IpStack9TCPSocket9allocatorE$p0;
  192. Lsub$pptr$pdiv$pi$pi=(__imul(Mthis,16))-(__imul(0,16))>>4;
  193. tmp1=tmp2[Lsub$pptr$pdiv$pi$pi].a0|0;
  194. a:if((tmp1|0)!=(0|0)){
  195. __ZN3tcp6Socket5closeEv(tmp1);
  196. break a;
  197. }
  198. tmp2=__ZN7IpStack9TCPSocket9allocatorE$p1;
  199. tmp2[Lsub$pptr$pdiv$pi$pi]=0;
  200. }
  201. function __ZN7IpStack9UDPSocket4bindEi(Lthis,LlocalPort){
  202. return (__ZN3udp6Socket4bindEii(Lthis.a1|0,LlocalPort)|0)<<24>>24|0;
  203. }
  204. function __ZN7IpStack9UDPSocket4recvEPN6client8CallbackIvJPNS1_10Uint8ArrayEiiEEE(Lthis,Mthis,Lcb){
  205. var tmp0=null;
  206. Lthis[Mthis].a0=Lcb;
  207. tmp0=__ZN7IpStack9UDPSocket9allocatorE$p0;
  208. __ZN7IpStack9UDPSocket11recvAdapterEiPN3udp6SocketE((__imul(Mthis,8))-(__imul(0,8))>>3,Lthis[Mthis].a1|0);
  209. }
  210. function __ZN7IpStack9UDPSocket5closeEv(Lthis,Mthis){
  211. var Lsub$pptr$pdiv$pi$pi$pi=0,tmp1=0,tmp2=null;
  212. tmp2=__ZN7IpStack9UDPSocket9allocatorE$p0;
  213. Lsub$pptr$pdiv$pi$pi$pi=(__imul(Mthis,8))-(__imul(0,8))>>3;
  214. tmp1=tmp2[Lsub$pptr$pdiv$pi$pi$pi].a1|0;
  215. a:if((tmp1|0)!=(0|0)){
  216. __ZN3udp6Socket5closeEv(tmp1);
  217. break a;
  218. }
  219. tmp2=__ZN7IpStack9UDPSocket9allocatorE$p1;
  220. tmp2[Lsub$pptr$pdiv$pi$pi$pi]=0;
  221. }
  222. function __ZN7IpStack9UDPSocket6createEv(){
  223. var tmp0=null,Lid$p0$plcssa27$pi$pi=0,tmp2=null,Lid$p021$pi$pi=0;
  224. Lid$p0$plcssa27$pi$pi=__ZN7IpStack9UDPSocket9allocatorE$p2|0;
  225. a:{
  226. b:{
  227. if((Lid$p0$plcssa27$pi$pi|0)>1){
  228. tmp2=__ZN7IpStack9UDPSocket9allocatorE$p1;
  229. Lid$p021$pi$pi=1;
  230. while(1){
  231. if((tmp2[Lid$p021$pi$pi]&255)!==0){
  232. Lid$p021$pi$pi=Lid$p021$pi$pi+1|0;
  233. if((Lid$p021$pi$pi|0)===(Lid$p0$plcssa27$pi$pi|0))break b;
  234. continue;
  235. }
  236. break;
  237. }
  238. }else{
  239. Lid$p021$pi$pi=1;
  240. }
  241. if((Lid$p021$pi$pi|0)===(Lid$p0$plcssa27$pi$pi|0))break b;
  242. Lid$p0$plcssa27$pi$pi=Lid$p021$pi$pi;
  243. break a;
  244. }
  245. Lid$p021$pi$pi=Lid$p0$plcssa27$pi$pi<<1;
  246. __ZN7IpStack9UDPSocket9allocatorE$p2=Lid$p021$pi$pi;
  247. tmp2=__ZN7IpStack9UDPSocket9allocatorE$p0;
  248. b:{
  249. if(tmp2!==nullArray||0!==0){
  250. tmp2=resizeArray_class$p_ZN7IpStack9UDPSocketE(tmp2,tmp2.length,Lid$p021$pi$pi/8|0);
  251. break b;
  252. }
  253. tmp2=createArray_class$p_ZN7IpStack9UDPSocketE(Lid$p021$pi$pi/8|0);
  254. }
  255. __ZN7IpStack9UDPSocket9allocatorE$p0=tmp2;
  256. Lid$p021$pi$pi=__ZN7IpStack9UDPSocket9allocatorE$p2|0;
  257. tmp2=__ZN7IpStack9UDPSocket9allocatorE$p1;
  258. b:{
  259. if(tmp2!==nullArray||0!==0){
  260. tmp2=(function(){var __old__=tmp2;
  261. var __ret__=new Uint8Array(Lid$p021$pi$pi/1|0);
  262. __ret__.set(__old__.subarray(0, Math.min(__ret__.length,__old__.length)));
  263. return __ret__;})();
  264. break b;
  265. }
  266. tmp2=new Uint8Array(Lid$p021$pi$pi/1|0);
  267. }
  268. __ZN7IpStack9UDPSocket9allocatorE$p1=tmp2;
  269. break a;
  270. }
  271. tmp2=__ZN7IpStack9UDPSocket9allocatorE$p0;
  272. Lid$p021$pi$pi=_malloc(32)|0;
  273. __ZN3udp6SocketC2Ev(Lid$p021$pi$pi);
  274. tmp2[Lid$p0$plcssa27$pi$pi].a1=Lid$p021$pi$pi;
  275. tmp0=__ZN7IpStack9UDPSocket9allocatorE$p1;
  276. tmp0[Lid$p0$plcssa27$pi$pi]=1;
  277. oSlot=0+Lid$p0$plcssa27$pi$pi|0;
  278. return tmp2;
  279. }
  280. function __ZN7IpStack9UDPSocket6deleteEv(Lthis){
  281. var tmp0=0;
  282. tmp0=Lthis.a1|0;
  283. a:if((tmp0|0)!=(0|0)){
  284. __ZN3udp6Socket5closeEv(tmp0);
  285. break a;
  286. }
  287. }
  288. function __ZN7IpStack9UDPSocket6sendtoEPN6client10Uint8ArrayEii(Lthis,Ldata,Laddr,Lport){
  289. var LsavedStack=null,tmp1=null,tmp1o=0,Lret$p0$pi=0,L__root$paddr$p04$pi$pi$pi$pi=0,L__result$paddr$p05$pi$pi$pi$pi=0;
  290. LsavedStack=___getStackPtr();
  291. tmp1=-16+LsavedStack|0;
  292. ___setStackPtr(tmp1);
  293. Lret$p0$pi=4+1060688|0;
  294. L__root$paddr$p04$pi$pi$pi$pi=HEAP32[Lret$p0$pi>>2]|0;
  295. a:if((L__root$paddr$p04$pi$pi$pi$pi|0)!=(0|0)){
  296. L__result$paddr$p05$pi$pi$pi$pi=Lret$p0$pi;
  297. while(1){
  298. b:{
  299. if(HEAP32[16+L__root$paddr$p04$pi$pi$pi$pi>>2]>>>0<Laddr>>>0){
  300. L__root$paddr$p04$pi$pi$pi$pi=HEAP32[4+L__root$paddr$p04$pi$pi$pi$pi>>2]|0;
  301. break b;
  302. }
  303. L__result$paddr$p05$pi$pi$pi$pi=L__root$paddr$p04$pi$pi$pi$pi|0;
  304. L__root$paddr$p04$pi$pi$pi$pi=HEAP32[L__root$paddr$p04$pi$pi$pi$pi>>2]|0;
  305. }
  306. if((L__root$paddr$p04$pi$pi$pi$pi|0)!=(0|0))continue;
  307. break;
  308. }
  309. if((L__result$paddr$p05$pi$pi$pi$pi|0)==(Lret$p0$pi|0)){
  310. Lret$p0$pi=Laddr;
  311. break a;
  312. }
  313. if(HEAP32[16+L__result$paddr$p05$pi$pi$pi$pi>>2]>>>0>Laddr>>>0){
  314. Lret$p0$pi=Laddr;
  315. break a;
  316. }
  317. Lret$p0$pi=HEAP32[20+L__result$paddr$p05$pi$pi$pi$pi>>2]|0;
  318. }else{
  319. Lret$p0$pi=Laddr;
  320. }
  321. L__root$paddr$p04$pi$pi$pi$pi=tmp1|0;
  322. __ZNSt6vectorIhSaIhEEC2Ej(L__root$paddr$p04$pi$pi$pi$pi,~~ +Ldata.length);
  323. if( +Ldata.length>0){
  324. tmp1o=HEAP32[L__root$paddr$p04$pi$pi$pi$pi>>2];
  325. tmp1=HEAP8;
  326. L__result$paddr$p05$pi$pi$pi$pi=0;
  327. while(1){
  328. tmp1[tmp1o+L__result$paddr$p05$pi$pi$pi$pi|0]=Ldata[0+L__result$paddr$p05$pi$pi$pi$pi|0]|0;
  329. L__result$paddr$p05$pi$pi$pi$pi=L__result$paddr$p05$pi$pi$pi$pi+1|0;
  330. if( +Ldata.length>(+(L__result$paddr$p05$pi$pi$pi$pi|0)))continue;
  331. break;
  332. }
  333. }
  334. Lret$p0$pi=__ZN7IpStack9UDPSocket13sendToAdapterEPN3udp6SocketERKSt6vectorIhSaIhEEii(Lthis.a1|0,L__root$paddr$p04$pi$pi$pi$pi,Lret$p0$pi,Lport)|0;
  335. __ZNSt6vectorIhSaIhEED2B7v160000Ev(L__root$paddr$p04$pi$pi$pi$pi);
  336. ___setStackPtr(LsavedStack);
  337. return Lret$p0$pi|0;
  338. }
  339. function __ZN7IpStack9UDPSocket7disposeEv(Lthis,Mthis){
  340. var Lsub$pptr$pdiv$pi$pi=0,tmp1=0,tmp2=null;
  341. tmp2=__ZN7IpStack9UDPSocket9allocatorE$p0;
  342. Lsub$pptr$pdiv$pi$pi=(__imul(Mthis,8))-(__imul(0,8))>>3;
  343. tmp1=tmp2[Lsub$pptr$pdiv$pi$pi].a1|0;
  344. a:if((tmp1|0)!=(0|0)){
  345. __ZN3udp6Socket5closeEv(tmp1);
  346. break a;
  347. }
  348. tmp2=__ZN7IpStack9UDPSocket9allocatorE$p1;
  349. tmp2[Lsub$pptr$pdiv$pi$pi]=0;
  350. }
  351. function __ZN7IpStack9UDPSocket8callRecvEiPhjii(Lid,Ldata,Mdata,Llen,Laddr,Lport){
  352. var Lret$p0$pi=0,L__root$paddr$p04$pi$pi$pi$pi=0,L__result$paddr$p05$pi$pi$pi$pi=0,Lretval$p0$pi=null,Lcall11$pi$pi=null;
  353. Lret$p0$pi=4+1060688|0;
  354. L__root$paddr$p04$pi$pi$pi$pi=HEAP32[Lret$p0$pi>>2]|0;
  355. a:if((L__root$paddr$p04$pi$pi$pi$pi|0)!=(0|0)){
  356. L__result$paddr$p05$pi$pi$pi$pi=Lret$p0$pi;
  357. while(1){
  358. b:{
  359. if(HEAP32[16+L__root$paddr$p04$pi$pi$pi$pi>>2]>>>0<Laddr>>>0){
  360. L__root$paddr$p04$pi$pi$pi$pi=HEAP32[4+L__root$paddr$p04$pi$pi$pi$pi>>2]|0;
  361. break b;
  362. }
  363. L__result$paddr$p05$pi$pi$pi$pi=L__root$paddr$p04$pi$pi$pi$pi|0;
  364. L__root$paddr$p04$pi$pi$pi$pi=HEAP32[L__root$paddr$p04$pi$pi$pi$pi>>2]|0;
  365. }
  366. if((L__root$paddr$p04$pi$pi$pi$pi|0)!=(0|0))continue;
  367. break;
  368. }
  369. if((L__result$paddr$p05$pi$pi$pi$pi|0)==(Lret$p0$pi|0)){
  370. Lret$p0$pi=Laddr;
  371. break a;
  372. }
  373. if(HEAP32[16+L__result$paddr$p05$pi$pi$pi$pi>>2]>>>0>Laddr>>>0){
  374. Lret$p0$pi=Laddr;
  375. break a;
  376. }
  377. Lret$p0$pi=HEAP32[20+L__result$paddr$p05$pi$pi$pi$pi>>2]|0;
  378. }else{
  379. Lret$p0$pi=Laddr;
  380. }
  381. L__result$paddr$p05$pi$pi$pi$pi=__ZN7IpStack9UDPSocket9allocatorE$p2|0;
  382. a:if((Lid|0)>-1){
  383. if((L__result$paddr$p05$pi$pi$pi$pi|0)>(Lid|0)){
  384. Lretval$p0$pi=__ZN7IpStack9UDPSocket9allocatorE$p1;
  385. if((Lretval$p0$pi[Lid]&255)!==0){
  386. Lretval$p0$pi=__ZN7IpStack9UDPSocket9allocatorE$p0;
  387. Lretval$p0$pi=Lretval$p0$pi[Lid];
  388. break a;
  389. }
  390. Lretval$p0$pi=null;
  391. }else{
  392. Lretval$p0$pi=null;
  393. }
  394. }else{
  395. Lretval$p0$pi=null;
  396. }
  397. L__result$paddr$p05$pi$pi$pi$pi=(Ldata.buffer===__heap);
  398. a:{
  399. if(L__result$paddr$p05$pi$pi$pi$pi){
  400. L__result$paddr$p05$pi$pi$pi$pi=Mdata;
  401. L__result$paddr$p05$pi$pi$pi$pi=(L__result$paddr$p05$pi$pi$pi$pi|0)===0?1:0;
  402. break a;
  403. }
  404. L__result$paddr$p05$pi$pi$pi$pi=0;
  405. }
  406. a:{
  407. b:if((Llen|0)!==0){
  408. if(L__result$paddr$p05$pi$pi$pi$pi)break b;
  409. L__result$paddr$p05$pi$pi$pi$pi=Mdata;
  410. Lcall11$pi$pi=Ldata;
  411. Lcall11$pi$pi=Lcall11$pi$pi;
  412. c:{
  413. d:{
  414. if((L__result$paddr$p05$pi$pi$pi$pi|0)!==0)break d;
  415. if( +Lcall11$pi$pi.length===(+(Llen>>>0)))break c;
  416. }
  417. Lcall11$pi$pi=Lcall11$pi$pi.subarray((+(L__result$paddr$p05$pi$pi$pi$pi>>>0)),(+(L__result$paddr$p05$pi$pi$pi$pi+Llen>>>0)));
  418. break c;
  419. }
  420. Lretval$p0$pi.a0(Lcall11$pi$pi,Lret$p0$pi,Lport);
  421. break a;
  422. }
  423. Lretval$p0$pi.a0(null,Lret$p0$pi,Lport);
  424. break a;
  425. }
  426. }
  427. function __ZN7IpStack9TCPSocket14resolveConnectEii(Lid,Lret){
  428. var tmp0=0,Lretval$p0$pi=null;
  429. tmp0=__ZN7IpStack9TCPSocket9allocatorE$p2|0;
  430. a:if((Lid|0)>-1){
  431. if((tmp0|0)>(Lid|0)){
  432. Lretval$p0$pi=__ZN7IpStack9TCPSocket9allocatorE$p1;
  433. if((Lretval$p0$pi[Lid]&255)!==0){
  434. Lretval$p0$pi=__ZN7IpStack9TCPSocket9allocatorE$p0;
  435. Lretval$p0$pi=Lretval$p0$pi[Lid];
  436. break a;
  437. }
  438. Lretval$p0$pi=null;
  439. }else{
  440. Lretval$p0$pi=null;
  441. }
  442. }else{
  443. Lretval$p0$pi=null;
  444. }
  445. Lretval$p0$pi.a1(Lret);
  446. Lretval$p0$pi.a1=null;
  447. }
  448. function __ZN7IpStack9TCPSocket13resolveAcceptEiPN3tcp6SocketEiia(Lid,LnewS,Laddr,Lport,Lret){
  449. var tmp0=null,Lid$p0$plcssa27$pi$pi$pi=0,Lretval$p0$pi=null,tmp3=null,Lid$p021$pi$pi$pi=0;
  450. Lid$p0$plcssa27$pi$pi$pi=__ZN7IpStack9TCPSocket9allocatorE$p2|0;
  451. a:if((Lid|0)>-1){
  452. if((Lid$p0$plcssa27$pi$pi$pi|0)>(Lid|0)){
  453. Lretval$p0$pi=__ZN7IpStack9TCPSocket9allocatorE$p1;
  454. if((Lretval$p0$pi[Lid]&255)!==0){
  455. Lretval$p0$pi=__ZN7IpStack9TCPSocket9allocatorE$p0;
  456. Lretval$p0$pi=Lretval$p0$pi[Lid];
  457. break a;
  458. }
  459. Lretval$p0$pi=null;
  460. }else{
  461. Lretval$p0$pi=null;
  462. }
  463. }else{
  464. Lretval$p0$pi=null;
  465. }
  466. a:{
  467. b:{
  468. if((Lid$p0$plcssa27$pi$pi$pi|0)>1){
  469. tmp3=__ZN7IpStack9TCPSocket9allocatorE$p1;
  470. Lid$p021$pi$pi$pi=1;
  471. while(1){
  472. if((tmp3[Lid$p021$pi$pi$pi]&255)!==0){
  473. Lid$p021$pi$pi$pi=Lid$p021$pi$pi$pi+1|0;
  474. if((Lid$p021$pi$pi$pi|0)===(Lid$p0$plcssa27$pi$pi$pi|0))break b;
  475. continue;
  476. }
  477. break;
  478. }
  479. }else{
  480. Lid$p021$pi$pi$pi=1;
  481. }
  482. if((Lid$p021$pi$pi$pi|0)===(Lid$p0$plcssa27$pi$pi$pi|0))break b;
  483. Lid$p0$plcssa27$pi$pi$pi=Lid$p021$pi$pi$pi;
  484. break a;
  485. }
  486. Lid$p021$pi$pi$pi=Lid$p0$plcssa27$pi$pi$pi<<1;
  487. __ZN7IpStack9TCPSocket9allocatorE$p2=Lid$p021$pi$pi$pi;
  488. tmp3=__ZN7IpStack9TCPSocket9allocatorE$p0;
  489. b:{
  490. if(tmp3!==nullArray||0!==0){
  491. tmp3=resizeArray_class$p_ZN7IpStack9TCPSocketE(tmp3,tmp3.length,Lid$p021$pi$pi$pi/16|0);
  492. break b;
  493. }
  494. tmp3=createArray_class$p_ZN7IpStack9TCPSocketE(Lid$p021$pi$pi$pi/16|0);
  495. }
  496. __ZN7IpStack9TCPSocket9allocatorE$p0=tmp3;
  497. Lid$p021$pi$pi$pi=__ZN7IpStack9TCPSocket9allocatorE$p2|0;
  498. tmp3=__ZN7IpStack9TCPSocket9allocatorE$p1;
  499. b:{
  500. if(tmp3!==nullArray||0!==0){
  501. tmp3=(function(){var __old__=tmp3;
  502. var __ret__=new Uint8Array(Lid$p021$pi$pi$pi/1|0);
  503. __ret__.set(__old__.subarray(0, Math.min(__ret__.length,__old__.length)));
  504. return __ret__;})();
  505. break b;
  506. }
  507. tmp3=new Uint8Array(Lid$p021$pi$pi$pi/1|0);
  508. }
  509. __ZN7IpStack9TCPSocket9allocatorE$p1=tmp3;
  510. break a;
  511. }
  512. tmp3=__ZN7IpStack9TCPSocket9allocatorE$p0;
  513. tmp3[Lid$p0$plcssa27$pi$pi$pi].a0=(LnewS|0);
  514. tmp3[Lid$p0$plcssa27$pi$pi$pi].a1=null;
  515. tmp3[Lid$p0$plcssa27$pi$pi$pi].a2=null;
  516. tmp0=__ZN7IpStack9TCPSocket9allocatorE$p1;
  517. tmp0[Lid$p0$plcssa27$pi$pi$pi]=1;
  518. Lretval$p0$pi.a3(Object.create(IpStack.TCPSocket.prototype,{this:{value:{d:tmp3,o:0+Lid$p0$plcssa27$pi$pi$pi|0}}}),Laddr,Lport,Lret<<24>>24);
  519. }
  520. function __ZN7IpStack9TCPSocket8callRecvEiPhj(Lid,Ldata,Mdata,Llen){
  521. var tmp0=0,Lretval$p0$pi=null,Lcall11$pi$pi=null;
  522. tmp0=__ZN7IpStack9TCPSocket9allocatorE$p2|0;
  523. a:if((Lid|0)>-1){
  524. if((tmp0|0)>(Lid|0)){
  525. Lretval$p0$pi=__ZN7IpStack9TCPSocket9allocatorE$p1;
  526. if((Lretval$p0$pi[Lid]&255)!==0){
  527. Lretval$p0$pi=__ZN7IpStack9TCPSocket9allocatorE$p0;
  528. Lretval$p0$pi=Lretval$p0$pi[Lid];
  529. break a;
  530. }
  531. Lretval$p0$pi=null;
  532. }else{
  533. Lretval$p0$pi=null;
  534. }
  535. }else{
  536. Lretval$p0$pi=null;
  537. }
  538. tmp0=(Ldata.buffer===__heap);
  539. a:{
  540. if(tmp0){
  541. tmp0=Mdata;
  542. tmp0=(tmp0|0)===0?1:0;
  543. break a;
  544. }
  545. tmp0=0;
  546. }
  547. a:{
  548. b:if((Llen|0)!==0){
  549. if(tmp0)break b;
  550. tmp0=Mdata;
  551. Lcall11$pi$pi=Ldata;
  552. Lcall11$pi$pi=Lcall11$pi$pi;
  553. c:{
  554. d:{
  555. if((tmp0|0)!==0)break d;
  556. if( +Lcall11$pi$pi.length===(+(Llen>>>0)))break c;
  557. }
  558. Lcall11$pi$pi=Lcall11$pi$pi.subarray((+(tmp0>>>0)),(+(tmp0+Llen>>>0)));
  559. break c;
  560. }
  561. Lretval$p0$pi.a2(Lcall11$pi$pi);
  562. break a;
  563. }
  564. Lretval$p0$pi.a2(null);
  565. break a;
  566. }
  567. }
  568. function _sys_now(){
  569. return ~~ +performance.now()|0;
  570. }
  571. function __Z9output_jsPhi(Lbuf,Mbuf,Llen){
  572. var tmp0=0,LretConstructorphirem3=null;
  573. tmp0=Mbuf;
  574. LretConstructorphirem3=Lbuf;
  575. LretConstructorphirem3=LretConstructorphirem3;
  576. if((Llen|0)!==0){
  577. if((tmp0|0)===0)if( +LretConstructorphirem3.length===(+(Llen>>>0))){
  578. LretConstructorphirem3=new Uint8Array(LretConstructorphirem3);
  579. __ZL9output_cb(LretConstructorphirem3);
  580. return;
  581. }
  582. LretConstructorphirem3=new Uint8Array(LretConstructorphirem3.subarray((+(tmp0>>>0)),(+(tmp0+Llen>>>0))));
  583. __ZL9output_cb(LretConstructorphirem3);
  584. return;
  585. }
  586. if((tmp0|0)===0){
  587. LretConstructorphirem3=new Uint8Array(LretConstructorphirem3);
  588. __ZL9output_cb(LretConstructorphirem3);
  589. return;
  590. }
  591. LretConstructorphirem3=new Uint8Array(LretConstructorphirem3.subarray((+(tmp0>>>0))));
  592. __ZL9output_cb(LretConstructorphirem3);
  593. }
  594. function __Z14start_timeoutsv(){
  595. var tmp0=null;
  596. tmp0=__ZZ14start_timeoutsvEN3$_08__invokeEv;
  597. +setInterval(tmp0,10);
  598. }
  599. function __ZZ14start_timeoutsvEN3$_08__invokeEv(){
  600. _sys_check_timeouts();
  601. }
  602. function __ZN7IpStack4initEPN6client9UpOptionsE(Lopts){
  603. __Z4initv();
  604. __Z16udpecho_raw_initv();
  605. __Z16tcpecho_raw_initv();
  606. }
  607. function __ZN7IpStack2upEPN6client9UpOptionsE(Lopts){
  608. var LsavedStack=null,Lip=0,tmp2=null,Lcall13=null,Lcall=null,Lcallo=0,Lcall2=null,Lcall2o=0,Li$p07$pi=0,Lref$ptmp7=0,Lref$ptmp8=0,Ltmp=0,Li$p061=0,LcheerpPtrAlloca$p060=null,tmp12=null,tmp12o=0,Li$p07$pi23=0;
  609. LsavedStack=___getStackPtr();
  610. Lcall13=-104+LsavedStack|0;
  611. ___setStackPtr(Lcall13);
  612. Lip=88+Lcall13|0;
  613. Lcall=Lopts.localIp;
  614. __ZNSsC2B7v160000Ev(Lip);
  615. __ZNSs6resizeB7v160000Ej(Lip,Lcall.length);
  616. Lcall2o=HEAP32[8+Lip>>2];
  617. Lcall2=HEAP8;
  618. if(((Lcall.length)|0)>0){
  619. Li$p07$pi=0;
  620. while(1){
  621. Lcall2[Lcall2o+Li$p07$pi|0]=Lcall.charCodeAt(Li$p07$pi);
  622. Li$p07$pi=Li$p07$pi+1|0;
  623. if((Li$p07$pi|0)<((Lcall.length)|0))continue;
  624. break;
  625. }
  626. }
  627. Li$p07$pi=72+Lcall13|0;
  628. __ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2B7v160000Ev(Li$p07$pi);
  629. Lcall=Lopts.ipMap;
  630. a:{
  631. if(Lcall===undefined)break a;
  632. Lcall2=Object.keys(Lcall);
  633. if(((Lcall2.length)|0)>0){
  634. Lref$ptmp7=56+Lcall13|0;
  635. Lref$ptmp8=40+Lcall13|0;
  636. Ltmp=32+Lcall13|0;
  637. Li$p061=0;
  638. while(1){
  639. tmp2=Lcall2[0+Li$p061|0];
  640. LcheerpPtrAlloca$p060=Lcall[tmp2];
  641. __ZNSsC2B7v160000Ev(Lref$ptmp7);
  642. __ZNSs6resizeB7v160000Ej(Lref$ptmp7,tmp2.length);
  643. tmp12o=HEAP32[8+Lref$ptmp7>>2];
  644. tmp12=HEAP8;
  645. if(((tmp2.length)|0)>0){
  646. Li$p07$pi23=0;
  647. while(1){
  648. tmp12[tmp12o+Li$p07$pi23|0]=tmp2.charCodeAt(Li$p07$pi23);
  649. Li$p07$pi23=Li$p07$pi23+1|0;
  650. if((Li$p07$pi23|0)<((tmp2.length)|0))continue;
  651. break;
  652. }
  653. }
  654. __ZNSsC2B7v160000Ev(Lref$ptmp8);
  655. __ZNSs6resizeB7v160000Ej(Lref$ptmp8,LcheerpPtrAlloca$p060.length);
  656. tmp12o=HEAP32[8+Lref$ptmp8>>2];
  657. tmp12=HEAP8;
  658. if(((LcheerpPtrAlloca$p060.length)|0)>0){
  659. Li$p07$pi23=0;
  660. while(1){
  661. tmp12[tmp12o+Li$p07$pi23|0]=LcheerpPtrAlloca$p060.charCodeAt(Li$p07$pi23);
  662. Li$p07$pi23=Li$p07$pi23+1|0;
  663. if((Li$p07$pi23|0)<((LcheerpPtrAlloca$p060.length)|0))continue;
  664. break;
  665. }
  666. }
  667. __ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEE7emplaceB7v160000IJSsSsEEES2_ISt14__map_iteratorISt15__tree_iteratorISt12__value_typeISsSsEPSt11__tree_nodeISB_PvElEEbEDpOT_(Ltmp,Li$p07$pi,Lref$ptmp7,Lref$ptmp8);
  668. __ZNSsD2Ev(Lref$ptmp8);
  669. __ZNSsD2Ev(Lref$ptmp7);
  670. Li$p061=Li$p061+1|0;
  671. if((Li$p061|0)<((Lcall2.length)|0)){
  672. LcheerpPtrAlloca$p060=tmp2;
  673. continue;
  674. }
  675. break;
  676. }
  677. }
  678. }
  679. Lref$ptmp7=16+Lcall13|0;
  680. __ZNSsC2B7v160000Ev(Lref$ptmp7);
  681. Lcall=Lopts.dnsIp;
  682. a:{
  683. if(undefined===Lcall)break a;
  684. Lref$ptmp8=Lcall13|0;
  685. Lcall13=Lopts.dnsIp;
  686. __ZNSsC2B7v160000Ev(Lref$ptmp8);
  687. __ZNSs6resizeB7v160000Ej(Lref$ptmp8,Lcall13.length);
  688. Lcallo=HEAP32[8+Lref$ptmp8>>2];
  689. Lcall=HEAP8;
  690. if(((Lcall13.length)|0)>0){
  691. Ltmp=0;
  692. while(1){
  693. Lcall[Lcallo+Ltmp|0]=Lcall13.charCodeAt(Ltmp);
  694. Ltmp=Ltmp+1|0;
  695. if((Ltmp|0)<((Lcall13.length)|0))continue;
  696. break;
  697. }
  698. }
  699. __ZNSsaSB7v160000EOSs(Lref$ptmp7,Lref$ptmp8)|0;
  700. __ZNSsD2Ev(Lref$ptmp8);
  701. }
  702. __Z2upRKSsRKSt3mapISsSsSt4lessISsESaISt4pairIS_SsEEES0_(Lip,Li$p07$pi,Lref$ptmp7);
  703. __ZNSsD2Ev(Lref$ptmp7);
  704. __ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEED2B7v160000Ev(Li$p07$pi);
  705. __ZNSsD2Ev(Lip);
  706. ___setStackPtr(LsavedStack);
  707. }
  708. function __ZN7IpStack4downEv(){
  709. __Z4downv();
  710. }
  711. function __ZN7IpStack5inputEPN6client10Uint8ArrayE(Lpkt){
  712. var Lconv=0,Lcall2=0,tmp2=0,Lcall$pi=null,Lcall$pio=0;
  713. Lconv=~~ +Lpkt.length;
  714. Lcall2=_pbuf_alloc(0,Lconv)|0;
  715. a:if((Lcall2|0)!=(0|0)){
  716. Lcall$pio=HEAP32[4+Lcall2>>2];
  717. Lcall$pi=HEAP8;
  718. tmp2=Lcall$pio;
  719. Lcall$pi=Lcall$pi;
  720. Lcall$pi=Lcall$pi;
  721. b:{
  722. if((Lconv|0)!==0){
  723. if((tmp2|0)===0)if( +Lcall$pi.length===(+(Lconv>>>0)))break b;
  724. Lcall$pi=Lcall$pi.subarray((+(tmp2>>>0)),(+(tmp2+Lconv>>>0)));
  725. break b;
  726. }
  727. if((tmp2|0)===0)break b;
  728. Lcall$pi=Lcall$pi.subarray((+(tmp2>>>0)));
  729. }
  730. Lcall$pi.set(Lpkt);
  731. __ZN7IpStackL7doInputEP4pbuf(Lcall2);
  732. break a;
  733. }
  734. }
  735. function __ZN7IpStack6outputEPFvPN6client10Uint8ArrayEE(Lcallback){
  736. __ZL9output_cb=Lcallback;
  737. }
  738. function __ZN7IpStack7parseIPEPN6client6StringE(LjsStr){
  739. var LsavedStack=null,Lstr=0,tmp2=null,tmp2o=0,Li$p07$pi=0;
  740. LsavedStack=___getStackPtr();
  741. tmp2=-16+LsavedStack|0;
  742. ___setStackPtr(tmp2);
  743. Lstr=tmp2|0;
  744. __ZNSsC2B7v160000Ev(Lstr);
  745. __ZNSs6resizeB7v160000Ej(Lstr,LjsStr.length);
  746. tmp2o=HEAP32[8+Lstr>>2];
  747. tmp2=HEAP8;
  748. if(((LjsStr.length)|0)>0){
  749. Li$p07$pi=0;
  750. while(1){
  751. tmp2[tmp2o+Li$p07$pi|0]=LjsStr.charCodeAt(Li$p07$pi);
  752. Li$p07$pi=Li$p07$pi+1|0;
  753. if((Li$p07$pi|0)<((LjsStr.length)|0))continue;
  754. break;
  755. }
  756. }
  757. Li$p07$pi=__ZN2ip4stonERKSs(Lstr)|0;
  758. __ZNSsD2Ev(Lstr);
  759. ___setStackPtr(LsavedStack);
  760. return Li$p07$pi|0;
  761. }
  762. function __ZN7IpStack14resolveAdapterEii(Lid,Lip){
  763. var tmp0=null,tmp1=null;
  764. tmp0=__ZN7IpStackL10dnsQueriesE;
  765. tmp1=tmp0[0+Lid|0];
  766. tmp0[0+Lid|0]=null;
  767. tmp1(Lip);
  768. }
  769. function __ZN7IpStack7resolveEPN6client6StringE(LnameJs){
  770. var LsavedStack=null,Lname=0,tmp2=null,tmp3=null,tmp3o=0,Li$p07$pi=0,Lcall$pi6=null;
  771. LsavedStack=___getStackPtr();
  772. tmp3=-16+LsavedStack|0;
  773. ___setStackPtr(tmp3);
  774. Lname=tmp3|0;
  775. __ZNSsC2B7v160000Ev(Lname);
  776. __ZNSs6resizeB7v160000Ej(Lname,LnameJs.length);
  777. tmp3o=HEAP32[8+Lname>>2];
  778. tmp3=HEAP8;
  779. if(((LnameJs.length)|0)>0){
  780. Li$p07$pi=0;
  781. while(1){
  782. tmp3[tmp3o+Li$p07$pi|0]=LnameJs.charCodeAt(Li$p07$pi);
  783. Li$p07$pi=Li$p07$pi+1|0;
  784. if((Li$p07$pi|0)<((LnameJs.length)|0))continue;
  785. break;
  786. }
  787. }
  788. Lcall$pi6=new Object();
  789. tmp3=new Object();
  790. tmp2=new Promise(function(__f,__r){Lcall$pi6.inner=__f;tmp3.inner=__r;});;
  791. Lcall$pi6=Lcall$pi6.inner;
  792. tmp3.inner;
  793. Li$p07$pi=__ZN7IpStackL10dnsQueriesE.indexOf(null);
  794. tmp3=__ZN7IpStackL10dnsQueriesE;
  795. a:{
  796. if((Li$p07$pi|0)<0){
  797. Li$p07$pi=tmp3.length;
  798. __ZN7IpStackL10dnsQueriesE.push(Lcall$pi6);
  799. break a;
  800. }
  801. tmp3[0+Li$p07$pi|0]=Lcall$pi6;
  802. }
  803. __ZN7IpStack11resolveWasmERKSsi(Lname,Li$p07$pi);
  804. __ZNSsD2Ev(Lname);
  805. ___setStackPtr(LsavedStack);
  806. return tmp2;
  807. }
  808. function __ZN10__cxxabiv1L24__cxa_throw_wasm_adapterEjPSt9type_infoj(Lthrown_object){
  809. var Ldest$paddr=null,Lref$ptmp=null,Ltinfo$paddr=null;
  810. Ltinfo$paddr=[0];
  811. Ltinfo$paddr[0]=(1051464|0);
  812. Ldest$paddr=[0];
  813. Ldest$paddr[0]=((9|0)|0);
  814. Lref$ptmp=[nullObj];
  815. Lref$ptmp[0]={d:null,o:Lthrown_object};
  816. Ltinfo$paddr=__ZN10__cxxabiv19Exception8allocateIJPvRPSt9type_infoRjEEEPS0_DpOT_(Lref$ptmp,0,Ltinfo$paddr,0,Ldest$paddr,0);
  817. __ZN10__cxxabiv1L8do_throwEPNS_9ExceptionE(Ltinfo$paddr);
  818. ;
  819. }
  820. function __ZN10__cxxabiv19Exception8allocateIJPvRPSt9type_infoRjEEEPS0_DpOT_(Largs,Margs,Largs1,Margs1,Largs3,Margs3){
  821. var tmp0=0,Lid$p0$plcssa28$pi$pi=0,tmp2=null,Lid$p022$pi$pi=0,tmp4=null;
  822. Lid$p0$plcssa28$pi$pi=__ZN10__cxxabiv19Exception9allocatorE$p2|0;
  823. a:{
  824. b:{
  825. if((Lid$p0$plcssa28$pi$pi|0)>1){
  826. tmp2=__ZN10__cxxabiv19Exception9allocatorE$p1;
  827. Lid$p022$pi$pi=1;
  828. while(1){
  829. if((tmp2[Lid$p022$pi$pi]&255)!==0){
  830. Lid$p022$pi$pi=Lid$p022$pi$pi+1|0;
  831. if((Lid$p022$pi$pi|0)===(Lid$p0$plcssa28$pi$pi|0))break b;
  832. continue;
  833. }
  834. break;
  835. }
  836. }else{
  837. Lid$p022$pi$pi=1;
  838. }
  839. if((Lid$p022$pi$pi|0)===(Lid$p0$plcssa28$pi$pi|0))break b;
  840. Lid$p0$plcssa28$pi$pi=Lid$p022$pi$pi;
  841. break a;
  842. }
  843. __ZN10__cxxabiv19Exception9allocatorE$p2=Lid$p0$plcssa28$pi$pi<<1;
  844. tmp2=__ZN10__cxxabiv19Exception9allocatorE$p0;
  845. Lid$p022$pi$pi=__imul(Lid$p0$plcssa28$pi$pi,88)|0;
  846. b:{
  847. if(tmp2!==nullArray||0!==0){
  848. tmp2=resizeArray_struct$p_ZN10__cxxabiv19ExceptionE(tmp2,tmp2.length,Lid$p022$pi$pi/44|0);
  849. break b;
  850. }
  851. tmp2=createArray_struct$p_ZN10__cxxabiv19ExceptionE(Lid$p022$pi$pi/44|0);
  852. }
  853. __ZN10__cxxabiv19Exception9allocatorE$p0=tmp2;
  854. Lid$p022$pi$pi=__ZN10__cxxabiv19Exception9allocatorE$p2|0;
  855. tmp2=__ZN10__cxxabiv19Exception9allocatorE$p1;
  856. b:{
  857. if(tmp2!==nullArray||0!==0){
  858. tmp2=(function(){var __old__=tmp2;
  859. var __ret__=new Uint8Array(Lid$p022$pi$pi/1|0);
  860. __ret__.set(__old__.subarray(0, Math.min(__ret__.length,__old__.length)));
  861. return __ret__;})();
  862. break b;
  863. }
  864. tmp2=new Uint8Array(Lid$p022$pi$pi/1|0);
  865. }
  866. __ZN10__cxxabiv19Exception9allocatorE$p1=tmp2;
  867. break a;
  868. }
  869. tmp2=__ZN10__cxxabiv19Exception9allocatorE$p0;
  870. tmp4=Largs[Margs];
  871. Lid$p022$pi$pi=Largs1[Margs1]|0;
  872. tmp0=Largs3[Margs3]|0;
  873. tmp2[Lid$p0$plcssa28$pi$pi].a1=tmp4.d[tmp4.o];
  874. tmp2[Lid$p0$plcssa28$pi$pi].a2=null;
  875. tmp2[Lid$p0$plcssa28$pi$pi].a3=Lid$p022$pi$pi;
  876. tmp2[Lid$p0$plcssa28$pi$pi].a4=null;
  877. tmp2[Lid$p0$plcssa28$pi$pi].i5=tmp0;
  878. tmp2[Lid$p0$plcssa28$pi$pi].i6=1;
  879. tmp2[Lid$p0$plcssa28$pi$pi].i7=0;
  880. tmp2[Lid$p0$plcssa28$pi$pi].a9=null;
  881. tmp2[Lid$p0$plcssa28$pi$pi].a10=null;
  882. tmp4=__ZN10__cxxabiv19Exception9allocatorE$p1;
  883. tmp4[Lid$p0$plcssa28$pi$pi]=1;
  884. return tmp2[Lid$p0$plcssa28$pi$pi];
  885. }
  886. function __ZN10__cxxabiv1L8do_throwEPNS_9ExceptionE(Lex){
  887. var tmp0=0,LretConstructor8=null,LretConstructor=null,LretConstructoro=0;
  888. tmp0=Lex.a3|0;
  889. LretConstructoro=HEAP32[4+tmp0>>2];
  890. LretConstructor=HEAP8;
  891. LretConstructor=_cheerpCreate_ZN6client6StringC2EPKc(LretConstructor,LretConstructoro);
  892. LretConstructor8=new CheerpException(LretConstructor);
  893. Lex.a0=LretConstructor8;
  894. throw LretConstructor8;
  895. ;
  896. }
  897. function _cheerpCreate_ZN6client6StringC2EPKc(Larg0,Marg0){
  898. var LretConstructor$pi=null,Lgeptoindexphi=0,LcheerpPtrAlloca$p07$pi=null;
  899. LretConstructor$pi=String();
  900. if((Larg0[Marg0]&255)===0)return String(LretConstructor$pi);
  901. Lgeptoindexphi=0;
  902. while(1){
  903. LcheerpPtrAlloca$p07$pi=String.fromCharCode(Larg0[Marg0+Lgeptoindexphi|0]<<24>>24);
  904. LretConstructor$pi=LretConstructor$pi.concat(LcheerpPtrAlloca$p07$pi);
  905. Lgeptoindexphi=Lgeptoindexphi+1|0;
  906. if((Larg0[Marg0+Lgeptoindexphi|0]&255)!==0)continue;
  907. break;
  908. }
  909. return String(LretConstructor$pi);
  910. }
  911. function __ZL17do_syscall_writevPK5iovecl(Lios,Llen){
  912. var Lbuilder=null,Lbuildero=0,L__ret$p05=0,Li$p04=0,Lios$poptgep=0,Ladd168=0,Lcall20=null,Lcall20o=0,tmp6=0;
  913. a:{
  914. if(__ZGVZL17do_syscall_writevPK5ioveclE4curr|0)break a;
  915. __ZZL17do_syscall_writevPK5ioveclE4curr=String();
  916. __ZGVZL17do_syscall_writevPK5ioveclE4curr=1;
  917. }
  918. Lbuilder=[null];
  919. __ZN12_GLOBAL__N_119CheerpStringBuilder9setStringEPN6client6StringE(Lbuilder,0,__ZZL17do_syscall_writevPK5ioveclE4curr);
  920. a:if((Llen|0)>0){
  921. Li$p04=0;
  922. L__ret$p05=0;
  923. while(1){
  924. Lios$poptgep=(Li$p04<<3)+Lios|0;
  925. Ladd168=HEAP32[4+Lios$poptgep>>2]|0;
  926. b:if((Ladd168|0)!==0){
  927. L__ret$p05=Ladd168+L__ret$p05|0;
  928. Lcall20o=HEAP32[Lios$poptgep>>2];
  929. Lcall20=HEAP8;
  930. if((Ladd168|0)>0){
  931. Lios$poptgep=0;
  932. while(1){
  933. __ZN12_GLOBAL__N_119CheerpStringBuilder11processCharERjS1_h(Lbuilder,0,Lcall20[Lcall20o+Lios$poptgep|0]|0);
  934. Lios$poptgep=Lios$poptgep+1|0;
  935. if((Lios$poptgep|0)===(Ladd168|0))break b;
  936. continue;
  937. }
  938. }
  939. }
  940. Li$p04=Li$p04+1|0;
  941. if((Li$p04|0)===(Llen|0))break a;
  942. continue;
  943. }
  944. }else{
  945. L__ret$p05=0;
  946. }
  947. Lbuilder=__ZN12_GLOBAL__N_119CheerpStringBuilder9getStringEv(Lbuilder,0);
  948. Lbuilder=Lbuilder.split(_cheerpCreate_ZN6client6StringC2EPKc(HEAP8,1053980>>0));
  949. Li$p04=Lbuilder.length;
  950. a:if((Li$p04|0)>1){
  951. Lios$poptgep=0;
  952. Ladd168=1;
  953. while(1){
  954. Lcall20=__ZN6client6TArrayINS_6StringEEixEi(Lbuilder,Lios$poptgep);
  955. Lcall20o=oSlot;
  956. console.log(Lcall20[Lcall20o]);
  957. Lios$poptgep=Ladd168+1|0;
  958. if((Lios$poptgep|0)===(Li$p04|0))break a;
  959. tmp6=Ladd168;
  960. Ladd168=Lios$poptgep;
  961. Lios$poptgep=tmp6;
  962. continue;
  963. }
  964. }
  965. Lbuilder=__ZN6client6TArrayINS_6StringEEixEi(Lbuilder,Li$p04-1|0);
  966. Lbuildero=oSlot;
  967. __ZZL17do_syscall_writevPK5ioveclE4curr=Lbuilder[Lbuildero];
  968. return L__ret$p05|0;
  969. }
  970. function __ZN12_GLOBAL__N_119CheerpStringBuilder9setStringEPN6client6StringE(Lthis,Mthis,La){
  971. Lthis[Mthis]=La;
  972. }
  973. function __ZN12_GLOBAL__N_119CheerpStringBuilder11processCharERjS1_h(Lthis,Mthis,Lch){
  974. var Lconv=0,tmp1=null,Lmask$p1=0,Ldec=0;
  975. Ldec=__ZZL17do_syscall_writevPK5ioveclE9remaining|0;
  976. Lconv=Lch&255;
  977. tmp1=1051620|0;
  978. a:{
  979. if((Lch&255)<192){
  980. b:{
  981. if((Ldec|0)===0){
  982. if(Lch<<24>-16777216){
  983. __ZZL17do_syscall_writevPK5ioveclE9codepoint=Lconv;
  984. break b;
  985. }
  986. ___assert_fail(1051728|0,417,tmp1);
  987. ;
  988. }
  989. if((Lconv&192|0)!==128)___assert_fail(1053984|0,403,tmp1);
  990. ;
  991. __ZZL17do_syscall_writevPK5ioveclE9codepoint=(__ZZL17do_syscall_writevPK5ioveclE9codepoint<<6)+(Lconv&63)|0;
  992. Ldec=Ldec-1|0;
  993. __ZZL17do_syscall_writevPK5ioveclE9remaining=Ldec;
  994. if((Ldec|0)!==0)break a;
  995. }
  996. __ZN12_GLOBAL__N_119CheerpStringBuilder15outputCodepointEj(Lthis,Mthis,__ZZL17do_syscall_writevPK5ioveclE9codepoint|0);
  997. break a;
  998. }
  999. if((Ldec|0)===0){
  1000. b:{
  1001. if((Lch&255)<224){
  1002. Lmask$p1=31;
  1003. Ldec=1;
  1004. break b;
  1005. }
  1006. Lmask$p1=(Lch&255)<240?15|0:7|0;
  1007. Ldec=(Lch&255)<240?2|0:3|0;
  1008. }
  1009. __ZZL17do_syscall_writevPK5ioveclE9remaining=Ldec;
  1010. __ZZL17do_syscall_writevPK5ioveclE9codepoint=Lmask$p1&Lconv;
  1011. break a;
  1012. }
  1013. ___assert_fail(1051740|0,428,tmp1);
  1014. ;
  1015. }
  1016. }
  1017. function __ZN12_GLOBAL__N_119CheerpStringBuilder9getStringEv(Lthis,Mthis){
  1018. return Lthis[Mthis];
  1019. }
  1020. function __ZN6client6TArrayINS_6StringEEixEi(Lthis,Lindex){
  1021. var Lcall=null,Lcallo=0;
  1022. Lcall=__ZN6client5ArrayixEi(Lthis,Lindex);
  1023. Lcallo=oSlot;
  1024. oSlot=Lcallo;
  1025. return Lcall;
  1026. }
  1027. function __ZN6client5ArrayixEi(Lthis,Lindex){
  1028. oSlot=0+Lindex|0;
  1029. return Lthis;
  1030. }
  1031. function __ZN12_GLOBAL__N_119CheerpStringBuilder15outputCodepointEj(Lthis,Mthis,Lcodepoint){
  1032. var Lcodepoint$psink=0,Lcall$pi17=null;
  1033. a:{
  1034. b:{
  1035. if(Lcodepoint>>>0<65536){
  1036. if((Lcodepoint|0)===0)break a;
  1037. Lcall$pi17=Lthis[Mthis];
  1038. Lcodepoint$psink=Lcodepoint;
  1039. break b;
  1040. }
  1041. Lcall$pi17=Lthis[Mthis];
  1042. Lcall$pi17=Lcall$pi17.concat(String.fromCharCode((Lcodepoint-65536>>>10)+55296|0));
  1043. Lthis[Mthis]=Lcall$pi17;
  1044. Lcodepoint$psink=(Lcodepoint&1023)+56320|0;
  1045. }
  1046. Lthis[Mthis]=Lcall$pi17.concat(String.fromCharCode(Lcodepoint$psink));
  1047. break a;
  1048. }
  1049. }
  1050. function __start(){
  1051. var tmp0=null;
  1052. ___cxx_global_var_init();
  1053. tmp0=new Uint8Array(16);
  1054. __ZN7IpStack9TCPSocket9allocatorE$p1=tmp0;
  1055. __ZN7IpStack9TCPSocket9allocatorE$p2=16;
  1056. tmp0=createArray_class$p_ZN7IpStack9TCPSocketE(16);
  1057. __ZN7IpStack9TCPSocket9allocatorE$p0=tmp0;
  1058. tmp0=new Uint8Array(16);
  1059. __ZN7IpStack9UDPSocket9allocatorE$p1=tmp0;
  1060. __ZN7IpStack9UDPSocket9allocatorE$p2=16;
  1061. tmp0=createArray_class$p_ZN7IpStack9UDPSocketE(16);
  1062. __ZN7IpStack9UDPSocket9allocatorE$p0=tmp0;
  1063. __ZN7IpStackL10dnsQueriesE=new Array();
  1064. }
  1065. function ___wrapper___ZN7IpStack9UDPSocket8callRecvEiPhjii(Larg0,Larg1,Larg2,Larg3,Larg4){
  1066. __ZN7IpStack9UDPSocket8callRecvEiPhjii(Larg0,HEAP8,Larg1>>0,Larg2,Larg3,Larg4);
  1067. }
  1068. function ___wrapper___Z9output_jsPhi(Larg0,Larg1){
  1069. __Z9output_jsPhi(HEAP8,Larg0>>0,Larg1);
  1070. }
  1071. function ___wrapper___ZN7IpStack9TCPSocket8callRecvEiPhj(Larg0,Larg1,Larg2){
  1072. __ZN7IpStack9TCPSocket8callRecvEiPhj(Larg0,HEAP8,Larg1>>0,Larg2);
  1073. }
  1074. var __ZN7IpStack9TCPSocket9allocatorE$p1=nullArray;
  1075. var __ZN7IpStack9TCPSocket9allocatorE$p2=0;
  1076. var __ZN7IpStack9TCPSocket9allocatorE$p0=nullArray;
  1077. var __ZN7IpStack9UDPSocket9allocatorE$p1=nullArray;
  1078. var __ZN7IpStack9UDPSocket9allocatorE$p2=0;
  1079. var __ZN7IpStack9UDPSocket9allocatorE$p0=nullArray;
  1080. var __ZN7IpStackL10dnsQueriesE=null;
  1081. var __ZGVZL17do_syscall_writevPK5ioveclE4curr=0;
  1082. var __ZZL17do_syscall_writevPK5ioveclE4curr=null;
  1083. var __ZZL17do_syscall_writevPK5ioveclE9remaining=0;
  1084. var __ZZL17do_syscall_writevPK5ioveclE9codepoint=0;
  1085. var __ZN10__cxxabiv19Exception9allocatorE$p2=16;
  1086. var _promotedMalloc$p8=new Uint8Array(16);
  1087. var __ZN10__cxxabiv19Exception9allocatorE$p1=_promotedMalloc$p8;
  1088. var _promotedMalloc$p7=createArray_struct$p_ZN10__cxxabiv19ExceptionE(16);
  1089. var __ZN10__cxxabiv19Exception9allocatorE$p0=_promotedMalloc$p7;
  1090. var __ZL9output_cb=null;
  1091. function constructor_struct$p_ZN10__cxxabiv19ExceptionE(){
  1092. this.a0=null;
  1093. this.a1=null;
  1094. this.a2=null;
  1095. this.a3=0;
  1096. this.a4=null;
  1097. this.i5=0;
  1098. this.i6=0;
  1099. this.i7=0;
  1100. this.a8=null;
  1101. this.a9=null;
  1102. this.a10=null;
  1103. }
  1104. function createArray_struct$p_ZN10__cxxabiv19ExceptionE(e){
  1105. var r=[];
  1106. for(var i=0;i<e;i++)
  1107. r[i]=new constructor_struct$p_ZN10__cxxabiv19ExceptionE();
  1108. return r;
  1109. }
  1110. function createArray_class$p_ZN7IpStack9UDPSocketE(e){
  1111. var r=[];
  1112. for(var i=0;i<e;i++)
  1113. r[i]={a0:null,a1:0};
  1114. return r;
  1115. }
  1116. function createArray_class$p_ZN7IpStack9TCPSocketE(e){
  1117. var r=[];
  1118. for(var i=0;i<e;i++)
  1119. r[i]={a0:0,a1:null,a2:null,a3:null};
  1120. return r;
  1121. }
  1122. function resizeArray_class$p_ZN7IpStack9TCPSocketE(r,s,e){
  1123. for(var i=s;i<e;i++)
  1124. r[i]={a0:0,a1:null,a2:null,a3:null};
  1125. return r;
  1126. }
  1127. function resizeArray_struct$p_ZN10__cxxabiv19ExceptionE(r,s,e){
  1128. for(var i=s;i<e;i++)
  1129. r[i]=new constructor_struct$p_ZN10__cxxabiv19ExceptionE();
  1130. return r;
  1131. }
  1132. function resizeArray_class$p_ZN7IpStack9UDPSocketE(r,s,e){
  1133. for(var i=s;i<e;i++)
  1134. r[i]={a0:null,a1:0};
  1135. return r;
  1136. }
  1137. function CheerpException(m){
  1138. var instance=new Error('Uncaught C++ exception: '+m);
  1139. instance.name='CheerpException';
  1140. Object.setPrototypeOf(instance,Object.getPrototypeOf(this));
  1141. if(Error.captureStackTrace){
  1142. Error.captureStackTrace(instance, CheerpException);
  1143. }
  1144. return instance;
  1145. }
  1146. CheerpException.prototype=Object.create(Error.prototype);
  1147. function growLinearMemory(bytes){
  1148. var pages=(bytes+65535)>>16;
  1149. try{
  1150. __asm.memory.grow(pages);
  1151. __heap=__asm.memory.buffer;
  1152. assignHeaps(__heap);
  1153. return pages<<16;
  1154. }catch(e){
  1155. return -1;
  1156. }
  1157. }
  1158. var IpStack={
  1159. TCPSocket:null,
  1160. UDPSocket:null,
  1161. down:null,
  1162. init:null,
  1163. input:null,
  1164. output:null,
  1165. parseIP:null,
  1166. resolve:null,
  1167. up:null,
  1168. };
  1169. var HEAP8=null,HEAP32=null,__asm=null,__heap=null;function __dummy(){throw new Error('this should be unreachable');};
  1170. var ___cxx_global_var_init=null;
  1171. var __ZN3udp6Socket5closeEv=null;
  1172. var ___assert_fail=null;
  1173. var __ZNSt6vectorIhSaIhEEC2Ej=null;
  1174. var __ZN7IpStack9UDPSocket13sendToAdapterEPN3udp6SocketERKSt6vectorIhSaIhEEii=null;
  1175. var __ZNSt6vectorIhSaIhEED2B7v160000Ev=null;
  1176. var __ZN7IpStack9UDPSocket11recvAdapterEiPN3udp6SocketE=null;
  1177. var __ZN3udp6Socket4bindEii=null;
  1178. var _malloc=null;
  1179. var __ZN3udp6SocketC2Ev=null;
  1180. var __ZNSsC2B7v160000Ev=null;
  1181. var __ZNSs6resizeB7v160000Ej=null;
  1182. var __ZN7IpStack11resolveWasmERKSsi=null;
  1183. var __ZNSsD2Ev=null;
  1184. var __ZN2ip4stonERKSs=null;
  1185. var _pbuf_alloc=null;
  1186. var __ZN7IpStackL7doInputEP4pbuf=null;
  1187. var __Z4downv=null;
  1188. var __ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2B7v160000Ev=null;
  1189. var __ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEE7emplaceB7v160000IJSsSsEEES2_ISt14__map_iteratorISt15__tree_iteratorISt12__value_typeISsSsEPSt11__tree_nodeISB_PvElEEbEDpOT_=null;
  1190. var __ZNSsaSB7v160000EOSs=null;
  1191. var __Z2upRKSsRKSt3mapISsSsSt4lessISsESaISt4pairIS_SsEEES0_=null;
  1192. var __ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEED2B7v160000Ev=null;
  1193. var __Z4initv=null;
  1194. var __Z16udpecho_raw_initv=null;
  1195. var __Z16tcpecho_raw_initv=null;
  1196. var _sys_check_timeouts=null;
  1197. var __ZN3tcp6Socket5closeEv=null;
  1198. var __ZN3tcp6Socket4bindEii=null;
  1199. var __ZN3tcp6Socket6listenEv=null;
  1200. var __ZN7IpStack9TCPSocket13acceptAdapterEiPN3tcp6SocketE=null;
  1201. var __ZN3tcp6Socket10shutdownRxEv=null;
  1202. var __ZN3tcp6Socket10shutdownTxEv=null;
  1203. var __ZN7IpStack9TCPSocket11sendAdapterEPN3tcp6SocketERKSt6vectorIhSaIhEE=null;
  1204. var __ZN7IpStack9TCPSocket11recvAdapterEiPN3tcp6SocketE=null;
  1205. var __ZN7IpStack9TCPSocket11connAdapterEiPN3tcp6SocketEii=null;
  1206. var __ZN3tcp6SocketC2Ev=null;
  1207. var _free=null;
  1208. var ___getStackPtr=null;
  1209. var ___setStackPtr=null;
  1210. IpStack.TCPSocket=__dummy;
  1211. IpStack.UDPSocket=__dummy;
  1212. IpStack.down=__dummy;
  1213. IpStack.init=__dummy;
  1214. IpStack.input=__dummy;
  1215. IpStack.output=__dummy;
  1216. IpStack.parseIP=__dummy;
  1217. IpStack.resolve=__dummy;
  1218. IpStack.up=__dummy;
  1219. export default function(Ll){
  1220. return (Ll&&Ll.buffer)?
  1221. Promise.resolve(Ll.buffer):
  1222. fetchBuffer((Ll&&Ll.absPath)?Ll.absPath:new URL('ipstack.wasm', import.meta.url)).then(Ll=>
  1223. WebAssembly.instantiate(Ll,
  1224. {i:{
  1225. ___syscall_rt_sigprocmask:__dummy,
  1226. ___syscall_tkill:__dummy,
  1227. ___syscall_rt_sigaction:__dummy,
  1228. ___syscall__llseek:__dummy,
  1229. __ZL17do_syscall_writevPK5iovecl:__ZL17do_syscall_writevPK5iovecl,
  1230. ___wrapper___ZN7IpStack9TCPSocket8callRecvEiPhj:___wrapper___ZN7IpStack9TCPSocket8callRecvEiPhj,
  1231. __ZN7IpStack14resolveAdapterEii:__ZN7IpStack14resolveAdapterEii,
  1232. __ZN10__cxxabiv1L24__cxa_throw_wasm_adapterEjPSt9type_infoj:__ZN10__cxxabiv1L24__cxa_throw_wasm_adapterEjPSt9type_infoj,
  1233. _sys_now:_sys_now,
  1234. __Z14start_timeoutsv:__Z14start_timeoutsv,
  1235. ___wrapper___Z9output_jsPhi:___wrapper___Z9output_jsPhi,
  1236. __ZN7IpStack9TCPSocket13resolveAcceptEiPN3tcp6SocketEiia:__ZN7IpStack9TCPSocket13resolveAcceptEiPN3tcp6SocketEiia,
  1237. ___wrapper___ZN7IpStack9UDPSocket8callRecvEiPhjii:___wrapper___ZN7IpStack9UDPSocket8callRecvEiPhjii,
  1238. __ZN7IpStack9TCPSocket14resolveConnectEii:__ZN7IpStack9TCPSocket14resolveConnectEii,
  1239. growLinearMemory:growLinearMemory,
  1240. }})
  1241. ).then(Ll=>{
  1242. __asm=Ll.instance.exports;
  1243. __heap=__asm.memory.buffer;
  1244. assignHeaps(__heap);
  1245. ___cxx_global_var_init=__asm.___cxx_global_var_init;
  1246. __ZN3udp6Socket5closeEv=__asm.__ZN3udp6Socket5closeEv;
  1247. ___assert_fail=__asm.___assert_fail;
  1248. __ZNSt6vectorIhSaIhEEC2Ej=__asm.__ZNSt6vectorIhSaIhEEC2Ej;
  1249. __ZN7IpStack9UDPSocket13sendToAdapterEPN3udp6SocketERKSt6vectorIhSaIhEEii=__asm.__ZN7IpStack9UDPSocket13sendToAdapterEPN3udp6SocketERKSt6vectorIhSaIhEEii;
  1250. __ZNSt6vectorIhSaIhEED2B7v160000Ev=__asm.__ZNSt6vectorIhSaIhEED2B7v160000Ev;
  1251. __ZN7IpStack9UDPSocket11recvAdapterEiPN3udp6SocketE=__asm.__ZN7IpStack9UDPSocket11recvAdapterEiPN3udp6SocketE;
  1252. __ZN3udp6Socket4bindEii=__asm.__ZN3udp6Socket4bindEii;
  1253. _malloc=__asm._malloc;
  1254. __ZN3udp6SocketC2Ev=__asm.__ZN3udp6SocketC2Ev;
  1255. __ZNSsC2B7v160000Ev=__asm.__ZNSsC2B7v160000Ev;
  1256. __ZNSs6resizeB7v160000Ej=__asm.__ZNSs6resizeB7v160000Ej;
  1257. __ZN7IpStack11resolveWasmERKSsi=__asm.__ZN7IpStack11resolveWasmERKSsi;
  1258. __ZNSsD2Ev=__asm.__ZNSsD2Ev;
  1259. __ZN2ip4stonERKSs=__asm.__ZN2ip4stonERKSs;
  1260. _pbuf_alloc=__asm._pbuf_alloc;
  1261. __ZN7IpStackL7doInputEP4pbuf=__asm.__ZN7IpStackL7doInputEP4pbuf;
  1262. __Z4downv=__asm.__Z4downv;
  1263. __ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2B7v160000Ev=__asm.__ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEEC2B7v160000Ev;
  1264. __ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEE7emplaceB7v160000IJSsSsEEES2_ISt14__map_iteratorISt15__tree_iteratorISt12__value_typeISsSsEPSt11__tree_nodeISB_PvElEEbEDpOT_=__asm.__ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEE7emplaceB7v160000IJSsSsEEES2_ISt14__map_iteratorISt15__tree_iteratorISt12__value_typeISsSsEPSt11__tree_nodeISB_PvElEEbEDpOT_;
  1265. __ZNSsaSB7v160000EOSs=__asm.__ZNSsaSB7v160000EOSs;
  1266. __Z2upRKSsRKSt3mapISsSsSt4lessISsESaISt4pairIS_SsEEES0_=__asm.__Z2upRKSsRKSt3mapISsSsSt4lessISsESaISt4pairIS_SsEEES0_;
  1267. __ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEED2B7v160000Ev=__asm.__ZNSt3mapISsSsSt4lessISsESaISt4pairIKSsSsEEED2B7v160000Ev;
  1268. __Z4initv=__asm.__Z4initv;
  1269. __Z16udpecho_raw_initv=__asm.__Z16udpecho_raw_initv;
  1270. __Z16tcpecho_raw_initv=__asm.__Z16tcpecho_raw_initv;
  1271. _sys_check_timeouts=__asm._sys_check_timeouts;
  1272. __ZN3tcp6Socket5closeEv=__asm.__ZN3tcp6Socket5closeEv;
  1273. __ZN3tcp6Socket4bindEii=__asm.__ZN3tcp6Socket4bindEii;
  1274. __ZN3tcp6Socket6listenEv=__asm.__ZN3tcp6Socket6listenEv;
  1275. __ZN7IpStack9TCPSocket13acceptAdapterEiPN3tcp6SocketE=__asm.__ZN7IpStack9TCPSocket13acceptAdapterEiPN3tcp6SocketE;
  1276. __ZN3tcp6Socket10shutdownRxEv=__asm.__ZN3tcp6Socket10shutdownRxEv;
  1277. __ZN3tcp6Socket10shutdownTxEv=__asm.__ZN3tcp6Socket10shutdownTxEv;
  1278. __ZN7IpStack9TCPSocket11sendAdapterEPN3tcp6SocketERKSt6vectorIhSaIhEE=__asm.__ZN7IpStack9TCPSocket11sendAdapterEPN3tcp6SocketERKSt6vectorIhSaIhEE;
  1279. __ZN7IpStack9TCPSocket11recvAdapterEiPN3tcp6SocketE=__asm.__ZN7IpStack9TCPSocket11recvAdapterEiPN3tcp6SocketE;
  1280. __ZN7IpStack9TCPSocket11connAdapterEiPN3tcp6SocketEii=__asm.__ZN7IpStack9TCPSocket11connAdapterEiPN3tcp6SocketEii;
  1281. __ZN3tcp6SocketC2Ev=__asm.__ZN3tcp6SocketC2Ev;
  1282. _free=__asm._free;
  1283. ___getStackPtr=__asm.___getStackPtr;
  1284. ___setStackPtr=__asm.___setStackPtr;
  1285. IpStack.TCPSocket=function (){
  1286. throw new Error("Class/Struct IpStack.TCPSocket do not have a [[cheerp::jsexport]]-ed constructor");
  1287. };
  1288. IpStack.TCPSocket.create=function(){
  1289. return Object.create(IpStack.TCPSocket.prototype,{this:{value:{d:__ZN7IpStack9TCPSocket6createEv(),o:oSlot}}});
  1290. };
  1291. IpStack.TCPSocket.prototype.dispose=function(){
  1292. return __ZN7IpStack9TCPSocket7disposeEv(this.this.d,this.this.o);
  1293. };
  1294. IpStack.TCPSocket.prototype.connect=function(a0,a1,a2,a3){
  1295. return __ZN7IpStack9TCPSocket7connectEiiiPN6client13EventListenerE(this.this.d,this.this.o,a0,a1,a2,a3);
  1296. };
  1297. IpStack.TCPSocket.prototype.recv=function(a0){
  1298. return __ZN7IpStack9TCPSocket4recvEPN6client13EventListenerE(this.this.d,this.this.o,a0);
  1299. };
  1300. IpStack.TCPSocket.prototype.send=function(a0){
  1301. return __ZN7IpStack9TCPSocket4sendEPN6client10Uint8ArrayE(this.this.d[this.this.o],a0);
  1302. };
  1303. IpStack.TCPSocket.prototype.close=function(){
  1304. return __ZN7IpStack9TCPSocket5closeEv(this.this.d,this.this.o);
  1305. };
  1306. IpStack.TCPSocket.prototype.shutdownTx=function(){
  1307. return __ZN7IpStack9TCPSocket10shutdownTxEv(this.this.d[this.this.o]);
  1308. };
  1309. IpStack.TCPSocket.prototype.shutdownRx=function(){
  1310. return __ZN7IpStack9TCPSocket10shutdownRxEv(this.this.d[this.this.o]);
  1311. };
  1312. IpStack.TCPSocket.prototype.listen=function(a0,a1){
  1313. return __ZN7IpStack9TCPSocket6listenEiPN6client8CallbackIvJPS0_iiiEEE(this.this.d,this.this.o,a0,a1);
  1314. };
  1315. IpStack.TCPSocket.prototype.delete=function(){
  1316. return __ZN7IpStack9TCPSocket6deleteEv(this.this.d[this.this.o]);
  1317. };
  1318. IpStack.UDPSocket=function (){
  1319. throw new Error("Class/Struct IpStack.UDPSocket do not have a [[cheerp::jsexport]]-ed constructor");
  1320. };
  1321. IpStack.UDPSocket.create=function(){
  1322. return Object.create(IpStack.UDPSocket.prototype,{this:{value:{d:__ZN7IpStack9UDPSocket6createEv(),o:oSlot}}});
  1323. };
  1324. IpStack.UDPSocket.prototype.dispose=function(){
  1325. return __ZN7IpStack9UDPSocket7disposeEv(this.this.d,this.this.o);
  1326. };
  1327. IpStack.UDPSocket.prototype.bind=function(a0){
  1328. return __ZN7IpStack9UDPSocket4bindEi(this.this.d[this.this.o],a0);
  1329. };
  1330. IpStack.UDPSocket.prototype.recv=function(a0){
  1331. return __ZN7IpStack9UDPSocket4recvEPN6client8CallbackIvJPNS1_10Uint8ArrayEiiEEE(this.this.d,this.this.o,a0);
  1332. };
  1333. IpStack.UDPSocket.prototype.sendto=function(a0,a1,a2){
  1334. return __ZN7IpStack9UDPSocket6sendtoEPN6client10Uint8ArrayEii(this.this.d[this.this.o],a0,a1,a2);
  1335. };
  1336. IpStack.UDPSocket.prototype.close=function(){
  1337. return __ZN7IpStack9UDPSocket5closeEv(this.this.d,this.this.o);
  1338. };
  1339. IpStack.UDPSocket.prototype.delete=function(){
  1340. return __ZN7IpStack9UDPSocket6deleteEv(this.this.d[this.this.o]);
  1341. };
  1342. IpStack.down=function(){
  1343. return __ZN7IpStack4downEv();
  1344. };
  1345. IpStack.init=function(a0){
  1346. return __ZN7IpStack4initEPN6client9UpOptionsE(a0);
  1347. };
  1348. IpStack.input=function(a0){
  1349. return __ZN7IpStack5inputEPN6client10Uint8ArrayE(a0);
  1350. };
  1351. IpStack.output=function(a0){
  1352. return __ZN7IpStack6outputEPFvPN6client10Uint8ArrayEE(a0);
  1353. };
  1354. IpStack.parseIP=function(a0){
  1355. return __ZN7IpStack7parseIPEPN6client6StringE(a0);
  1356. };
  1357. IpStack.resolve=function(a0){
  1358. return __ZN7IpStack7resolveEPN6client6StringE(a0);
  1359. };
  1360. IpStack.up=function(a0){
  1361. return __ZN7IpStack2upEPN6client9UpOptionsE(a0);
  1362. };
  1363. __start();
  1364. return{
  1365. IpStack:IpStack,
  1366. };
  1367. });
  1368. }
  1369. function assignHeaps(Ll){
  1370. HEAP8=new Uint8Array(Ll);
  1371. HEAP32=new Int32Array(Ll);
  1372. }