smesh_lol_web_common_helpers.mjs raw

   1  // Package smesh.lol/web/common/helpers
   2  // Generated by MoxieJS — Moxie JavaScript backend
   3  
   4  import * as $rt from './$runtime/index.mjs';
   5  
   6  // Package-level variables
   7  
   8  $rt.types.registerType('smesh.lol/web/common/helpers.Nevent', {
   9    id: 'smesh.lol/web/common/helpers.Nevent',
  10    kind: 'struct',
  11    methods: new Map(),
  12    fields: [
  13      { name: 'ID', type: 'string', tag: '', embedded: false },
  14      { name: 'Relays', type: '[]string', tag: '', embedded: false },
  15      { name: 'Author', type: 'string', tag: '', embedded: false },
  16    ],
  17    zero: () => ({ ID: '', Relays: null, Author: '' }),
  18  });
  19  $rt.types.registerType('smesh.lol/web/common/helpers.Nprofile', {
  20    id: 'smesh.lol/web/common/helpers.Nprofile',
  21    kind: 'struct',
  22    methods: new Map(),
  23    fields: [
  24      { name: 'Pubkey', type: 'string', tag: '', embedded: false },
  25      { name: 'Relays', type: '[]string', tag: '', embedded: false },
  26    ],
  27    zero: () => ({ Pubkey: '', Relays: null }),
  28  });
  29  export function init() {
  30    return;
  31  }
  32  
  33  export function Base64Encode(data) {
  34    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72;
  35    let $block = 0;
  36    while (true) {
  37      switch ($block) {
  38        case 0: {
  39          $t0_1 = $rt.builtin.len(data);
  40          $t1_2 = ($t0_1 + 2);
  41          $t2_3 = Math.trunc($t1_2 / 3);
  42          $t3_4 = ($t2_3 * 4);
  43          $t4_5 = $rt.builtin.makeSlice(0, $t3_4, 0);
  44          $t5_6 = $t4_5;
  45          $t6_7 = 0;
  46          $block = 1; break;
  47          break;
  48        }
  49        case 1: {
  50          $t7_8 = ($t6_7 < $t0_1);
  51          if ($t7_8) {
  52            $block = 2; break;
  53          }
  54          else {
  55            $block = 3; break;
  56          }
  57          break;
  58        }
  59        case 2: {
  60          $t8_9 = data.addr($t6_7);
  61          $t9_10 = $t8_9.$get();
  62          $t10_11 = ($t6_7 + 1);
  63          $t11_12 = ($t10_11 < $t0_1);
  64          if ($t11_12) {
  65            $block = 4; break;
  66          }
  67          else {
  68            $t15_16 = 0;
  69            $block = 5; break;
  70          }
  71          break;
  72        }
  73        case 3: {
  74          return $t5_6;
  75          break;
  76        }
  77        case 4: {
  78          $t12_13 = ($t6_7 + 1);
  79          $t13_14 = data.addr($t12_13);
  80          $t14_15 = $t13_14.$get();
  81          $t15_16 = $t14_15;
  82          $block = 5; break;
  83          break;
  84        }
  85        case 5: {
  86          $t16_17 = ($t6_7 + 2);
  87          $t17_18 = ($t16_17 < $t0_1);
  88          if ($t17_18) {
  89            $block = 6; break;
  90          }
  91          else {
  92            $t21_22 = 0;
  93            $block = 7; break;
  94          }
  95          break;
  96        }
  97        case 6: {
  98          $t18_19 = ($t6_7 + 2);
  99          $t19_20 = data.addr($t18_19);
 100          $t20_21 = $t19_20.$get();
 101          $t21_22 = $t20_21;
 102          $block = 7; break;
 103          break;
 104        }
 105        case 7: {
 106          $t22_23 = (($t9_10 & 0xFF) >> 2);
 107          $t23_24 = ($t22_23 & 63);
 108          $t24_25 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.addr($t23_24);
 109          $t25_26 = $t24_25.$get();
 110          $t26_27 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 111          $t27_28 = $t26_27.$get().addr(0);
 112          $t27_28.$set($t25_26);
 113          $t28_29 = $rt.builtin.sliceSlice($t26_27.$get(), undefined, undefined, undefined);
 114          $t29_30 = $rt.builtin.appendSlice($t5_6, $t28_29);
 115          $t30_31 = (($t9_10 << 4) & 0xFF);
 116          $t31_32 = (($t15_16 & 0xFF) >> 4);
 117          $t32_33 = (($t30_31 + $t31_32) & 0xFF);
 118          $t33_34 = ($t32_33 & 63);
 119          $t34_35 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.addr($t33_34);
 120          $t35_36 = $t34_35.$get();
 121          $t36_37 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 122          $t37_38 = $t36_37.$get().addr(0);
 123          $t37_38.$set($t35_36);
 124          $t38_39 = $rt.builtin.sliceSlice($t36_37.$get(), undefined, undefined, undefined);
 125          $t39_40 = $rt.builtin.appendSlice($t29_30, $t38_39);
 126          $t40_41 = ($t6_7 + 1);
 127          $t41_42 = ($t40_41 < $t0_1);
 128          if ($t41_42) {
 129            $block = 8; break;
 130          }
 131          else {
 132            $block = 10; break;
 133          }
 134          break;
 135        }
 136        case 8: {
 137          $t42_43 = (($t15_16 << 2) & 0xFF);
 138          $t43_44 = (($t21_22 & 0xFF) >> 6);
 139          $t44_45 = (($t42_43 + $t43_44) & 0xFF);
 140          $t45_46 = ($t44_45 & 63);
 141          $t46_47 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.addr($t45_46);
 142          $t47_48 = $t46_47.$get();
 143          $t48_49 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 144          $t49_50 = $t48_49.$get().addr(0);
 145          $t49_50.$set($t47_48);
 146          $t50_51 = $rt.builtin.sliceSlice($t48_49.$get(), undefined, undefined, undefined);
 147          $t51_52 = $rt.builtin.appendSlice($t39_40, $t50_51);
 148          $t52_53 = $t51_52;
 149          $block = 9; break;
 150          break;
 151        }
 152        case 9: {
 153          $t53_54 = ($t6_7 + 2);
 154          $t54_55 = ($t53_54 < $t0_1);
 155          if ($t54_55) {
 156            $block = 11; break;
 157          }
 158          else {
 159            $block = 13; break;
 160          }
 161          break;
 162        }
 163        case 10: {
 164          $t55_56 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 165          $t56_57 = $t55_56.$get().addr(0);
 166          $t56_57.$set(61);
 167          $t57_58 = $rt.builtin.sliceSlice($t55_56.$get(), undefined, undefined, undefined);
 168          $t58_59 = $rt.builtin.appendSlice($t39_40, $t57_58);
 169          $t52_53 = $t58_59;
 170          $block = 9; break;
 171          break;
 172        }
 173        case 11: {
 174          $t59_60 = ($t21_22 & 63);
 175          $t60_61 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.addr($t59_60);
 176          $t61_62 = $t60_61.$get();
 177          $t62_63 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 178          $t63_64 = $t62_63.$get().addr(0);
 179          $t63_64.$set($t61_62);
 180          $t64_65 = $rt.builtin.sliceSlice($t62_63.$get(), undefined, undefined, undefined);
 181          $t65_66 = $rt.builtin.appendSlice($t52_53, $t64_65);
 182          $t66_67 = $t65_66;
 183          $block = 12; break;
 184          break;
 185        }
 186        case 12: {
 187          $t67_68 = ($t6_7 + 3);
 188          $t5_6 = $t66_67;
 189          $t6_7 = $t67_68;
 190          $block = 1; break;
 191          break;
 192        }
 193        case 13: {
 194          $t68_69 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 195          $t69_70 = $t68_69.$get().addr(0);
 196          $t69_70.$set(61);
 197          $t70_71 = $rt.builtin.sliceSlice($t68_69.$get(), undefined, undefined, undefined);
 198          $t71_72 = $rt.builtin.appendSlice($t52_53, $t70_71);
 199          $t66_67 = $t71_72;
 200          $block = 12; break;
 201          break;
 202        }
 203      }
 204    }
 205  }
 206  
 207  export function Base64Decode(s) {
 208    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38;
 209    let $block = 0;
 210    while (true) {
 211      switch ($block) {
 212        case 0: {
 213          $t0_1 = $rt.builtin.len(s);
 214          $t6_7 = $t0_1;
 215          $t7_8 = 0;
 216          $block = 3; break;
 217          break;
 218        }
 219        case 1: {
 220          $t1_2 = ($t7_8 + 1);
 221          $t2_3 = ($t6_7 - 1);
 222          $t6_7 = $t2_3;
 223          $t7_8 = $t1_2;
 224          $block = 3; break;
 225          break;
 226        }
 227        case 2: {
 228          $t3_4 = ($t6_7 * 3);
 229          $t4_5 = Math.trunc($t3_4 / 4);
 230          $t5_6 = $rt.builtin.makeSlice(0, $t4_5, 0);
 231          $t13_14 = $t5_6;
 232          $t14_15 = 0;
 233          $t15_16 = 0;
 234          $t16_17 = 0;
 235          $block = 5; break;
 236          break;
 237        }
 238        case 3: {
 239          $t8_9 = ($t6_7 > 0);
 240          if ($t8_9) {
 241            $block = 4; break;
 242          }
 243          else {
 244            $block = 2; break;
 245          }
 246          break;
 247        }
 248        case 4: {
 249          $t9_10 = ($t6_7 - 1);
 250          $t10_11 = s.addr($t9_10);
 251          $t11_12 = $t10_11.$get();
 252          $t12_13 = ($t11_12 === 61);
 253          if ($t12_13) {
 254            $block = 1; break;
 255          }
 256          else {
 257            $block = 2; break;
 258          }
 259          break;
 260        }
 261        case 5: {
 262          $t17_18 = ($t16_17 < $t6_7);
 263          if ($t17_18) {
 264            $block = 6; break;
 265          }
 266          else {
 267            $block = 7; break;
 268          }
 269          break;
 270        }
 271        case 6: {
 272          $t18_19 = s.addr($t16_17);
 273          $t19_20 = $t18_19.$get();
 274          $t20_21 = b64val($t19_20);
 275          $t21_22 = ($t20_21 < 0);
 276          if ($t21_22) {
 277            $block = 8; break;
 278          }
 279          else {
 280            $block = 9; break;
 281          }
 282          break;
 283        }
 284        case 7: {
 285          return $t13_14;
 286          break;
 287        }
 288        case 8: {
 289          return null;
 290          break;
 291        }
 292        case 9: {
 293          $t22_23 = (($t14_15 << 6) >>> 0);
 294          $t23_24 = ($t20_21 >>> 0);
 295          $t24_25 = (($t22_23 + $t23_24) >>> 0);
 296          $t25_26 = ($t15_16 + 6);
 297          $t26_27 = ($t25_26 >= 8);
 298          if ($t26_27) {
 299            $block = 10; break;
 300          }
 301          else {
 302            $t35_36 = $t13_14;
 303            $t36_37 = $t25_26;
 304            $block = 11; break;
 305          }
 306          break;
 307        }
 308        case 10: {
 309          $t27_28 = ($t25_26 - 8);
 310          $t28_29 = $t27_28;
 311          $t29_30 = ($t24_25 >>> $t28_29);
 312          $t30_31 = ($t29_30 & 0xFF);
 313          $t31_32 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 314          $t32_33 = $t31_32.$get().addr(0);
 315          $t32_33.$set($t30_31);
 316          $t33_34 = $rt.builtin.sliceSlice($t31_32.$get(), undefined, undefined, undefined);
 317          $t34_35 = $rt.builtin.appendSlice($t13_14, $t33_34);
 318          $t35_36 = $t34_35;
 319          $t36_37 = $t27_28;
 320          $block = 11; break;
 321          break;
 322        }
 323        case 11: {
 324          $t37_38 = ($t16_17 + 1);
 325          $t13_14 = $t35_36;
 326          $t14_15 = $t24_25;
 327          $t15_16 = $t36_37;
 328          $t16_17 = $t37_38;
 329          $block = 5; break;
 330          break;
 331        }
 332      }
 333    }
 334  }
 335  
 336  export function b64val(c) {
 337    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16;
 338    let $block = 0;
 339    while (true) {
 340      switch ($block) {
 341        case 0: {
 342          $t0_1 = (c >= 65);
 343          if ($t0_1) {
 344            $block = 4; break;
 345          }
 346          else {
 347            $block = 3; break;
 348          }
 349          break;
 350        }
 351        case 1: {
 352          $t1_2 = ((c - 65) & 0xFF);
 353          $t2_3 = $t1_2;
 354          return $t2_3;
 355          break;
 356        }
 357        case 2: {
 358          $t3_4 = ((c - 97) & 0xFF);
 359          $t4_5 = $t3_4;
 360          $t5_6 = ($t4_5 + 26);
 361          return $t5_6;
 362          break;
 363        }
 364        case 3: {
 365          $t6_7 = (c >= 97);
 366          if ($t6_7) {
 367            $block = 7; break;
 368          }
 369          else {
 370            $block = 6; break;
 371          }
 372          break;
 373        }
 374        case 4: {
 375          $t7_8 = (c <= 90);
 376          if ($t7_8) {
 377            $block = 1; break;
 378          }
 379          else {
 380            $block = 3; break;
 381          }
 382          break;
 383        }
 384        case 5: {
 385          $t8_9 = ((c - 48) & 0xFF);
 386          $t9_10 = $t8_9;
 387          $t10_11 = ($t9_10 + 52);
 388          return $t10_11;
 389          break;
 390        }
 391        case 6: {
 392          $t11_12 = (c >= 48);
 393          if ($t11_12) {
 394            $block = 10; break;
 395          }
 396          else {
 397            $block = 9; break;
 398          }
 399          break;
 400        }
 401        case 7: {
 402          $t12_13 = (c <= 122);
 403          if ($t12_13) {
 404            $block = 2; break;
 405          }
 406          else {
 407            $block = 6; break;
 408          }
 409          break;
 410        }
 411        case 8: {
 412          return 62;
 413          break;
 414        }
 415        case 9: {
 416          $t13_14 = (c === 43);
 417          if ($t13_14) {
 418            $block = 8; break;
 419          }
 420          else {
 421            $block = 12; break;
 422          }
 423          break;
 424        }
 425        case 10: {
 426          $t14_15 = (c <= 57);
 427          if ($t14_15) {
 428            $block = 5; break;
 429          }
 430          else {
 431            $block = 9; break;
 432          }
 433          break;
 434        }
 435        case 11: {
 436          return 63;
 437          break;
 438        }
 439        case 12: {
 440          $t15_16 = (c === 47);
 441          if ($t15_16) {
 442            $block = 11; break;
 443          }
 444          else {
 445            $block = 13; break;
 446          }
 447          break;
 448        }
 449        case 13: {
 450          return -1;
 451          break;
 452        }
 453      }
 454    }
 455  }
 456  
 457  export function Bech32Encode(hrp, data) {
 458    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26;
 459    let $block = 0;
 460    while (true) {
 461      switch ($block) {
 462        case 0: {
 463          $t0_1 = bytesToBase32(data);
 464          $t1_2 = bech32Checksum(hrp, $t0_1);
 465          $t2_3 = $rt.builtin.appendSlice($t0_1, $t1_2);
 466          $t3_4 = $rt.builtin.len(hrp);
 467          $t4_5 = ($t3_4 + 1);
 468          $t5_6 = $rt.builtin.len($t2_3);
 469          $t6_7 = ($t4_5 + $t5_6);
 470          $t7_8 = $rt.builtin.makeSlice(0, $t6_7, 0);
 471          $t8_9 = $rt.builtin.appendString($t7_8, hrp);
 472          $t9_10 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 473          $t10_11 = $t9_10.$get().addr(0);
 474          $t10_11.$set(49);
 475          $t11_12 = $rt.builtin.sliceSlice($t9_10.$get(), undefined, undefined, undefined);
 476          $t12_13 = $rt.builtin.appendSlice($t8_9, $t11_12);
 477          $t13_14 = $rt.builtin.len($t2_3);
 478          $t14_15 = $t12_13;
 479          $t15_16 = -1;
 480          $block = 1; break;
 481          break;
 482        }
 483        case 1: {
 484          $t16_17 = ($t15_16 + 1);
 485          $t17_18 = ($t16_17 < $t13_14);
 486          if ($t17_18) {
 487            $block = 2; break;
 488          }
 489          else {
 490            $block = 3; break;
 491          }
 492          break;
 493        }
 494        case 2: {
 495          $t18_19 = $t2_3.addr($t16_17);
 496          $t19_20 = $t18_19.$get();
 497          $t20_21 = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l'.addr($t19_20);
 498          $t21_22 = $t20_21.$get();
 499          $t22_23 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 500          $t23_24 = $t22_23.$get().addr(0);
 501          $t23_24.$set($t21_22);
 502          $t24_25 = $rt.builtin.sliceSlice($t22_23.$get(), undefined, undefined, undefined);
 503          $t25_26 = $rt.builtin.appendSlice($t14_15, $t24_25);
 504          $t14_15 = $t25_26;
 505          $t15_16 = $t16_17;
 506          $block = 1; break;
 507          break;
 508        }
 509        case 3: {
 510          return $t14_15;
 511          break;
 512        }
 513      }
 514    }
 515  }
 516  
 517  export function Bech32Decode(s) {
 518    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33;
 519    let $block = 0;
 520    while (true) {
 521      switch ($block) {
 522        case 0: {
 523          $t0_1 = $rt.builtin.len(s);
 524          $t1_2 = ($t0_1 - 1);
 525          $t2_3 = $t1_2;
 526          $block = 1; break;
 527          break;
 528        }
 529        case 1: {
 530          $t3_4 = ($t2_3 >= 0);
 531          if ($t3_4) {
 532            $block = 2; break;
 533          }
 534          else {
 535            $t7_8 = -1;
 536            $block = 3; break;
 537          }
 538          break;
 539        }
 540        case 2: {
 541          $t4_5 = s.addr($t2_3);
 542          $t5_6 = $t4_5.$get();
 543          $t6_7 = ($t5_6 === 49);
 544          if ($t6_7) {
 545            $block = 4; break;
 546          }
 547          else {
 548            $block = 5; break;
 549          }
 550          break;
 551        }
 552        case 3: {
 553          $t8_9 = ($t7_8 < 1);
 554          if ($t8_9) {
 555            $block = 6; break;
 556          }
 557          else {
 558            $block = 8; break;
 559          }
 560          break;
 561        }
 562        case 4: {
 563          $t7_8 = $t2_3;
 564          $block = 3; break;
 565          break;
 566        }
 567        case 5: {
 568          $t9_10 = ($t2_3 - 1);
 569          $t2_3 = $t9_10;
 570          $block = 1; break;
 571          break;
 572        }
 573        case 6: {
 574          return ['', null];
 575          break;
 576        }
 577        case 7: {
 578          $t10_11 = $rt.builtin.stringSlice(s, undefined, $t7_8);
 579          $t11_12 = ($t7_8 + 1);
 580          $t12_13 = $rt.builtin.stringSlice(s, $t11_12, undefined);
 581          $t13_14 = $rt.builtin.len($t12_13);
 582          $t14_15 = $rt.builtin.makeSlice($t13_14, $t13_14, 0);
 583          $t18_19 = 0;
 584          $block = 9; break;
 585          break;
 586        }
 587        case 8: {
 588          $t15_16 = ($t7_8 + 7);
 589          $t16_17 = $rt.builtin.len(s);
 590          $t17_18 = ($t15_16 > $t16_17);
 591          if ($t17_18) {
 592            $block = 6; break;
 593          }
 594          else {
 595            $block = 7; break;
 596          }
 597          break;
 598        }
 599        case 9: {
 600          $t19_20 = $rt.builtin.len($t12_13);
 601          $t20_21 = ($t18_19 < $t19_20);
 602          if ($t20_21) {
 603            $block = 10; break;
 604          }
 605          else {
 606            $block = 11; break;
 607          }
 608          break;
 609        }
 610        case 10: {
 611          $t21_22 = $t12_13.addr($t18_19);
 612          $t22_23 = $t21_22.$get();
 613          $t23_24 = charsetIndex($t22_23);
 614          $t24_25 = ($t23_24 < 0);
 615          if ($t24_25) {
 616            $block = 12; break;
 617          }
 618          else {
 619            $block = 13; break;
 620          }
 621          break;
 622        }
 623        case 11: {
 624          $t25_26 = bech32Verify($t10_11, $t14_15);
 625          if ($t25_26) {
 626            $block = 15; break;
 627          }
 628          else {
 629            $block = 14; break;
 630          }
 631          break;
 632        }
 633        case 12: {
 634          return ['', null];
 635          break;
 636        }
 637        case 13: {
 638          $t26_27 = ($t23_24 & 0xFF);
 639          $t27_28 = $t14_15.addr($t18_19);
 640          $t27_28.$set($t26_27);
 641          $t28_29 = ($t18_19 + 1);
 642          $t18_19 = $t28_29;
 643          $block = 9; break;
 644          break;
 645        }
 646        case 14: {
 647          return ['', null];
 648          break;
 649        }
 650        case 15: {
 651          $t29_30 = $rt.builtin.len($t14_15);
 652          $t30_31 = ($t29_30 - 6);
 653          $t31_32 = $rt.builtin.sliceSlice($t14_15, undefined, $t30_31, undefined);
 654          $t32_33 = base32ToBytes($t31_32);
 655          return [$t10_11, $t32_33];
 656          break;
 657        }
 658      }
 659    }
 660  }
 661  
 662  export function EncodeNpub(pubkey) {
 663    let $t0_1;
 664    $t0_1 = Bech32Encode('npub', pubkey);
 665    return $t0_1;
 666  }
 667  
 668  export function EncodeNsec(seckey) {
 669    let $t0_1;
 670    $t0_1 = Bech32Encode('nsec', seckey);
 671    return $t0_1;
 672  }
 673  
 674  export function EncodeNote(eventID) {
 675    let $t0_1;
 676    $t0_1 = Bech32Encode('note', eventID);
 677    return $t0_1;
 678  }
 679  
 680  export function EncodeNevent(id, relays, author) {
 681    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37;
 682    let $block = 0;
 683    while (true) {
 684      switch ($block) {
 685        case 0: {
 686          $t0_1 = HexDecode(id);
 687          $t1_2 = $rt.builtin.len($t0_1);
 688          $t2_3 = ($t1_2 === 32);
 689          if ($t2_3) {
 690            $block = 1; break;
 691          }
 692          else {
 693            $t9_10 = null;
 694            $block = 2; break;
 695          }
 696          break;
 697        }
 698        case 1: {
 699          $t3_4 = { $value: $rt.builtin.makeSlice(2, 2, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 700          $t4_5 = $t3_4.$get().addr(0);
 701          $t4_5.$set(0);
 702          $t5_6 = $t3_4.$get().addr(1);
 703          $t5_6.$set(32);
 704          $t6_7 = $rt.builtin.sliceSlice($t3_4.$get(), undefined, undefined, undefined);
 705          $t7_8 = $rt.builtin.appendSlice(null, $t6_7);
 706          $t8_9 = $rt.builtin.appendSlice($t7_8, $t0_1);
 707          $t9_10 = $t8_9;
 708          $block = 2; break;
 709          break;
 710        }
 711        case 2: {
 712          $t10_11 = $rt.builtin.len(relays);
 713          $t11_12 = $t9_10;
 714          $t12_13 = -1;
 715          $block = 3; break;
 716          break;
 717        }
 718        case 3: {
 719          $t13_14 = ($t12_13 + 1);
 720          $t14_15 = ($t13_14 < $t10_11);
 721          if ($t14_15) {
 722            $block = 4; break;
 723          }
 724          else {
 725            $block = 5; break;
 726          }
 727          break;
 728        }
 729        case 4: {
 730          $t15_16 = relays.addr($t13_14);
 731          $t16_17 = $t15_16.$get();
 732          $t17_18 = $rt.builtin.len($t16_17);
 733          $t18_19 = ($t17_18 & 0xFF);
 734          $t19_20 = { $value: $rt.builtin.makeSlice(2, 2, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 735          $t20_21 = $t19_20.$get().addr(0);
 736          $t20_21.$set(1);
 737          $t21_22 = $t19_20.$get().addr(1);
 738          $t21_22.$set($t18_19);
 739          $t22_23 = $rt.builtin.sliceSlice($t19_20.$get(), undefined, undefined, undefined);
 740          $t23_24 = $rt.builtin.appendSlice($t11_12, $t22_23);
 741          $t24_25 = $rt.builtin.appendString($t23_24, $t16_17);
 742          $t11_12 = $t24_25;
 743          $t12_13 = $t13_14;
 744          $block = 3; break;
 745          break;
 746        }
 747        case 5: {
 748          $t25_26 = !$rt.builtin.stringEqual(author, '');
 749          if ($t25_26) {
 750            $block = 6; break;
 751          }
 752          else {
 753            $t29_30 = $t11_12;
 754            $block = 7; break;
 755          }
 756          break;
 757        }
 758        case 6: {
 759          $t26_27 = HexDecode(author);
 760          $t27_28 = $rt.builtin.len($t26_27);
 761          $t28_29 = ($t27_28 === 32);
 762          if ($t28_29) {
 763            $block = 8; break;
 764          }
 765          else {
 766            $t29_30 = $t11_12;
 767            $block = 7; break;
 768          }
 769          break;
 770        }
 771        case 7: {
 772          $t30_31 = Bech32Encode('nevent', $t29_30);
 773          return $t30_31;
 774          break;
 775        }
 776        case 8: {
 777          $t31_32 = { $value: $rt.builtin.makeSlice(2, 2, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 778          $t32_33 = $t31_32.$get().addr(0);
 779          $t32_33.$set(2);
 780          $t33_34 = $t31_32.$get().addr(1);
 781          $t33_34.$set(32);
 782          $t34_35 = $rt.builtin.sliceSlice($t31_32.$get(), undefined, undefined, undefined);
 783          $t35_36 = $rt.builtin.appendSlice($t11_12, $t34_35);
 784          $t36_37 = $rt.builtin.appendSlice($t35_36, $t26_27);
 785          $t29_30 = $t36_37;
 786          $block = 7; break;
 787          break;
 788        }
 789      }
 790    }
 791  }
 792  
 793  export function DecodeNpub(s) {
 794    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
 795    let $block = 0;
 796    while (true) {
 797      switch ($block) {
 798        case 0: {
 799          $t0_1 = Bech32Decode(s);
 800          $t1_2 = $t0_1[0];
 801          $t2_3 = $t0_1[1];
 802          $t3_4 = !$rt.builtin.stringEqual($t1_2, 'npub');
 803          if ($t3_4) {
 804            $block = 1; break;
 805          }
 806          else {
 807            $block = 3; break;
 808          }
 809          break;
 810        }
 811        case 1: {
 812          return null;
 813          break;
 814        }
 815        case 2: {
 816          return $t2_3;
 817          break;
 818        }
 819        case 3: {
 820          $t4_5 = $rt.builtin.len($t2_3);
 821          $t5_6 = ($t4_5 !== 32);
 822          if ($t5_6) {
 823            $block = 1; break;
 824          }
 825          else {
 826            $block = 2; break;
 827          }
 828          break;
 829        }
 830      }
 831    }
 832  }
 833  
 834  export function DecodeNsec(s) {
 835    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
 836    let $block = 0;
 837    while (true) {
 838      switch ($block) {
 839        case 0: {
 840          $t0_1 = Bech32Decode(s);
 841          $t1_2 = $t0_1[0];
 842          $t2_3 = $t0_1[1];
 843          $t3_4 = !$rt.builtin.stringEqual($t1_2, 'nsec');
 844          if ($t3_4) {
 845            $block = 1; break;
 846          }
 847          else {
 848            $block = 3; break;
 849          }
 850          break;
 851        }
 852        case 1: {
 853          return null;
 854          break;
 855        }
 856        case 2: {
 857          return $t2_3;
 858          break;
 859        }
 860        case 3: {
 861          $t4_5 = $rt.builtin.len($t2_3);
 862          $t5_6 = ($t4_5 !== 32);
 863          if ($t5_6) {
 864            $block = 1; break;
 865          }
 866          else {
 867            $block = 2; break;
 868          }
 869          break;
 870        }
 871      }
 872    }
 873  }
 874  
 875  export function DecodeNote(s) {
 876    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
 877    let $block = 0;
 878    while (true) {
 879      switch ($block) {
 880        case 0: {
 881          $t0_1 = Bech32Decode(s);
 882          $t1_2 = $t0_1[0];
 883          $t2_3 = $t0_1[1];
 884          $t3_4 = !$rt.builtin.stringEqual($t1_2, 'note');
 885          if ($t3_4) {
 886            $block = 1; break;
 887          }
 888          else {
 889            $block = 3; break;
 890          }
 891          break;
 892        }
 893        case 1: {
 894          return null;
 895          break;
 896        }
 897        case 2: {
 898          return $t2_3;
 899          break;
 900        }
 901        case 3: {
 902          $t4_5 = $rt.builtin.len($t2_3);
 903          $t5_6 = ($t4_5 !== 32);
 904          if ($t5_6) {
 905            $block = 1; break;
 906          }
 907          else {
 908            $block = 2; break;
 909          }
 910          break;
 911        }
 912      }
 913    }
 914  }
 915  
 916  export function DecodeNevent(s) {
 917    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41;
 918    let $block = 0;
 919    while (true) {
 920      switch ($block) {
 921        case 0: {
 922          $t0_1 = Bech32Decode(s);
 923          $t1_2 = $t0_1[0];
 924          $t2_3 = $t0_1[1];
 925          $t3_4 = !$rt.builtin.stringEqual($t1_2, 'nevent');
 926          if ($t3_4) {
 927            $block = 1; break;
 928          }
 929          else {
 930            $block = 2; break;
 931          }
 932          break;
 933        }
 934        case 1: {
 935          return null;
 936          break;
 937        }
 938        case 2: {
 939          $t4_5 = { $value: { ID: '', Relays: null, Author: '' }, $get() { return this.$value; }, $set(v) { this.$value = v; } };
 940          $t18_19 = 0;
 941          $block = 5; break;
 942          break;
 943        }
 944        case 3: {
 945          $t5_6 = $t2_3.addr($t18_19);
 946          $t6_7 = $t5_6.$get();
 947          $t7_8 = ($t18_19 + 1);
 948          $t8_9 = $t2_3.addr($t7_8);
 949          $t9_10 = $t8_9.$get();
 950          $t10_11 = $t9_10;
 951          $t11_12 = ($t18_19 + 2);
 952          $t12_13 = ($t11_12 + $t10_11);
 953          $t13_14 = $rt.builtin.len($t2_3);
 954          $t14_15 = ($t12_13 > $t13_14);
 955          if ($t14_15) {
 956            $block = 4; break;
 957          }
 958          else {
 959            $block = 6; break;
 960          }
 961          break;
 962        }
 963        case 4: {
 964          $t15_16 = { $get() { return $t4_5.$get().ID; }, $set(v) { const obj = $t4_5.$get(); obj.ID = v; $t4_5.$set(obj); } };
 965          $t16_17 = $t15_16.$get();
 966          $t17_18 = $rt.builtin.stringEqual($t16_17, '');
 967          if ($t17_18) {
 968            $block = 14; break;
 969          }
 970          else {
 971            $block = 15; break;
 972          }
 973          break;
 974        }
 975        case 5: {
 976          $t19_20 = ($t18_19 + 2);
 977          $t20_21 = $rt.builtin.len($t2_3);
 978          $t21_22 = ($t19_20 <= $t20_21);
 979          if ($t21_22) {
 980            $block = 3; break;
 981          }
 982          else {
 983            $block = 4; break;
 984          }
 985          break;
 986        }
 987        case 6: {
 988          $t22_23 = ($t11_12 + $t10_11);
 989          $t23_24 = $rt.builtin.sliceSlice($t2_3, $t11_12, $t22_23, undefined);
 990          $t24_25 = ($t11_12 + $t10_11);
 991          $t25_26 = ($t6_7 === 0);
 992          if ($t25_26) {
 993            $block = 7; break;
 994          }
 995          else {
 996            $block = 9; break;
 997          }
 998          break;
 999        }
1000        case 7: {
1001          $t26_27 = ($t10_11 === 32);
1002          if ($t26_27) {
1003            $block = 10; break;
1004          }
1005          else {
1006            $t18_19 = $t24_25;
1007            $block = 5; break;
1008          }
1009          break;
1010        }
1011        case 8: {
1012          $t27_28 = { $get() { return $t4_5.$get().Relays; }, $set(v) { const obj = $t4_5.$get(); obj.Relays = v; $t4_5.$set(obj); } };
1013          $t28_29 = $t27_28.$get();
1014          $t29_30 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1015          $t30_31 = $t29_30.$get().addr(0);
1016          $t30_31.$set($t23_24);
1017          $t31_32 = $rt.builtin.sliceSlice($t29_30.$get(), undefined, undefined, undefined);
1018          $t32_33 = $rt.builtin.appendSlice($t28_29, $t31_32);
1019          $t33_34 = { $get() { return $t4_5.$get().Relays; }, $set(v) { const obj = $t4_5.$get(); obj.Relays = v; $t4_5.$set(obj); } };
1020          $t33_34.$set($t32_33);
1021          $t18_19 = $t24_25;
1022          $block = 5; break;
1023          break;
1024        }
1025        case 9: {
1026          $t34_35 = ($t6_7 === 1);
1027          if ($t34_35) {
1028            $block = 8; break;
1029          }
1030          else {
1031            $block = 12; break;
1032          }
1033          break;
1034        }
1035        case 10: {
1036          $t35_36 = HexEncode($t23_24);
1037          $t36_37 = { $get() { return $t4_5.$get().ID; }, $set(v) { const obj = $t4_5.$get(); obj.ID = v; $t4_5.$set(obj); } };
1038          $t36_37.$set($t35_36);
1039          $t18_19 = $t24_25;
1040          $block = 5; break;
1041          break;
1042        }
1043        case 11: {
1044          $t37_38 = ($t10_11 === 32);
1045          if ($t37_38) {
1046            $block = 13; break;
1047          }
1048          else {
1049            $t18_19 = $t24_25;
1050            $block = 5; break;
1051          }
1052          break;
1053        }
1054        case 12: {
1055          $t38_39 = ($t6_7 === 2);
1056          if ($t38_39) {
1057            $block = 11; break;
1058          }
1059          else {
1060            $t18_19 = $t24_25;
1061            $block = 5; break;
1062          }
1063          break;
1064        }
1065        case 13: {
1066          $t39_40 = HexEncode($t23_24);
1067          $t40_41 = { $get() { return $t4_5.$get().Author; }, $set(v) { const obj = $t4_5.$get(); obj.Author = v; $t4_5.$set(obj); } };
1068          $t40_41.$set($t39_40);
1069          $t18_19 = $t24_25;
1070          $block = 5; break;
1071          break;
1072        }
1073        case 14: {
1074          return null;
1075          break;
1076        }
1077        case 15: {
1078          return $t4_5;
1079          break;
1080        }
1081      }
1082    }
1083  }
1084  
1085  export function DecodeNprofile(s) {
1086    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37;
1087    let $block = 0;
1088    while (true) {
1089      switch ($block) {
1090        case 0: {
1091          $t0_1 = Bech32Decode(s);
1092          $t1_2 = $t0_1[0];
1093          $t2_3 = $t0_1[1];
1094          $t3_4 = !$rt.builtin.stringEqual($t1_2, 'nprofile');
1095          if ($t3_4) {
1096            $block = 1; break;
1097          }
1098          else {
1099            $block = 2; break;
1100          }
1101          break;
1102        }
1103        case 1: {
1104          return null;
1105          break;
1106        }
1107        case 2: {
1108          $t4_5 = { $value: { Pubkey: '', Relays: null }, $get() { return this.$value; }, $set(v) { this.$value = v; } };
1109          $t18_19 = 0;
1110          $block = 5; break;
1111          break;
1112        }
1113        case 3: {
1114          $t5_6 = $t2_3.addr($t18_19);
1115          $t6_7 = $t5_6.$get();
1116          $t7_8 = ($t18_19 + 1);
1117          $t8_9 = $t2_3.addr($t7_8);
1118          $t9_10 = $t8_9.$get();
1119          $t10_11 = $t9_10;
1120          $t11_12 = ($t18_19 + 2);
1121          $t12_13 = ($t11_12 + $t10_11);
1122          $t13_14 = $rt.builtin.len($t2_3);
1123          $t14_15 = ($t12_13 > $t13_14);
1124          if ($t14_15) {
1125            $block = 4; break;
1126          }
1127          else {
1128            $block = 6; break;
1129          }
1130          break;
1131        }
1132        case 4: {
1133          $t15_16 = { $get() { return $t4_5.$get().Pubkey; }, $set(v) { const obj = $t4_5.$get(); obj.Pubkey = v; $t4_5.$set(obj); } };
1134          $t16_17 = $t15_16.$get();
1135          $t17_18 = $rt.builtin.stringEqual($t16_17, '');
1136          if ($t17_18) {
1137            $block = 11; break;
1138          }
1139          else {
1140            $block = 12; break;
1141          }
1142          break;
1143        }
1144        case 5: {
1145          $t19_20 = ($t18_19 + 2);
1146          $t20_21 = $rt.builtin.len($t2_3);
1147          $t21_22 = ($t19_20 <= $t20_21);
1148          if ($t21_22) {
1149            $block = 3; break;
1150          }
1151          else {
1152            $block = 4; break;
1153          }
1154          break;
1155        }
1156        case 6: {
1157          $t22_23 = ($t11_12 + $t10_11);
1158          $t23_24 = $rt.builtin.sliceSlice($t2_3, $t11_12, $t22_23, undefined);
1159          $t24_25 = ($t11_12 + $t10_11);
1160          $t25_26 = ($t6_7 === 0);
1161          if ($t25_26) {
1162            $block = 7; break;
1163          }
1164          else {
1165            $block = 9; break;
1166          }
1167          break;
1168        }
1169        case 7: {
1170          $t26_27 = ($t10_11 === 32);
1171          if ($t26_27) {
1172            $block = 10; break;
1173          }
1174          else {
1175            $t18_19 = $t24_25;
1176            $block = 5; break;
1177          }
1178          break;
1179        }
1180        case 8: {
1181          $t27_28 = { $get() { return $t4_5.$get().Relays; }, $set(v) { const obj = $t4_5.$get(); obj.Relays = v; $t4_5.$set(obj); } };
1182          $t28_29 = $t27_28.$get();
1183          $t29_30 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1184          $t30_31 = $t29_30.$get().addr(0);
1185          $t30_31.$set($t23_24);
1186          $t31_32 = $rt.builtin.sliceSlice($t29_30.$get(), undefined, undefined, undefined);
1187          $t32_33 = $rt.builtin.appendSlice($t28_29, $t31_32);
1188          $t33_34 = { $get() { return $t4_5.$get().Relays; }, $set(v) { const obj = $t4_5.$get(); obj.Relays = v; $t4_5.$set(obj); } };
1189          $t33_34.$set($t32_33);
1190          $t18_19 = $t24_25;
1191          $block = 5; break;
1192          break;
1193        }
1194        case 9: {
1195          $t34_35 = ($t6_7 === 1);
1196          if ($t34_35) {
1197            $block = 8; break;
1198          }
1199          else {
1200            $t18_19 = $t24_25;
1201            $block = 5; break;
1202          }
1203          break;
1204        }
1205        case 10: {
1206          $t35_36 = HexEncode($t23_24);
1207          $t36_37 = { $get() { return $t4_5.$get().Pubkey; }, $set(v) { const obj = $t4_5.$get(); obj.Pubkey = v; $t4_5.$set(obj); } };
1208          $t36_37.$set($t35_36);
1209          $t18_19 = $t24_25;
1210          $block = 5; break;
1211          break;
1212        }
1213        case 11: {
1214          return null;
1215          break;
1216        }
1217        case 12: {
1218          return $t4_5;
1219          break;
1220        }
1221      }
1222    }
1223  }
1224  
1225  export function PubkeyShort(pubkey) {
1226    let $t0_1, $t1_2, $t2_3;
1227    let $block = 0;
1228    while (true) {
1229      switch ($block) {
1230        case 0: {
1231          $t0_1 = $rt.builtin.len(pubkey);
1232          $t1_2 = ($t0_1 >= 8);
1233          if ($t1_2) {
1234            $block = 1; break;
1235          }
1236          else {
1237            $block = 2; break;
1238          }
1239          break;
1240        }
1241        case 1: {
1242          $t2_3 = $rt.builtin.stringSlice(pubkey, undefined, 8);
1243          return $t2_3;
1244          break;
1245        }
1246        case 2: {
1247          return pubkey;
1248          break;
1249        }
1250      }
1251    }
1252  }
1253  
1254  export function bytesToBase32(data) {
1255    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38;
1256    let $block = 0;
1257    while (true) {
1258      switch ($block) {
1259        case 0: {
1260          $t0_1 = $rt.builtin.len(data);
1261          $t1_2 = null;
1262          $t2_3 = 0;
1263          $t3_4 = 0;
1264          $t4_5 = -1;
1265          $block = 1; break;
1266          break;
1267        }
1268        case 1: {
1269          $t5_6 = ($t4_5 + 1);
1270          $t6_7 = ($t5_6 < $t0_1);
1271          if ($t6_7) {
1272            $block = 2; break;
1273          }
1274          else {
1275            $block = 3; break;
1276          }
1277          break;
1278        }
1279        case 2: {
1280          $t7_8 = data.addr($t5_6);
1281          $t8_9 = $t7_8.$get();
1282          $t9_10 = ($t2_3 << 8);
1283          $t10_11 = $t8_9;
1284          $t11_12 = ($t9_10 + $t10_11);
1285          $t12_13 = ($t3_4 + 8);
1286          $t26_27 = $t1_2;
1287          $t27_28 = $t12_13;
1288          $block = 6; break;
1289          break;
1290        }
1291        case 3: {
1292          $t13_14 = ($t3_4 > 0);
1293          if ($t13_14) {
1294            $block = 7; break;
1295          }
1296          else {
1297            $t37_38 = $t1_2;
1298            $block = 8; break;
1299          }
1300          break;
1301        }
1302        case 4: {
1303          $t14_15 = ($t27_28 - 5);
1304          $t15_16 = ($t11_12 >> $t14_15);
1305          $t16_17 = ($t15_16 & 31);
1306          $t17_18 = ($t16_17 & 0xFF);
1307          $t18_19 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1308          $t19_20 = $t18_19.$get().addr(0);
1309          $t19_20.$set($t17_18);
1310          $t20_21 = $rt.builtin.sliceSlice($t18_19.$get(), undefined, undefined, undefined);
1311          $t21_22 = $rt.builtin.appendSlice($t26_27, $t20_21);
1312          $t26_27 = $t21_22;
1313          $t27_28 = $t14_15;
1314          $block = 6; break;
1315          break;
1316        }
1317        case 5: {
1318          $t22_23 = $t27_28;
1319          $t23_24 = (1 << $t22_23);
1320          $t24_25 = ($t23_24 - 1);
1321          $t25_26 = ($t11_12 & $t24_25);
1322          $t1_2 = $t26_27;
1323          $t2_3 = $t25_26;
1324          $t3_4 = $t27_28;
1325          $t4_5 = $t5_6;
1326          $block = 1; break;
1327          break;
1328        }
1329        case 6: {
1330          $t28_29 = ($t27_28 >= 5);
1331          if ($t28_29) {
1332            $block = 4; break;
1333          }
1334          else {
1335            $block = 5; break;
1336          }
1337          break;
1338        }
1339        case 7: {
1340          $t29_30 = (5 - $t3_4);
1341          $t30_31 = ($t2_3 << $t29_30);
1342          $t31_32 = ($t30_31 & 31);
1343          $t32_33 = ($t31_32 & 0xFF);
1344          $t33_34 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1345          $t34_35 = $t33_34.$get().addr(0);
1346          $t34_35.$set($t32_33);
1347          $t35_36 = $rt.builtin.sliceSlice($t33_34.$get(), undefined, undefined, undefined);
1348          $t36_37 = $rt.builtin.appendSlice($t1_2, $t35_36);
1349          $t37_38 = $t36_37;
1350          $block = 8; break;
1351          break;
1352        }
1353        case 8: {
1354          return $t37_38;
1355          break;
1356        }
1357      }
1358    }
1359  }
1360  
1361  export function base32ToBytes(data) {
1362    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28;
1363    let $block = 0;
1364    while (true) {
1365      switch ($block) {
1366        case 0: {
1367          $t0_1 = $rt.builtin.len(data);
1368          $t1_2 = null;
1369          $t2_3 = 0;
1370          $t3_4 = 0;
1371          $t4_5 = -1;
1372          $block = 1; break;
1373          break;
1374        }
1375        case 1: {
1376          $t5_6 = ($t4_5 + 1);
1377          $t6_7 = ($t5_6 < $t0_1);
1378          if ($t6_7) {
1379            $block = 2; break;
1380          }
1381          else {
1382            $block = 3; break;
1383          }
1384          break;
1385        }
1386        case 2: {
1387          $t7_8 = data.addr($t5_6);
1388          $t8_9 = $t7_8.$get();
1389          $t9_10 = ($t2_3 << 5);
1390          $t10_11 = $t8_9;
1391          $t11_12 = ($t9_10 + $t10_11);
1392          $t12_13 = ($t3_4 + 5);
1393          $t25_26 = $t1_2;
1394          $t26_27 = $t12_13;
1395          $block = 6; break;
1396          break;
1397        }
1398        case 3: {
1399          return $t1_2;
1400          break;
1401        }
1402        case 4: {
1403          $t13_14 = ($t26_27 - 8);
1404          $t14_15 = ($t11_12 >> $t13_14);
1405          $t15_16 = ($t14_15 & 255);
1406          $t16_17 = ($t15_16 & 0xFF);
1407          $t17_18 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1408          $t18_19 = $t17_18.$get().addr(0);
1409          $t18_19.$set($t16_17);
1410          $t19_20 = $rt.builtin.sliceSlice($t17_18.$get(), undefined, undefined, undefined);
1411          $t20_21 = $rt.builtin.appendSlice($t25_26, $t19_20);
1412          $t25_26 = $t20_21;
1413          $t26_27 = $t13_14;
1414          $block = 6; break;
1415          break;
1416        }
1417        case 5: {
1418          $t21_22 = $t26_27;
1419          $t22_23 = (1 << $t21_22);
1420          $t23_24 = ($t22_23 - 1);
1421          $t24_25 = ($t11_12 & $t23_24);
1422          $t1_2 = $t25_26;
1423          $t2_3 = $t24_25;
1424          $t3_4 = $t26_27;
1425          $t4_5 = $t5_6;
1426          $block = 1; break;
1427          break;
1428        }
1429        case 6: {
1430          $t27_28 = ($t26_27 >= 8);
1431          if ($t27_28) {
1432            $block = 4; break;
1433          }
1434          else {
1435            $block = 5; break;
1436          }
1437          break;
1438        }
1439      }
1440    }
1441  }
1442  
1443  export function bech32Polymod(values) {
1444    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30;
1445    let $block = 0;
1446    while (true) {
1447      switch ($block) {
1448        case 0: {
1449          $t0_1 = { $value: $rt.builtin.makeSlice(5, 5, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1450          $t1_2 = $t0_1.$get().addr(0);
1451          $t2_3 = $t0_1.$get().addr(1);
1452          $t3_4 = $t0_1.$get().addr(2);
1453          $t4_5 = $t0_1.$get().addr(3);
1454          $t5_6 = $t0_1.$get().addr(4);
1455          $t1_2.$set(996825010);
1456          $t2_3.$set(642813549);
1457          $t3_4.$set(513874426);
1458          $t4_5.$set(1027748829);
1459          $t5_6.$set(705979059);
1460          $t6_7 = $rt.builtin.len(values);
1461          $t7_8 = 1;
1462          $t8_9 = -1;
1463          $block = 1; break;
1464          break;
1465        }
1466        case 1: {
1467          $t9_10 = ($t8_9 + 1);
1468          $t10_11 = ($t9_10 < $t6_7);
1469          if ($t10_11) {
1470            $block = 2; break;
1471          }
1472          else {
1473            $block = 3; break;
1474          }
1475          break;
1476        }
1477        case 2: {
1478          $t11_12 = values.addr($t9_10);
1479          $t12_13 = $t11_12.$get();
1480          $t13_14 = ($t7_8 >>> 25);
1481          $t14_15 = (($t7_8 & 33554431) >>> 0);
1482          $t15_16 = (($t14_15 << 5) >>> 0);
1483          $t16_17 = ($t12_13 >>> 0);
1484          $t17_18 = (($t15_16 ^ $t16_17) >>> 0);
1485          $t18_19 = $t17_18;
1486          $t19_20 = 0;
1487          $block = 4; break;
1488          break;
1489        }
1490        case 3: {
1491          return $t7_8;
1492          break;
1493        }
1494        case 4: {
1495          $t20_21 = ($t19_20 < 5);
1496          if ($t20_21) {
1497            $block = 5; break;
1498          }
1499          else {
1500            $t7_8 = $t18_19;
1501            $t8_9 = $t9_10;
1502            $block = 1; break;
1503          }
1504          break;
1505        }
1506        case 5: {
1507          $t21_22 = $t19_20;
1508          $t22_23 = ($t13_14 >>> $t21_22);
1509          $t23_24 = (($t22_23 & 1) >>> 0);
1510          $t24_25 = ($t23_24 === 1);
1511          if ($t24_25) {
1512            $block = 6; break;
1513          }
1514          else {
1515            $t28_29 = $t18_19;
1516            $block = 7; break;
1517          }
1518          break;
1519        }
1520        case 6: {
1521          $t25_26 = $t0_1.$get().addr($t19_20);
1522          $t26_27 = $t25_26.$get();
1523          $t27_28 = (($t18_19 ^ $t26_27) >>> 0);
1524          $t28_29 = $t27_28;
1525          $block = 7; break;
1526          break;
1527        }
1528        case 7: {
1529          $t29_30 = ($t19_20 + 1);
1530          $t18_19 = $t28_29;
1531          $t19_20 = $t29_30;
1532          $block = 4; break;
1533          break;
1534        }
1535      }
1536    }
1537  }
1538  
1539  export function bech32HRPExpand(hrp) {
1540    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32;
1541    let $block = 0;
1542    while (true) {
1543      switch ($block) {
1544        case 0: {
1545          $t0_1 = $rt.builtin.len(hrp);
1546          $t1_2 = ($t0_1 * 2);
1547          $t2_3 = ($t1_2 + 1);
1548          $t3_4 = $rt.builtin.makeSlice(0, $t2_3, 0);
1549          $t4_5 = $t3_4;
1550          $t5_6 = 0;
1551          $block = 1; break;
1552          break;
1553        }
1554        case 1: {
1555          $t6_7 = $rt.builtin.len(hrp);
1556          $t7_8 = ($t5_6 < $t6_7);
1557          if ($t7_8) {
1558            $block = 2; break;
1559          }
1560          else {
1561            $block = 3; break;
1562          }
1563          break;
1564        }
1565        case 2: {
1566          $t8_9 = hrp.addr($t5_6);
1567          $t9_10 = $t8_9.$get();
1568          $t10_11 = (($t9_10 & 0xFF) >> 5);
1569          $t11_12 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1570          $t12_13 = $t11_12.$get().addr(0);
1571          $t12_13.$set($t10_11);
1572          $t13_14 = $rt.builtin.sliceSlice($t11_12.$get(), undefined, undefined, undefined);
1573          $t14_15 = $rt.builtin.appendSlice($t4_5, $t13_14);
1574          $t15_16 = ($t5_6 + 1);
1575          $t4_5 = $t14_15;
1576          $t5_6 = $t15_16;
1577          $block = 1; break;
1578          break;
1579        }
1580        case 3: {
1581          $t16_17 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1582          $t17_18 = $t16_17.$get().addr(0);
1583          $t17_18.$set(0);
1584          $t18_19 = $rt.builtin.sliceSlice($t16_17.$get(), undefined, undefined, undefined);
1585          $t19_20 = $rt.builtin.appendSlice($t4_5, $t18_19);
1586          $t20_21 = $t19_20;
1587          $t21_22 = 0;
1588          $block = 4; break;
1589          break;
1590        }
1591        case 4: {
1592          $t22_23 = $rt.builtin.len(hrp);
1593          $t23_24 = ($t21_22 < $t22_23);
1594          if ($t23_24) {
1595            $block = 5; break;
1596          }
1597          else {
1598            $block = 6; break;
1599          }
1600          break;
1601        }
1602        case 5: {
1603          $t24_25 = hrp.addr($t21_22);
1604          $t25_26 = $t24_25.$get();
1605          $t26_27 = ($t25_26 & 31);
1606          $t27_28 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1607          $t28_29 = $t27_28.$get().addr(0);
1608          $t28_29.$set($t26_27);
1609          $t29_30 = $rt.builtin.sliceSlice($t27_28.$get(), undefined, undefined, undefined);
1610          $t30_31 = $rt.builtin.appendSlice($t20_21, $t29_30);
1611          $t31_32 = ($t21_22 + 1);
1612          $t20_21 = $t30_31;
1613          $t21_22 = $t31_32;
1614          $block = 4; break;
1615          break;
1616        }
1617        case 6: {
1618          return $t20_21;
1619          break;
1620        }
1621      }
1622    }
1623  }
1624  
1625  export function bech32Checksum(hrp, data) {
1626    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25;
1627    let $block = 0;
1628    while (true) {
1629      switch ($block) {
1630        case 0: {
1631          $t0_1 = bech32HRPExpand(hrp);
1632          $t1_2 = $rt.builtin.appendSlice($t0_1, data);
1633          $t2_3 = { $value: $rt.builtin.makeSlice(6, 6, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1634          $t3_4 = $t2_3.$get().addr(0);
1635          $t3_4.$set(0);
1636          $t4_5 = $t2_3.$get().addr(1);
1637          $t4_5.$set(0);
1638          $t5_6 = $t2_3.$get().addr(2);
1639          $t5_6.$set(0);
1640          $t6_7 = $t2_3.$get().addr(3);
1641          $t6_7.$set(0);
1642          $t7_8 = $t2_3.$get().addr(4);
1643          $t7_8.$set(0);
1644          $t8_9 = $t2_3.$get().addr(5);
1645          $t8_9.$set(0);
1646          $t9_10 = $rt.builtin.sliceSlice($t2_3.$get(), undefined, undefined, undefined);
1647          $t10_11 = $rt.builtin.appendSlice($t1_2, $t9_10);
1648          $t11_12 = bech32Polymod($t10_11);
1649          $t12_13 = (($t11_12 ^ 1) >>> 0);
1650          $t13_14 = { $value: $rt.builtin.makeSlice(6, 6, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1651          $t14_15 = $rt.builtin.sliceSlice($t13_14.$get(), undefined, 6, undefined);
1652          $t15_16 = 0;
1653          $block = 1; break;
1654          break;
1655        }
1656        case 1: {
1657          $t16_17 = ($t15_16 < 6);
1658          if ($t16_17) {
1659            $block = 2; break;
1660          }
1661          else {
1662            $block = 3; break;
1663          }
1664          break;
1665        }
1666        case 2: {
1667          $t17_18 = $t15_16;
1668          $t18_19 = ((5 - $t17_18) >>> 0);
1669          $t19_20 = (Math.imul(5, $t18_19) >>> 0);
1670          $t20_21 = ($t12_13 >>> $t19_20);
1671          $t21_22 = (($t20_21 & 31) >>> 0);
1672          $t22_23 = ($t21_22 & 0xFF);
1673          $t23_24 = $t14_15.addr($t15_16);
1674          $t23_24.$set($t22_23);
1675          $t24_25 = ($t15_16 + 1);
1676          $t15_16 = $t24_25;
1677          $block = 1; break;
1678          break;
1679        }
1680        case 3: {
1681          return $t14_15;
1682          break;
1683        }
1684      }
1685    }
1686  }
1687  
1688  export function bech32Verify(hrp, data) {
1689    let $t0_1, $t1_2, $t2_3, $t3_4;
1690    $t0_1 = bech32HRPExpand(hrp);
1691    $t1_2 = $rt.builtin.appendSlice($t0_1, data);
1692    $t2_3 = bech32Polymod($t1_2);
1693    $t3_4 = ($t2_3 === 1);
1694    return $t3_4;
1695  }
1696  
1697  export function charsetIndex(c) {
1698    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
1699    let $block = 0;
1700    while (true) {
1701      switch ($block) {
1702        case 0: {
1703          $t0_1 = 0;
1704          $block = 1; break;
1705          break;
1706        }
1707        case 1: {
1708          $t1_2 = ($t0_1 < 32);
1709          if ($t1_2) {
1710            $block = 2; break;
1711          }
1712          else {
1713            $block = 3; break;
1714          }
1715          break;
1716        }
1717        case 2: {
1718          $t2_3 = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l'.addr($t0_1);
1719          $t3_4 = $t2_3.$get();
1720          $t4_5 = ($t3_4 === c);
1721          if ($t4_5) {
1722            $block = 4; break;
1723          }
1724          else {
1725            $block = 5; break;
1726          }
1727          break;
1728        }
1729        case 3: {
1730          return -1;
1731          break;
1732        }
1733        case 4: {
1734          return $t0_1;
1735          break;
1736        }
1737        case 5: {
1738          $t5_6 = ($t0_1 + 1);
1739          $t0_1 = $t5_6;
1740          $block = 1; break;
1741          break;
1742        }
1743      }
1744    }
1745  }
1746  
1747  export function HexEncode(b) {
1748    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20;
1749    let $block = 0;
1750    while (true) {
1751      switch ($block) {
1752        case 0: {
1753          $t0_1 = $rt.builtin.len(b);
1754          $t1_2 = ($t0_1 * 2);
1755          $t2_3 = $rt.builtin.makeSlice($t1_2, $t1_2, 0);
1756          $t3_4 = $rt.builtin.len(b);
1757          $t4_5 = -1;
1758          $block = 1; break;
1759          break;
1760        }
1761        case 1: {
1762          $t5_6 = ($t4_5 + 1);
1763          $t6_7 = ($t5_6 < $t3_4);
1764          if ($t6_7) {
1765            $block = 2; break;
1766          }
1767          else {
1768            $block = 3; break;
1769          }
1770          break;
1771        }
1772        case 2: {
1773          $t7_8 = b.addr($t5_6);
1774          $t8_9 = $t7_8.$get();
1775          $t9_10 = ($t5_6 * 2);
1776          $t10_11 = (($t8_9 & 0xFF) >> 4);
1777          $t11_12 = '0123456789abcdef'.addr($t10_11);
1778          $t12_13 = $t11_12.$get();
1779          $t13_14 = $t2_3.addr($t9_10);
1780          $t13_14.$set($t12_13);
1781          $t14_15 = ($t5_6 * 2);
1782          $t15_16 = ($t14_15 + 1);
1783          $t16_17 = ($t8_9 & 15);
1784          $t17_18 = '0123456789abcdef'.addr($t16_17);
1785          $t18_19 = $t17_18.$get();
1786          $t19_20 = $t2_3.addr($t15_16);
1787          $t19_20.$set($t18_19);
1788          $t4_5 = $t5_6;
1789          $block = 1; break;
1790          break;
1791        }
1792        case 3: {
1793          return $t2_3;
1794          break;
1795        }
1796      }
1797    }
1798  }
1799  
1800  export function HexDecode(s) {
1801    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24;
1802    let $block = 0;
1803    while (true) {
1804      switch ($block) {
1805        case 0: {
1806          $t0_1 = $rt.builtin.len(s);
1807          $t1_2 = ($t0_1 % 2);
1808          $t2_3 = ($t1_2 !== 0);
1809          if ($t2_3) {
1810            $block = 1; break;
1811          }
1812          else {
1813            $block = 2; break;
1814          }
1815          break;
1816        }
1817        case 1: {
1818          return null;
1819          break;
1820        }
1821        case 2: {
1822          $t3_4 = $rt.builtin.len(s);
1823          $t4_5 = Math.trunc($t3_4 / 2);
1824          $t5_6 = $rt.builtin.makeSlice($t4_5, $t4_5, 0);
1825          $t6_7 = 0;
1826          $block = 3; break;
1827          break;
1828        }
1829        case 3: {
1830          $t7_8 = $rt.builtin.len(s);
1831          $t8_9 = ($t6_7 < $t7_8);
1832          if ($t8_9) {
1833            $block = 4; break;
1834          }
1835          else {
1836            $block = 5; break;
1837          }
1838          break;
1839        }
1840        case 4: {
1841          $t9_10 = s.addr($t6_7);
1842          $t10_11 = $t9_10.$get();
1843          $t11_12 = hexVal($t10_11);
1844          $t12_13 = ($t6_7 + 1);
1845          $t13_14 = s.addr($t12_13);
1846          $t14_15 = $t13_14.$get();
1847          $t15_16 = hexVal($t14_15);
1848          $t16_17 = ($t11_12 < 0);
1849          if ($t16_17) {
1850            $block = 6; break;
1851          }
1852          else {
1853            $block = 8; break;
1854          }
1855          break;
1856        }
1857        case 5: {
1858          return $t5_6;
1859          break;
1860        }
1861        case 6: {
1862          return null;
1863          break;
1864        }
1865        case 7: {
1866          $t17_18 = Math.trunc($t6_7 / 2);
1867          $t18_19 = ($t11_12 << 4);
1868          $t19_20 = ($t18_19 + $t15_16);
1869          $t20_21 = ($t19_20 & 0xFF);
1870          $t21_22 = $t5_6.addr($t17_18);
1871          $t21_22.$set($t20_21);
1872          $t22_23 = ($t6_7 + 2);
1873          $t6_7 = $t22_23;
1874          $block = 3; break;
1875          break;
1876        }
1877        case 8: {
1878          $t23_24 = ($t15_16 < 0);
1879          if ($t23_24) {
1880            $block = 6; break;
1881          }
1882          else {
1883            $block = 7; break;
1884          }
1885          break;
1886        }
1887      }
1888    }
1889  }
1890  
1891  export function HexDecode32(s) {
1892    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27;
1893    let $block = 0;
1894    while (true) {
1895      switch ($block) {
1896        case 0: {
1897          $t0_1 = { $value: $rt.builtin.makeSlice(32, 32, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1898          $t1_2 = $rt.builtin.len(s);
1899          $t2_3 = ($t1_2 !== 64);
1900          if ($t2_3) {
1901            $block = 1; break;
1902          }
1903          else {
1904            $block = 2; break;
1905          }
1906          break;
1907        }
1908        case 1: {
1909          $t3_4 = $t0_1.$get();
1910          $t0_1.$set($rt.builtin.cloneValue($t3_4));
1911          $t4_5 = $t0_1.$get();
1912          return [$t4_5, false];
1913          break;
1914        }
1915        case 2: {
1916          $t5_6 = 0;
1917          $block = 3; break;
1918          break;
1919        }
1920        case 3: {
1921          $t6_7 = ($t5_6 < 32);
1922          if ($t6_7) {
1923            $block = 4; break;
1924          }
1925          else {
1926            $block = 5; break;
1927          }
1928          break;
1929        }
1930        case 4: {
1931          $t7_8 = ($t5_6 * 2);
1932          $t8_9 = s.addr($t7_8);
1933          $t9_10 = $t8_9.$get();
1934          $t10_11 = hexVal($t9_10);
1935          $t11_12 = ($t5_6 * 2);
1936          $t12_13 = ($t11_12 + 1);
1937          $t13_14 = s.addr($t12_13);
1938          $t14_15 = $t13_14.$get();
1939          $t15_16 = hexVal($t14_15);
1940          $t16_17 = ($t10_11 < 0);
1941          if ($t16_17) {
1942            $block = 6; break;
1943          }
1944          else {
1945            $block = 8; break;
1946          }
1947          break;
1948        }
1949        case 5: {
1950          $t17_18 = $t0_1.$get();
1951          $t0_1.$set($rt.builtin.cloneValue($t17_18));
1952          $t18_19 = $t0_1.$get();
1953          return [$t18_19, true];
1954          break;
1955        }
1956        case 6: {
1957          $t19_20 = $t0_1.$get();
1958          $t0_1.$set($rt.builtin.cloneValue($t19_20));
1959          $t20_21 = $t0_1.$get();
1960          return [$t20_21, false];
1961          break;
1962        }
1963        case 7: {
1964          $t21_22 = ($t10_11 << 4);
1965          $t22_23 = ($t21_22 + $t15_16);
1966          $t23_24 = ($t22_23 & 0xFF);
1967          $t24_25 = $t0_1.$get().addr($t5_6);
1968          $t24_25.$set($t23_24);
1969          $t25_26 = ($t5_6 + 1);
1970          $t5_6 = $t25_26;
1971          $block = 3; break;
1972          break;
1973        }
1974        case 8: {
1975          $t26_27 = ($t15_16 < 0);
1976          if ($t26_27) {
1977            $block = 6; break;
1978          }
1979          else {
1980            $block = 7; break;
1981          }
1982          break;
1983        }
1984      }
1985    }
1986  }
1987  
1988  export function hexVal(c) {
1989    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14;
1990    let $block = 0;
1991    while (true) {
1992      switch ($block) {
1993        case 0: {
1994          $t0_1 = (c >= 48);
1995          if ($t0_1) {
1996            $block = 4; break;
1997          }
1998          else {
1999            $block = 3; break;
2000          }
2001          break;
2002        }
2003        case 1: {
2004          $t1_2 = ((c - 48) & 0xFF);
2005          $t2_3 = $t1_2;
2006          return $t2_3;
2007          break;
2008        }
2009        case 2: {
2010          $t3_4 = ((c - 97) & 0xFF);
2011          $t4_5 = (($t3_4 + 10) & 0xFF);
2012          $t5_6 = $t4_5;
2013          return $t5_6;
2014          break;
2015        }
2016        case 3: {
2017          $t6_7 = (c >= 97);
2018          if ($t6_7) {
2019            $block = 7; break;
2020          }
2021          else {
2022            $block = 6; break;
2023          }
2024          break;
2025        }
2026        case 4: {
2027          $t7_8 = (c <= 57);
2028          if ($t7_8) {
2029            $block = 1; break;
2030          }
2031          else {
2032            $block = 3; break;
2033          }
2034          break;
2035        }
2036        case 5: {
2037          $t8_9 = ((c - 65) & 0xFF);
2038          $t9_10 = (($t8_9 + 10) & 0xFF);
2039          $t10_11 = $t9_10;
2040          return $t10_11;
2041          break;
2042        }
2043        case 6: {
2044          $t11_12 = (c >= 65);
2045          if ($t11_12) {
2046            $block = 9; break;
2047          }
2048          else {
2049            $block = 8; break;
2050          }
2051          break;
2052        }
2053        case 7: {
2054          $t12_13 = (c <= 102);
2055          if ($t12_13) {
2056            $block = 2; break;
2057          }
2058          else {
2059            $block = 6; break;
2060          }
2061          break;
2062        }
2063        case 8: {
2064          return -1;
2065          break;
2066        }
2067        case 9: {
2068          $t13_14 = (c <= 70);
2069          if ($t13_14) {
2070            $block = 5; break;
2071          }
2072          else {
2073            $block = 8; break;
2074          }
2075          break;
2076        }
2077      }
2078    }
2079  }
2080  
2081  export function JsonString(s) {
2082    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36;
2083    let $block = 0;
2084    while (true) {
2085      switch ($block) {
2086        case 0: {
2087          $t0_1 = '"';
2088          $t1_2 = 0;
2089          $t2_3 = 0;
2090          $block = 1; break;
2091          break;
2092        }
2093        case 1: {
2094          $t3_4 = $rt.builtin.len(s);
2095          $t4_5 = ($t2_3 < $t3_4);
2096          if ($t4_5) {
2097            $block = 2; break;
2098          }
2099          else {
2100            $block = 4; break;
2101          }
2102          break;
2103        }
2104        case 2: {
2105          $t5_6 = s.addr($t2_3);
2106          $t6_7 = $t5_6.$get();
2107          $t7_8 = ($t6_7 === 34);
2108          if ($t7_8) {
2109            $block = 6; break;
2110          }
2111          else {
2112            $block = 8; break;
2113          }
2114          break;
2115        }
2116        case 3: {
2117          $t10_11 = ($t2_3 + 1);
2118          $t0_1 = $t8_9;
2119          $t1_2 = $t9_10;
2120          $t2_3 = $t10_11;
2121          $block = 1; break;
2122          break;
2123        }
2124        case 4: {
2125          $t11_12 = $rt.builtin.stringSlice(s, $t1_2, undefined);
2126          $t12_13 = ($t0_1 + $t11_12);
2127          $t13_14 = ($t12_13 + '"');
2128          return $t13_14;
2129          break;
2130        }
2131        case 5: {
2132          $t15_16 = $rt.builtin.stringSlice(s, $t1_2, $t2_3);
2133          $t16_17 = ($t15_16 + $t14_15);
2134          $t17_18 = ($t0_1 + $t16_17);
2135          $t18_19 = ($t2_3 + 1);
2136          $t8_9 = $t17_18;
2137          $t9_10 = $t18_19;
2138          $block = 3; break;
2139          break;
2140        }
2141        case 6: {
2142          $t14_15 = '\\"';
2143          $block = 5; break;
2144          break;
2145        }
2146        case 7: {
2147          $t14_15 = '\\\\';
2148          $block = 5; break;
2149          break;
2150        }
2151        case 8: {
2152          $t19_20 = ($t6_7 === 92);
2153          if ($t19_20) {
2154            $block = 7; break;
2155          }
2156          else {
2157            $block = 10; break;
2158          }
2159          break;
2160        }
2161        case 9: {
2162          $t14_15 = '\\n';
2163          $block = 5; break;
2164          break;
2165        }
2166        case 10: {
2167          $t20_21 = ($t6_7 === 10);
2168          if ($t20_21) {
2169            $block = 9; break;
2170          }
2171          else {
2172            $block = 12; break;
2173          }
2174          break;
2175        }
2176        case 11: {
2177          $t14_15 = '\\r';
2178          $block = 5; break;
2179          break;
2180        }
2181        case 12: {
2182          $t21_22 = ($t6_7 === 13);
2183          if ($t21_22) {
2184            $block = 11; break;
2185          }
2186          else {
2187            $block = 14; break;
2188          }
2189          break;
2190        }
2191        case 13: {
2192          $t14_15 = '\\t';
2193          $block = 5; break;
2194          break;
2195        }
2196        case 14: {
2197          $t22_23 = ($t6_7 === 9);
2198          if ($t22_23) {
2199            $block = 13; break;
2200          }
2201          else {
2202            $block = 16; break;
2203          }
2204          break;
2205        }
2206        case 15: {
2207          $t14_15 = '\\b';
2208          $block = 5; break;
2209          break;
2210        }
2211        case 16: {
2212          $t23_24 = ($t6_7 === 8);
2213          if ($t23_24) {
2214            $block = 15; break;
2215          }
2216          else {
2217            $block = 18; break;
2218          }
2219          break;
2220        }
2221        case 17: {
2222          $t14_15 = '\\f';
2223          $block = 5; break;
2224          break;
2225        }
2226        case 18: {
2227          $t24_25 = ($t6_7 === 12);
2228          if ($t24_25) {
2229            $block = 17; break;
2230          }
2231          else {
2232            $block = 19; break;
2233          }
2234          break;
2235        }
2236        case 19: {
2237          $t25_26 = ($t6_7 < 32);
2238          if ($t25_26) {
2239            $block = 20; break;
2240          }
2241          else {
2242            $t8_9 = $t0_1;
2243            $t9_10 = $t1_2;
2244            $block = 3; break;
2245          }
2246          break;
2247        }
2248        case 20: {
2249          $t26_27 = (($t6_7 & 0xFF) >> 4);
2250          $t27_28 = '0123456789abcdef'.addr($t26_27);
2251          $t28_29 = $t27_28.$get();
2252          $t29_30 = String.fromCodePoint($t28_29);
2253          $t30_31 = ('\\u00' + $t29_30);
2254          $t31_32 = ($t6_7 & 15);
2255          $t32_33 = '0123456789abcdef'.addr($t31_32);
2256          $t33_34 = $t32_33.$get();
2257          $t34_35 = String.fromCodePoint($t33_34);
2258          $t35_36 = ($t30_31 + $t34_35);
2259          $t14_15 = $t35_36;
2260          $block = 5; break;
2261          break;
2262        }
2263      }
2264    }
2265  }
2266  
2267  export function JsonGetString(s, key) {
2268    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95;
2269    let $block = 0;
2270    while (true) {
2271      switch ($block) {
2272        case 0: {
2273          $t0_1 = ('"' + key);
2274          $t1_2 = ($t0_1 + '"');
2275          $t2_3 = $rt.builtin.len($t1_2);
2276          $t3_4 = 0;
2277          $block = 1; break;
2278          break;
2279        }
2280        case 1: {
2281          $t4_5 = $rt.builtin.len(s);
2282          $t5_6 = ($t4_5 - $t2_3);
2283          $t6_7 = ($t3_4 <= $t5_6);
2284          if ($t6_7) {
2285            $block = 2; break;
2286          }
2287          else {
2288            $block = 4; break;
2289          }
2290          break;
2291        }
2292        case 2: {
2293          $t7_8 = ($t3_4 + $t2_3);
2294          $t8_9 = $rt.builtin.stringSlice(s, $t3_4, $t7_8);
2295          $t9_10 = $rt.builtin.stringEqual($t8_9, $t1_2);
2296          if ($t9_10) {
2297            $block = 5; break;
2298          }
2299          else {
2300            $block = 3; break;
2301          }
2302          break;
2303        }
2304        case 3: {
2305          $t10_11 = ($t3_4 + 1);
2306          $t3_4 = $t10_11;
2307          $block = 1; break;
2308          break;
2309        }
2310        case 4: {
2311          return '';
2312          break;
2313        }
2314        case 5: {
2315          $t11_12 = ($t3_4 + $t2_3);
2316          $t15_16 = $t11_12;
2317          $block = 8; break;
2318          break;
2319        }
2320        case 6: {
2321          $t12_13 = ($t15_16 + 1);
2322          $t15_16 = $t12_13;
2323          $block = 8; break;
2324          break;
2325        }
2326        case 7: {
2327          $t13_14 = $rt.builtin.len(s);
2328          $t14_15 = ($t15_16 >= $t13_14);
2329          if ($t14_15) {
2330            $block = 3; break;
2331          }
2332          else {
2333            $block = 14; break;
2334          }
2335          break;
2336        }
2337        case 8: {
2338          $t16_17 = $rt.builtin.len(s);
2339          $t17_18 = ($t15_16 < $t16_17);
2340          if ($t17_18) {
2341            $block = 9; break;
2342          }
2343          else {
2344            $block = 7; break;
2345          }
2346          break;
2347        }
2348        case 9: {
2349          $t18_19 = s.addr($t15_16);
2350          $t19_20 = $t18_19.$get();
2351          $t20_21 = ($t19_20 === 32);
2352          if ($t20_21) {
2353            $block = 6; break;
2354          }
2355          else {
2356            $block = 12; break;
2357          }
2358          break;
2359        }
2360        case 10: {
2361          $t21_22 = s.addr($t15_16);
2362          $t22_23 = $t21_22.$get();
2363          $t23_24 = ($t22_23 === 13);
2364          if ($t23_24) {
2365            $block = 6; break;
2366          }
2367          else {
2368            $block = 7; break;
2369          }
2370          break;
2371        }
2372        case 11: {
2373          $t24_25 = s.addr($t15_16);
2374          $t25_26 = $t24_25.$get();
2375          $t26_27 = ($t25_26 === 10);
2376          if ($t26_27) {
2377            $block = 6; break;
2378          }
2379          else {
2380            $block = 10; break;
2381          }
2382          break;
2383        }
2384        case 12: {
2385          $t27_28 = s.addr($t15_16);
2386          $t28_29 = $t27_28.$get();
2387          $t29_30 = ($t28_29 === 9);
2388          if ($t29_30) {
2389            $block = 6; break;
2390          }
2391          else {
2392            $block = 11; break;
2393          }
2394          break;
2395        }
2396        case 13: {
2397          $t30_31 = ($t15_16 + 1);
2398          $t37_38 = $t30_31;
2399          $block = 17; break;
2400          break;
2401        }
2402        case 14: {
2403          $t31_32 = s.addr($t15_16);
2404          $t32_33 = $t31_32.$get();
2405          $t33_34 = ($t32_33 !== 58);
2406          if ($t33_34) {
2407            $block = 3; break;
2408          }
2409          else {
2410            $block = 13; break;
2411          }
2412          break;
2413        }
2414        case 15: {
2415          $t34_35 = ($t37_38 + 1);
2416          $t37_38 = $t34_35;
2417          $block = 17; break;
2418          break;
2419        }
2420        case 16: {
2421          $t35_36 = $rt.builtin.len(s);
2422          $t36_37 = ($t37_38 >= $t35_36);
2423          if ($t36_37) {
2424            $block = 3; break;
2425          }
2426          else {
2427            $block = 23; break;
2428          }
2429          break;
2430        }
2431        case 17: {
2432          $t38_39 = $rt.builtin.len(s);
2433          $t39_40 = ($t37_38 < $t38_39);
2434          if ($t39_40) {
2435            $block = 18; break;
2436          }
2437          else {
2438            $block = 16; break;
2439          }
2440          break;
2441        }
2442        case 18: {
2443          $t40_41 = s.addr($t37_38);
2444          $t41_42 = $t40_41.$get();
2445          $t42_43 = ($t41_42 === 32);
2446          if ($t42_43) {
2447            $block = 15; break;
2448          }
2449          else {
2450            $block = 21; break;
2451          }
2452          break;
2453        }
2454        case 19: {
2455          $t43_44 = s.addr($t37_38);
2456          $t44_45 = $t43_44.$get();
2457          $t45_46 = ($t44_45 === 13);
2458          if ($t45_46) {
2459            $block = 15; break;
2460          }
2461          else {
2462            $block = 16; break;
2463          }
2464          break;
2465        }
2466        case 20: {
2467          $t46_47 = s.addr($t37_38);
2468          $t47_48 = $t46_47.$get();
2469          $t48_49 = ($t47_48 === 10);
2470          if ($t48_49) {
2471            $block = 15; break;
2472          }
2473          else {
2474            $block = 19; break;
2475          }
2476          break;
2477        }
2478        case 21: {
2479          $t49_50 = s.addr($t37_38);
2480          $t50_51 = $t49_50.$get();
2481          $t51_52 = ($t50_51 === 9);
2482          if ($t51_52) {
2483            $block = 15; break;
2484          }
2485          else {
2486            $block = 20; break;
2487          }
2488          break;
2489        }
2490        case 22: {
2491          $t52_53 = ($t37_38 + 1);
2492          $t59_60 = $t52_53;
2493          $t60_61 = $t52_53;
2494          $t61_62 = '';
2495          $block = 25; break;
2496          break;
2497        }
2498        case 23: {
2499          $t53_54 = s.addr($t37_38);
2500          $t54_55 = $t53_54.$get();
2501          $t55_56 = ($t54_55 !== 34);
2502          if ($t55_56) {
2503            $block = 3; break;
2504          }
2505          else {
2506            $block = 22; break;
2507          }
2508          break;
2509        }
2510        case 24: {
2511          $t56_57 = s.addr($t59_60);
2512          $t57_58 = $t56_57.$get();
2513          $t58_59 = ($t57_58 === 92);
2514          if ($t58_59) {
2515            $block = 28; break;
2516          }
2517          else {
2518            $block = 27; break;
2519          }
2520          break;
2521        }
2522        case 25: {
2523          $t62_63 = $rt.builtin.len(s);
2524          $t63_64 = ($t59_60 < $t62_63);
2525          if ($t63_64) {
2526            $block = 24; break;
2527          }
2528          else {
2529            $block = 3; break;
2530          }
2531          break;
2532        }
2533        case 26: {
2534          $t64_65 = $rt.builtin.stringSlice(s, $t60_61, $t59_60);
2535          $t65_66 = ($t61_62 + $t64_65);
2536          $t66_67 = ($t59_60 + 1);
2537          $t67_68 = s.addr($t66_67);
2538          $t68_69 = $t67_68.$get();
2539          $t69_70 = ($t68_69 === 34);
2540          if ($t69_70) {
2541            $block = 30; break;
2542          }
2543          else {
2544            $block = 32; break;
2545          }
2546          break;
2547        }
2548        case 27: {
2549          $t70_71 = s.addr($t59_60);
2550          $t71_72 = $t70_71.$get();
2551          $t72_73 = ($t71_72 === 34);
2552          if ($t72_73) {
2553            $block = 40; break;
2554          }
2555          else {
2556            $block = 41; break;
2557          }
2558          break;
2559        }
2560        case 28: {
2561          $t73_74 = ($t59_60 + 1);
2562          $t74_75 = $rt.builtin.len(s);
2563          $t75_76 = ($t73_74 < $t74_75);
2564          if ($t75_76) {
2565            $block = 26; break;
2566          }
2567          else {
2568            $block = 27; break;
2569          }
2570          break;
2571        }
2572        case 29: {
2573          $t77_78 = ($t66_67 + 1);
2574          $t59_60 = $t77_78;
2575          $t60_61 = $t77_78;
2576          $t61_62 = $t76_77;
2577          $block = 25; break;
2578          break;
2579        }
2580        case 30: {
2581          $t78_79 = ($t66_67 + 1);
2582          $t79_80 = $rt.builtin.stringSlice(s, $t66_67, $t78_79);
2583          $t80_81 = ($t65_66 + $t79_80);
2584          $t76_77 = $t80_81;
2585          $block = 29; break;
2586          break;
2587        }
2588        case 31: {
2589          $t81_82 = ($t65_66 + '\n');
2590          $t76_77 = $t81_82;
2591          $block = 29; break;
2592          break;
2593        }
2594        case 32: {
2595          $t82_83 = ($t68_69 === 92);
2596          if ($t82_83) {
2597            $block = 30; break;
2598          }
2599          else {
2600            $block = 33; break;
2601          }
2602          break;
2603        }
2604        case 33: {
2605          $t83_84 = ($t68_69 === 47);
2606          if ($t83_84) {
2607            $block = 30; break;
2608          }
2609          else {
2610            $block = 34; break;
2611          }
2612          break;
2613        }
2614        case 34: {
2615          $t84_85 = ($t68_69 === 110);
2616          if ($t84_85) {
2617            $block = 31; break;
2618          }
2619          else {
2620            $block = 36; break;
2621          }
2622          break;
2623        }
2624        case 35: {
2625          $t85_86 = ($t65_66 + '\r');
2626          $t76_77 = $t85_86;
2627          $block = 29; break;
2628          break;
2629        }
2630        case 36: {
2631          $t86_87 = ($t68_69 === 114);
2632          if ($t86_87) {
2633            $block = 35; break;
2634          }
2635          else {
2636            $block = 38; break;
2637          }
2638          break;
2639        }
2640        case 37: {
2641          $t87_88 = ($t65_66 + '\t');
2642          $t76_77 = $t87_88;
2643          $block = 29; break;
2644          break;
2645        }
2646        case 38: {
2647          $t88_89 = ($t68_69 === 116);
2648          if ($t88_89) {
2649            $block = 37; break;
2650          }
2651          else {
2652            $block = 39; break;
2653          }
2654          break;
2655        }
2656        case 39: {
2657          $t89_90 = ($t66_67 + 1);
2658          $t90_91 = $rt.builtin.stringSlice(s, $t66_67, $t89_90);
2659          $t91_92 = ($t65_66 + $t90_91);
2660          $t76_77 = $t91_92;
2661          $block = 29; break;
2662          break;
2663        }
2664        case 40: {
2665          $t92_93 = $rt.builtin.stringSlice(s, $t60_61, $t59_60);
2666          $t93_94 = ($t61_62 + $t92_93);
2667          return $t93_94;
2668          break;
2669        }
2670        case 41: {
2671          $t94_95 = ($t59_60 + 1);
2672          let $phi0 = $t94_95;
2673          let $phi1 = $t60_61;
2674          let $phi2 = $t61_62;
2675          $t59_60 = $phi0;
2676          $t60_61 = $phi1;
2677          $t61_62 = $phi2;
2678          $block = 25; break;
2679          break;
2680        }
2681      }
2682    }
2683  }
2684  
2685  export function JsonGetValue(s, key) {
2686    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103, $t103_104, $t104_105, $t105_106, $t106_107, $t107_108, $t108_109, $t109_110, $t110_111, $t111_112, $t112_113, $t113_114, $t114_115, $t115_116, $t116_117, $t117_118, $t118_119, $t119_120, $t120_121, $t121_122, $t122_123, $t123_124, $t124_125, $t125_126, $t126_127, $t127_128, $t128_129, $t129_130, $t130_131, $t131_132, $t132_133, $t133_134, $t134_135, $t135_136;
2687    let $block = 0;
2688    while (true) {
2689      switch ($block) {
2690        case 0: {
2691          $t0_1 = ('"' + key);
2692          $t1_2 = ($t0_1 + '"');
2693          $t2_3 = $rt.builtin.len($t1_2);
2694          $t3_4 = 0;
2695          $block = 1; break;
2696          break;
2697        }
2698        case 1: {
2699          $t4_5 = $rt.builtin.len(s);
2700          $t5_6 = ($t4_5 - $t2_3);
2701          $t6_7 = ($t3_4 <= $t5_6);
2702          if ($t6_7) {
2703            $block = 2; break;
2704          }
2705          else {
2706            $block = 4; break;
2707          }
2708          break;
2709        }
2710        case 2: {
2711          $t7_8 = ($t3_4 + $t2_3);
2712          $t8_9 = $rt.builtin.stringSlice(s, $t3_4, $t7_8);
2713          $t9_10 = !$rt.builtin.stringEqual($t8_9, $t1_2);
2714          if ($t9_10) {
2715            $block = 3; break;
2716          }
2717          else {
2718            $block = 5; break;
2719          }
2720          break;
2721        }
2722        case 3: {
2723          $t10_11 = ($t3_4 + 1);
2724          $t3_4 = $t10_11;
2725          $block = 1; break;
2726          break;
2727        }
2728        case 4: {
2729          return '';
2730          break;
2731        }
2732        case 5: {
2733          $t11_12 = ($t3_4 + $t2_3);
2734          $t15_16 = $t11_12;
2735          $block = 8; break;
2736          break;
2737        }
2738        case 6: {
2739          $t12_13 = ($t15_16 + 1);
2740          $t15_16 = $t12_13;
2741          $block = 8; break;
2742          break;
2743        }
2744        case 7: {
2745          $t13_14 = $rt.builtin.len(s);
2746          $t14_15 = ($t15_16 >= $t13_14);
2747          if ($t14_15) {
2748            $block = 3; break;
2749          }
2750          else {
2751            $block = 14; break;
2752          }
2753          break;
2754        }
2755        case 8: {
2756          $t16_17 = $rt.builtin.len(s);
2757          $t17_18 = ($t15_16 < $t16_17);
2758          if ($t17_18) {
2759            $block = 9; break;
2760          }
2761          else {
2762            $block = 7; break;
2763          }
2764          break;
2765        }
2766        case 9: {
2767          $t18_19 = s.addr($t15_16);
2768          $t19_20 = $t18_19.$get();
2769          $t20_21 = ($t19_20 === 32);
2770          if ($t20_21) {
2771            $block = 6; break;
2772          }
2773          else {
2774            $block = 12; break;
2775          }
2776          break;
2777        }
2778        case 10: {
2779          $t21_22 = s.addr($t15_16);
2780          $t22_23 = $t21_22.$get();
2781          $t23_24 = ($t22_23 === 13);
2782          if ($t23_24) {
2783            $block = 6; break;
2784          }
2785          else {
2786            $block = 7; break;
2787          }
2788          break;
2789        }
2790        case 11: {
2791          $t24_25 = s.addr($t15_16);
2792          $t25_26 = $t24_25.$get();
2793          $t26_27 = ($t25_26 === 10);
2794          if ($t26_27) {
2795            $block = 6; break;
2796          }
2797          else {
2798            $block = 10; break;
2799          }
2800          break;
2801        }
2802        case 12: {
2803          $t27_28 = s.addr($t15_16);
2804          $t28_29 = $t27_28.$get();
2805          $t29_30 = ($t28_29 === 9);
2806          if ($t29_30) {
2807            $block = 6; break;
2808          }
2809          else {
2810            $block = 11; break;
2811          }
2812          break;
2813        }
2814        case 13: {
2815          $t30_31 = ($t15_16 + 1);
2816          $t37_38 = $t30_31;
2817          $block = 17; break;
2818          break;
2819        }
2820        case 14: {
2821          $t31_32 = s.addr($t15_16);
2822          $t32_33 = $t31_32.$get();
2823          $t33_34 = ($t32_33 !== 58);
2824          if ($t33_34) {
2825            $block = 3; break;
2826          }
2827          else {
2828            $block = 13; break;
2829          }
2830          break;
2831        }
2832        case 15: {
2833          $t34_35 = ($t37_38 + 1);
2834          $t37_38 = $t34_35;
2835          $block = 17; break;
2836          break;
2837        }
2838        case 16: {
2839          $t35_36 = $rt.builtin.len(s);
2840          $t36_37 = ($t37_38 >= $t35_36);
2841          if ($t36_37) {
2842            $block = 3; break;
2843          }
2844          else {
2845            $block = 22; break;
2846          }
2847          break;
2848        }
2849        case 17: {
2850          $t38_39 = $rt.builtin.len(s);
2851          $t39_40 = ($t37_38 < $t38_39);
2852          if ($t39_40) {
2853            $block = 18; break;
2854          }
2855          else {
2856            $block = 16; break;
2857          }
2858          break;
2859        }
2860        case 18: {
2861          $t40_41 = s.addr($t37_38);
2862          $t41_42 = $t40_41.$get();
2863          $t42_43 = ($t41_42 === 32);
2864          if ($t42_43) {
2865            $block = 15; break;
2866          }
2867          else {
2868            $block = 21; break;
2869          }
2870          break;
2871        }
2872        case 19: {
2873          $t43_44 = s.addr($t37_38);
2874          $t44_45 = $t43_44.$get();
2875          $t45_46 = ($t44_45 === 13);
2876          if ($t45_46) {
2877            $block = 15; break;
2878          }
2879          else {
2880            $block = 16; break;
2881          }
2882          break;
2883        }
2884        case 20: {
2885          $t46_47 = s.addr($t37_38);
2886          $t47_48 = $t46_47.$get();
2887          $t48_49 = ($t47_48 === 10);
2888          if ($t48_49) {
2889            $block = 15; break;
2890          }
2891          else {
2892            $block = 19; break;
2893          }
2894          break;
2895        }
2896        case 21: {
2897          $t49_50 = s.addr($t37_38);
2898          $t50_51 = $t49_50.$get();
2899          $t51_52 = ($t50_51 === 9);
2900          if ($t51_52) {
2901            $block = 15; break;
2902          }
2903          else {
2904            $block = 20; break;
2905          }
2906          break;
2907        }
2908        case 22: {
2909          $t52_53 = s.addr($t37_38);
2910          $t53_54 = $t52_53.$get();
2911          $t54_55 = ($t53_54 === 123);
2912          if ($t54_55) {
2913            $block = 23; break;
2914          }
2915          else {
2916            $block = 25; break;
2917          }
2918          break;
2919        }
2920        case 23: {
2921          $t55_56 = s.addr($t37_38);
2922          $t56_57 = $t55_56.$get();
2923          $t57_58 = ($t56_57 === 91);
2924          if ($t57_58) {
2925            $block = 27; break;
2926          }
2927          else {
2928            $t61_62 = 125;
2929            $block = 28; break;
2930          }
2931          break;
2932        }
2933        case 24: {
2934          $t58_59 = ($t37_38 + 1);
2935          $t101_102 = $t58_59;
2936          $block = 46; break;
2937          break;
2938        }
2939        case 25: {
2940          $t59_60 = ($t53_54 === 91);
2941          if ($t59_60) {
2942            $block = 23; break;
2943          }
2944          else {
2945            $block = 26; break;
2946          }
2947          break;
2948        }
2949        case 26: {
2950          $t60_61 = ($t53_54 === 34);
2951          if ($t60_61) {
2952            $block = 24; break;
2953          }
2954          else {
2955            $t112_113 = $t37_38;
2956            $block = 52; break;
2957          }
2958          break;
2959        }
2960        case 27: {
2961          $t61_62 = 93;
2962          $block = 28; break;
2963          break;
2964        }
2965        case 28: {
2966          $t62_63 = ($t37_38 + 1);
2967          $t67_68 = $t62_63;
2968          $t68_69 = 1;
2969          $block = 31; break;
2970          break;
2971        }
2972        case 29: {
2973          $t63_64 = s.addr($t67_68);
2974          $t64_65 = $t63_64.$get();
2975          $t65_66 = ($t64_65 === $t56_57);
2976          if ($t65_66) {
2977            $block = 33; break;
2978          }
2979          else {
2980            $block = 35; break;
2981          }
2982          break;
2983        }
2984        case 30: {
2985          $t66_67 = $rt.builtin.stringSlice(s, $t37_38, $t67_68);
2986          return $t66_67;
2987          break;
2988        }
2989        case 31: {
2990          $t69_70 = $rt.builtin.len(s);
2991          $t70_71 = ($t67_68 < $t69_70);
2992          if ($t70_71) {
2993            $block = 32; break;
2994          }
2995          else {
2996            $block = 30; break;
2997          }
2998          break;
2999        }
3000        case 32: {
3001          $t71_72 = ($t68_69 > 0);
3002          if ($t71_72) {
3003            $block = 29; break;
3004          }
3005          else {
3006            $block = 30; break;
3007          }
3008          break;
3009        }
3010        case 33: {
3011          $t72_73 = ($t68_69 + 1);
3012          $t73_74 = $t67_68;
3013          $t74_75 = $t72_73;
3014          $block = 34; break;
3015          break;
3016        }
3017        case 34: {
3018          $t75_76 = ($t73_74 + 1);
3019          $t67_68 = $t75_76;
3020          $t68_69 = $t74_75;
3021          $block = 31; break;
3022          break;
3023        }
3024        case 35: {
3025          $t76_77 = s.addr($t67_68);
3026          $t77_78 = $t76_77.$get();
3027          $t78_79 = ($t77_78 === $t61_62);
3028          if ($t78_79) {
3029            $block = 36; break;
3030          }
3031          else {
3032            $block = 37; break;
3033          }
3034          break;
3035        }
3036        case 36: {
3037          $t79_80 = ($t68_69 - 1);
3038          $t73_74 = $t67_68;
3039          $t74_75 = $t79_80;
3040          $block = 34; break;
3041          break;
3042        }
3043        case 37: {
3044          $t80_81 = s.addr($t67_68);
3045          $t81_82 = $t80_81.$get();
3046          $t82_83 = ($t81_82 === 34);
3047          if ($t82_83) {
3048            $block = 38; break;
3049          }
3050          else {
3051            $t73_74 = $t67_68;
3052            $t74_75 = $t68_69;
3053            $block = 34; break;
3054          }
3055          break;
3056        }
3057        case 38: {
3058          $t83_84 = ($t67_68 + 1);
3059          $t87_88 = $t83_84;
3060          $block = 40; break;
3061          break;
3062        }
3063        case 39: {
3064          $t84_85 = s.addr($t87_88);
3065          $t85_86 = $t84_85.$get();
3066          $t86_87 = ($t85_86 === 92);
3067          if ($t86_87) {
3068            $block = 42; break;
3069          }
3070          else {
3071            $t94_95 = $t87_88;
3072            $block = 43; break;
3073          }
3074          break;
3075        }
3076        case 40: {
3077          $t88_89 = $rt.builtin.len(s);
3078          $t89_90 = ($t87_88 < $t88_89);
3079          if ($t89_90) {
3080            $block = 41; break;
3081          }
3082          else {
3083            $t73_74 = $t87_88;
3084            $t74_75 = $t68_69;
3085            $block = 34; break;
3086          }
3087          break;
3088        }
3089        case 41: {
3090          $t90_91 = s.addr($t87_88);
3091          $t91_92 = $t90_91.$get();
3092          $t92_93 = ($t91_92 !== 34);
3093          if ($t92_93) {
3094            $block = 39; break;
3095          }
3096          else {
3097            $t73_74 = $t87_88;
3098            $t74_75 = $t68_69;
3099            $block = 34; break;
3100          }
3101          break;
3102        }
3103        case 42: {
3104          $t93_94 = ($t87_88 + 1);
3105          $t94_95 = $t93_94;
3106          $block = 43; break;
3107          break;
3108        }
3109        case 43: {
3110          $t95_96 = ($t94_95 + 1);
3111          $t87_88 = $t95_96;
3112          $block = 40; break;
3113          break;
3114        }
3115        case 44: {
3116          $t96_97 = s.addr($t101_102);
3117          $t97_98 = $t96_97.$get();
3118          $t98_99 = ($t97_98 === 92);
3119          if ($t98_99) {
3120            $block = 48; break;
3121          }
3122          else {
3123            $t108_109 = $t101_102;
3124            $block = 49; break;
3125          }
3126          break;
3127        }
3128        case 45: {
3129          $t99_100 = ($t101_102 + 1);
3130          $t100_101 = $rt.builtin.stringSlice(s, $t37_38, $t99_100);
3131          return $t100_101;
3132          break;
3133        }
3134        case 46: {
3135          $t102_103 = $rt.builtin.len(s);
3136          $t103_104 = ($t101_102 < $t102_103);
3137          if ($t103_104) {
3138            $block = 47; break;
3139          }
3140          else {
3141            $block = 45; break;
3142          }
3143          break;
3144        }
3145        case 47: {
3146          $t104_105 = s.addr($t101_102);
3147          $t105_106 = $t104_105.$get();
3148          $t106_107 = ($t105_106 !== 34);
3149          if ($t106_107) {
3150            $block = 44; break;
3151          }
3152          else {
3153            $block = 45; break;
3154          }
3155          break;
3156        }
3157        case 48: {
3158          $t107_108 = ($t101_102 + 1);
3159          $t108_109 = $t107_108;
3160          $block = 49; break;
3161          break;
3162        }
3163        case 49: {
3164          $t109_110 = ($t108_109 + 1);
3165          $t101_102 = $t109_110;
3166          $block = 46; break;
3167          break;
3168        }
3169        case 50: {
3170          $t110_111 = ($t112_113 + 1);
3171          $t112_113 = $t110_111;
3172          $block = 52; break;
3173          break;
3174        }
3175        case 51: {
3176          $t111_112 = $rt.builtin.stringSlice(s, $t37_38, $t112_113);
3177          return $t111_112;
3178          break;
3179        }
3180        case 52: {
3181          $t113_114 = $rt.builtin.len(s);
3182          $t114_115 = ($t112_113 < $t113_114);
3183          if ($t114_115) {
3184            $block = 59; break;
3185          }
3186          else {
3187            $block = 51; break;
3188          }
3189          break;
3190        }
3191        case 53: {
3192          $t115_116 = s.addr($t112_113);
3193          $t116_117 = $t115_116.$get();
3194          $t117_118 = ($t116_117 !== 13);
3195          if ($t117_118) {
3196            $block = 50; break;
3197          }
3198          else {
3199            $block = 51; break;
3200          }
3201          break;
3202        }
3203        case 54: {
3204          $t118_119 = s.addr($t112_113);
3205          $t119_120 = $t118_119.$get();
3206          $t120_121 = ($t119_120 !== 10);
3207          if ($t120_121) {
3208            $block = 53; break;
3209          }
3210          else {
3211            $block = 51; break;
3212          }
3213          break;
3214        }
3215        case 55: {
3216          $t121_122 = s.addr($t112_113);
3217          $t122_123 = $t121_122.$get();
3218          $t123_124 = ($t122_123 !== 9);
3219          if ($t123_124) {
3220            $block = 54; break;
3221          }
3222          else {
3223            $block = 51; break;
3224          }
3225          break;
3226        }
3227        case 56: {
3228          $t124_125 = s.addr($t112_113);
3229          $t125_126 = $t124_125.$get();
3230          $t126_127 = ($t125_126 !== 32);
3231          if ($t126_127) {
3232            $block = 55; break;
3233          }
3234          else {
3235            $block = 51; break;
3236          }
3237          break;
3238        }
3239        case 57: {
3240          $t127_128 = s.addr($t112_113);
3241          $t128_129 = $t127_128.$get();
3242          $t129_130 = ($t128_129 !== 93);
3243          if ($t129_130) {
3244            $block = 56; break;
3245          }
3246          else {
3247            $block = 51; break;
3248          }
3249          break;
3250        }
3251        case 58: {
3252          $t130_131 = s.addr($t112_113);
3253          $t131_132 = $t130_131.$get();
3254          $t132_133 = ($t131_132 !== 125);
3255          if ($t132_133) {
3256            $block = 57; break;
3257          }
3258          else {
3259            $block = 51; break;
3260          }
3261          break;
3262        }
3263        case 59: {
3264          $t133_134 = s.addr($t112_113);
3265          $t134_135 = $t133_134.$get();
3266          $t135_136 = ($t134_135 !== 44);
3267          if ($t135_136) {
3268            $block = 58; break;
3269          }
3270          else {
3271            $block = 51; break;
3272          }
3273          break;
3274        }
3275      }
3276    }
3277  }
3278  
3279  export function JsonGetBool(s, key) {
3280    let $t0_1, $t1_2;
3281    $t0_1 = JsonGetValue(s, key);
3282    $t1_2 = $rt.builtin.stringEqual($t0_1, 'true');
3283    return $t1_2;
3284  }
3285  
3286  export function JsonGetIntArray(s, key) {
3287    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77;
3288    let $block = 0;
3289    while (true) {
3290      switch ($block) {
3291        case 0: {
3292          $t0_1 = JsonGetValue(s, key);
3293          $t1_2 = $rt.builtin.len($t0_1);
3294          $t2_3 = ($t1_2 < 2);
3295          if ($t2_3) {
3296            $block = 1; break;
3297          }
3298          else {
3299            $block = 3; break;
3300          }
3301          break;
3302        }
3303        case 1: {
3304          return null;
3305          break;
3306        }
3307        case 2: {
3308          $t6_7 = null;
3309          $t7_8 = 1;
3310          $block = 5; break;
3311          break;
3312        }
3313        case 3: {
3314          $t3_4 = $t0_1.addr(0);
3315          $t4_5 = $t3_4.$get();
3316          $t5_6 = ($t4_5 !== 91);
3317          if ($t5_6) {
3318            $block = 1; break;
3319          }
3320          else {
3321            $block = 2; break;
3322          }
3323          break;
3324        }
3325        case 4: {
3326          return $t6_7;
3327          break;
3328        }
3329        case 5: {
3330          $t8_9 = $rt.builtin.len($t0_1);
3331          $t9_10 = ($t7_8 < $t8_9);
3332          if ($t9_10) {
3333            $t13_14 = $t7_8;
3334            $block = 8; break;
3335          }
3336          else {
3337            $block = 4; break;
3338          }
3339          break;
3340        }
3341        case 6: {
3342          $t10_11 = ($t13_14 + 1);
3343          $t13_14 = $t10_11;
3344          $block = 8; break;
3345          break;
3346        }
3347        case 7: {
3348          $t11_12 = $rt.builtin.len($t0_1);
3349          $t12_13 = ($t13_14 >= $t11_12);
3350          if ($t12_13) {
3351            $block = 4; break;
3352          }
3353          else {
3354            $block = 15; break;
3355          }
3356          break;
3357        }
3358        case 8: {
3359          $t14_15 = $rt.builtin.len($t0_1);
3360          $t15_16 = ($t13_14 < $t14_15);
3361          if ($t15_16) {
3362            $block = 9; break;
3363          }
3364          else {
3365            $block = 7; break;
3366          }
3367          break;
3368        }
3369        case 9: {
3370          $t16_17 = $t0_1.addr($t13_14);
3371          $t17_18 = $t16_17.$get();
3372          $t18_19 = ($t17_18 === 32);
3373          if ($t18_19) {
3374            $block = 6; break;
3375          }
3376          else {
3377            $block = 13; break;
3378          }
3379          break;
3380        }
3381        case 10: {
3382          $t19_20 = $t0_1.addr($t13_14);
3383          $t20_21 = $t19_20.$get();
3384          $t21_22 = ($t20_21 === 44);
3385          if ($t21_22) {
3386            $block = 6; break;
3387          }
3388          else {
3389            $block = 7; break;
3390          }
3391          break;
3392        }
3393        case 11: {
3394          $t22_23 = $t0_1.addr($t13_14);
3395          $t23_24 = $t22_23.$get();
3396          $t24_25 = ($t23_24 === 13);
3397          if ($t24_25) {
3398            $block = 6; break;
3399          }
3400          else {
3401            $block = 10; break;
3402          }
3403          break;
3404        }
3405        case 12: {
3406          $t25_26 = $t0_1.addr($t13_14);
3407          $t26_27 = $t25_26.$get();
3408          $t27_28 = ($t26_27 === 10);
3409          if ($t27_28) {
3410            $block = 6; break;
3411          }
3412          else {
3413            $block = 11; break;
3414          }
3415          break;
3416        }
3417        case 13: {
3418          $t28_29 = $t0_1.addr($t13_14);
3419          $t29_30 = $t28_29.$get();
3420          $t30_31 = ($t29_30 === 9);
3421          if ($t30_31) {
3422            $block = 6; break;
3423          }
3424          else {
3425            $block = 12; break;
3426          }
3427          break;
3428        }
3429        case 14: {
3430          $t31_32 = $t0_1.addr($t13_14);
3431          $t32_33 = $t31_32.$get();
3432          $t33_34 = ($t32_33 === 45);
3433          if ($t33_34) {
3434            $block = 16; break;
3435          }
3436          else {
3437            $t38_39 = $t13_14;
3438            $t39_40 = false;
3439            $block = 17; break;
3440          }
3441          break;
3442        }
3443        case 15: {
3444          $t34_35 = $t0_1.addr($t13_14);
3445          $t35_36 = $t34_35.$get();
3446          $t36_37 = ($t35_36 === 93);
3447          if ($t36_37) {
3448            $block = 4; break;
3449          }
3450          else {
3451            $block = 14; break;
3452          }
3453          break;
3454        }
3455        case 16: {
3456          $t37_38 = ($t13_14 + 1);
3457          $t38_39 = $t37_38;
3458          $t39_40 = true;
3459          $block = 17; break;
3460          break;
3461        }
3462        case 17: {
3463          $t42_43 = $t38_39;
3464          $block = 20; break;
3465          break;
3466        }
3467        case 18: {
3468          $t40_41 = ($t42_43 + 1);
3469          $t42_43 = $t40_41;
3470          $block = 20; break;
3471          break;
3472        }
3473        case 19: {
3474          $t41_42 = ($t42_43 === $t38_39);
3475          if ($t41_42) {
3476            $t52_53 = $t42_43;
3477            $block = 25; break;
3478          }
3479          else {
3480            $block = 23; break;
3481          }
3482          break;
3483        }
3484        case 20: {
3485          $t43_44 = $rt.builtin.len($t0_1);
3486          $t44_45 = ($t42_43 < $t43_44);
3487          if ($t44_45) {
3488            $block = 22; break;
3489          }
3490          else {
3491            $block = 19; break;
3492          }
3493          break;
3494        }
3495        case 21: {
3496          $t45_46 = $t0_1.addr($t42_43);
3497          $t46_47 = $t45_46.$get();
3498          $t47_48 = ($t46_47 <= 57);
3499          if ($t47_48) {
3500            $block = 18; break;
3501          }
3502          else {
3503            $block = 19; break;
3504          }
3505          break;
3506        }
3507        case 22: {
3508          $t48_49 = $t0_1.addr($t42_43);
3509          $t49_50 = $t48_49.$get();
3510          $t50_51 = ($t49_50 >= 48);
3511          if ($t50_51) {
3512            $block = 21; break;
3513          }
3514          else {
3515            $block = 19; break;
3516          }
3517          break;
3518        }
3519        case 23: {
3520          $t61_62 = 0;
3521          $t62_63 = $t38_39;
3522          $block = 28; break;
3523          break;
3524        }
3525        case 24: {
3526          $t51_52 = ($t52_53 + 1);
3527          $t52_53 = $t51_52;
3528          $block = 25; break;
3529          break;
3530        }
3531        case 25: {
3532          $t53_54 = $rt.builtin.len($t0_1);
3533          $t54_55 = ($t52_53 < $t53_54);
3534          if ($t54_55) {
3535            $block = 27; break;
3536          }
3537          else {
3538            let $phi0 = $t6_7;
3539            let $phi1 = $t52_53;
3540            $t6_7 = $phi0;
3541            $t7_8 = $phi1;
3542            $block = 5; break;
3543          }
3544          break;
3545        }
3546        case 26: {
3547          $t55_56 = $t0_1.addr($t52_53);
3548          $t56_57 = $t55_56.$get();
3549          $t57_58 = ($t56_57 !== 93);
3550          if ($t57_58) {
3551            $block = 24; break;
3552          }
3553          else {
3554            let $phi0 = $t6_7;
3555            let $phi1 = $t52_53;
3556            $t6_7 = $phi0;
3557            $t7_8 = $phi1;
3558            $block = 5; break;
3559          }
3560          break;
3561        }
3562        case 27: {
3563          $t58_59 = $t0_1.addr($t52_53);
3564          $t59_60 = $t58_59.$get();
3565          $t60_61 = ($t59_60 !== 44);
3566          if ($t60_61) {
3567            $block = 26; break;
3568          }
3569          else {
3570            let $phi0 = $t6_7;
3571            let $phi1 = $t52_53;
3572            $t6_7 = $phi0;
3573            $t7_8 = $phi1;
3574            $block = 5; break;
3575          }
3576          break;
3577        }
3578        case 28: {
3579          $t63_64 = ($t62_63 < $t42_43);
3580          if ($t63_64) {
3581            $block = 29; break;
3582          }
3583          else {
3584            $block = 30; break;
3585          }
3586          break;
3587        }
3588        case 29: {
3589          $t64_65 = ($t61_62 * 10);
3590          $t65_66 = $t0_1.addr($t62_63);
3591          $t66_67 = $t65_66.$get();
3592          $t67_68 = (($t66_67 - 48) & 0xFF);
3593          $t68_69 = $t67_68;
3594          $t69_70 = ($t64_65 + $t68_69);
3595          $t70_71 = ($t62_63 + 1);
3596          $t61_62 = $t69_70;
3597          $t62_63 = $t70_71;
3598          $block = 28; break;
3599          break;
3600        }
3601        case 30: {
3602          if ($t39_40) {
3603            $block = 31; break;
3604          }
3605          else {
3606            $t72_73 = $t61_62;
3607            $block = 32; break;
3608          }
3609          break;
3610        }
3611        case 31: {
3612          $t71_72 = -$t61_62;
3613          $t72_73 = $t71_72;
3614          $block = 32; break;
3615          break;
3616        }
3617        case 32: {
3618          $t73_74 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
3619          $t74_75 = $t73_74.$get().addr(0);
3620          $t74_75.$set($t72_73);
3621          $t75_76 = $rt.builtin.sliceSlice($t73_74.$get(), undefined, undefined, undefined);
3622          $t76_77 = $rt.builtin.appendSlice($t6_7, $t75_76);
3623          $t6_7 = $t76_77;
3624          $t7_8 = $t42_43;
3625          $block = 5; break;
3626          break;
3627        }
3628      }
3629    }
3630  }
3631  
3632  export function Itoa(n) {
3633    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19;
3634    let $block = 0;
3635    while (true) {
3636      switch ($block) {
3637        case 0: {
3638          $t0_1 = (n === 0n);
3639          if ($t0_1) {
3640            $block = 1; break;
3641          }
3642          else {
3643            $block = 2; break;
3644          }
3645          break;
3646        }
3647        case 1: {
3648          return '0';
3649          break;
3650        }
3651        case 2: {
3652          $t1_2 = (n < 0n);
3653          if ($t1_2) {
3654            $block = 3; break;
3655          }
3656          else {
3657            $t3_4 = n;
3658            $t4_5 = false;
3659            $block = 4; break;
3660          }
3661          break;
3662        }
3663        case 3: {
3664          $t2_3 = -n;
3665          $t3_4 = $t2_3;
3666          $t4_5 = true;
3667          $block = 4; break;
3668          break;
3669        }
3670        case 4: {
3671          $t5_6 = { $value: $rt.builtin.makeSlice(20, 20, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
3672          $t12_13 = $t3_4;
3673          $t13_14 = 20;
3674          $block = 7; break;
3675          break;
3676        }
3677        case 5: {
3678          $t6_7 = ($t13_14 - 1);
3679          $t7_8 = ($t12_13 % 10n);
3680          $t8_9 = BigInt.asIntN(64, 48n + $t7_8);
3681          $t9_10 = (Number($t8_9) & 0xFF);
3682          $t10_11 = $t5_6.$get().addr($t6_7);
3683          $t10_11.$set($t9_10);
3684          $t11_12 = BigInt.asIntN(64, $t12_13 / 10n);
3685          $t12_13 = $t11_12;
3686          $t13_14 = $t6_7;
3687          $block = 7; break;
3688          break;
3689        }
3690        case 6: {
3691          if ($t4_5) {
3692            $block = 8; break;
3693          }
3694          else {
3695            $t17_18 = $t13_14;
3696            $block = 9; break;
3697          }
3698          break;
3699        }
3700        case 7: {
3701          $t14_15 = ($t12_13 > 0n);
3702          if ($t14_15) {
3703            $block = 5; break;
3704          }
3705          else {
3706            $block = 6; break;
3707          }
3708          break;
3709        }
3710        case 8: {
3711          $t15_16 = ($t13_14 - 1);
3712          $t16_17 = $t5_6.$get().addr($t15_16);
3713          $t16_17.$set(45);
3714          $t17_18 = $t15_16;
3715          $block = 9; break;
3716          break;
3717        }
3718        case 9: {
3719          $t18_19 = $rt.builtin.sliceSlice($t5_6.$get(), $t17_18, undefined, undefined);
3720          return $t18_19;
3721          break;
3722        }
3723      }
3724    }
3725  }
3726  
3727