File: sym.sh
   1 #!/bin/sh
   2 
   3 # The MIT License (MIT)
   4 #
   5 # Copyright (c) 2026 pacman64
   6 #
   7 # Permission is hereby granted, free of charge, to any person obtaining a copy
   8 # of this software and associated documentation files (the "Software"), to deal
   9 # in the Software without restriction, including without limitation the rights
  10 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  11 # copies of the Software, and to permit persons to whom the Software is
  12 # furnished to do so, subject to the following conditions:
  13 #
  14 # The above copyright notice and this permission notice shall be included in
  15 # all copies or substantial portions of the Software.
  16 #
  17 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  18 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  20 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  21 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  22 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  23 # SOFTWARE.
  24 
  25 
  26 # sym [names...]
  27 #
  28 # Lookup various hard-to-type symbols by their common names/aliases. All/any
  29 # dashes in the names given are ignored, and are thus supported, so to speak.
  30 
  31 
  32 case "$1" in
  33     -h|--h|-help|--help)
  34         awk '/^# +sym /, /^$/ { gsub(/^# ?/, ""); print }' "$0"
  35         exit 0
  36     ;;
  37 esac
  38 
  39 [ "$1" = '--' ] && shift
  40 
  41 # when given no names, show (almost) all name-symbol pairs supported
  42 if [ $# -eq 0 ]; then
  43     # show all built-in `here-doc` entries from this very script/file
  44     awk '/^[a-z]/ && NF == 2' "${0}"
  45     exit 0
  46 fi
  47 
  48 # lookup built-in dataset
  49 awk -v allnames="${*}" '
  50     # figure out which names to lookup, and handle special names upfront
  51     BEGIN {
  52         # lowercase symbol names, also ignoring any dashes in them
  53         allnames = tolower(allnames)
  54         gsub(/[:_-]/, "", allnames)
  55         gsub(/^ +| +$/, "", allnames)
  56 
  57         # split space-separated items into an array named `symbols`
  58         split(allnames, symbols, / +/)
  59 
  60         special["crlf"] = "\r"
  61         special["ff"] = "\f"
  62         special["lf"] = "\n"
  63         special["nil"] = "\000"
  64         special["nul"] = "\000"
  65         special["null"] = "\000"
  66         special["space"] = " "
  67         special["tab"] = "\t"
  68         special["utf8bom"] = "\xef\xbb\xbf"
  69         special["vtab"] = "\v"
  70 
  71         for (i in symbols) {
  72             nsym++
  73             s = symbols[i]
  74             for (j in special) {
  75                 if (j == s) {
  76                     got[i] = special[j]
  77                     break
  78                 }
  79             }
  80         }
  81     }
  82 
  83     # try to match each symbol to each built-in data line
  84     {
  85         for (i in symbols) {
  86             if ($1 == symbols[i]) {
  87                 got[i] = $2
  88                 next
  89             }
  90         }
  91     }
  92 
  93     # report any not-found-type errors
  94     END {
  95         for (i = 1; i <= nsym; i++) {
  96             if (got[i]) {
  97                 print got[i]
  98                 continue
  99             } else {
 100                 fs = "no matching symbols found for `%s`\n"
 101                 printf fs, symbols[i]
 102                 failures++
 103             }
 104         }
 105 
 106         if (failures > 0) { exit 1 }
 107     }
 108 ' << 'ENDOFDATA'
 109 adash        -
 110 aeq          ≈
 111 altcolon     :
 112 altqmark     ?
 113 altque       ?
 114 altques      ?
 115 altquest     ?
 116 altquestion  ?
 117 altvbar      |
 118 altverbar    |
 119 altvertbar   |
 120 almost       ≈
 121 amp          &
 122 ampersand    &
 123 apos         ’
 124 apostrophe   ’
 125 approx       ≅
 126 asterisk     *
 127 atleast      ≥
 128 atmost       ≤
 129 backquote    `
 130 backslash    \
 131 backtick     `
 132 ball         ●
 133 bang         !
 134 base64       ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
 135 block        █
 136 bquo         `
 137 bquote       `
 138 bslash       \
 139 bullet       •
 140 caret        ^
 141 cdot         ·
 142 circle       ●
 143 cloud        ☁️
 144 colon        :
 145 comma        ,
 146 copyright    ©
 147 cquote       ”
 148 crap        💩
 149 cross        ×
 150 dash         —
 151 deg          °
 152 degree       °
 153 diameter     ⌀
 154 doc          📄
 155 document     📄
 156 dollar       $
 157 dot          .
 158 dquo         "
 159 dquote       "
 160 doublequote  "
 161 ellip        …
 162 ellipsis     …
 163 email        @
 164 emdash       —
 165 emptyset     ∅
 166 endash       –
 167 eq           =
 168 equal        =
 169 equals       =
 170 esc          

 171 escape       

 172 excl         !
 173 exclam       !
 174 exclamation  !
 175 faces      😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷🙁🙂🙃🙄🧐👶🤓🤐🤑🤒🤔🤕🤗🤠🤡🤢🤣🤤🤥🤧🤨🤩🤪🤫🤬🤭🤮🤯
 176 file       📄
 177 fullmoon   🌕
 178 fullstop   .
 179 geq        ≥
 180 greatereq  ≥
 181 grin       😀
 182 happy      😀
 183 heart      ❤️
 184 hellip     …
 185 hellipsis  …
 186 hole       ○
 187 hyphen     -
 188 laugh      😄
 189 laughter   😄
 190 leq        ≤
 191 less       <
 192 lesseq     ≤
 193 lightning 🌩️
 194 ldquo      “
 195 ldquote    “
 196 lol        😂
 197 lsquo      ‘
 198 lsquote    ‘
 199 mdash      —
 200 mdot       ·
 201 more       >
 202 music        🎵
 203 musicalnote  🎵
 204 ndash        –
 205 neq          ≠
 206 not          ¬
 207 note         🎵
 208 notequal     ≠
 209 notequals    ≠
 210 oquote       “
 211 party        🥳
 212 period       .
 213 pipe         |
 214 question     ?
 215 rain         🌧️
 216 rdquo        ”
 217 rdquote      ”
 218 rofl         🤣
 219 rsquo        ’
 220 rsquote      ’
 221 semicolon    ;
 222 sharp        #
 223 shit         💩
 224 slash        /
 225 slasher      ⧸
 226 slashier     ⧸
 227 smile        🙂
 228 smirk        😏
 229 snow         ❄️
 230 square       ■
 231 squo         '
 232 squote       '
 233 singlequote  '
 234 star         ⭐
 235 sun          ☀️
 236 tilde        ~
 237 vbar         |
 238 verbar       |
 239 vertbar      |
 240 verticalbar  |
 241 vellip       ⋮
 242 vellipsis    ⋮
 243 
 244 alpha    α
 245 beta     β
 246 delta    δ
 247 eps      ε
 248 epsilon  ε
 249 gamma    γ
 250 lambda   λ
 251 omega    ω
 252 pi       π
 253 sigma    σ
 254 tau      τ
 255 theta    θ
 256 
 257 bigsigma      Σ
 258 capsigma      Σ
 259 capitalsigma  Σ
 260 
 261 alphabet        abcdefghijklmnopqrstuvwxyz
 262 asciiletters    abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
 263 digits          0123456789
 264 greek           αβγδεζηθικλμνξοπρστυφχψω
 265 hex             0123456789abcdef
 266 hexa            0123456789abcdef
 267 hexadec         0123456789abcdef
 268 hexadecimal     0123456789abcdef
 269 hexdigits       0123456789abcdefABCDEF
 270 inf             ∞
 271 infinity        ∞
 272 latin           abcdefghijklmnopqrstuvwxyz
 273 letters         abcdefghijklmnopqrstuvwxyz
 274 lower           abcdefghijklmnopqrstuvwxyz
 275 lowercase       abcdefghijklmnopqrstuvwxyz
 276 lowercasegreek  αβγδεζηθικλμνξοπρστυφχψω
 277 lowergreek      αβγδεζηθικλμνξοπρστυφχψω
 278 lowercasehex    0123456789abcdef
 279 lowerhex        0123456789abcdef
 280 math            +-×÷²³±
 281 midascii        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 282 octal           01234567
 283 octaldigits     01234567
 284 octdigits       01234567
 285 other           ✓✗✔❌
 286 plusminus       ±
 287 prod            Π
 288 product         Π
 289 punct           !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
 290 punctuation     !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
 291 sum             Σ
 292 summation       Σ
 293 upper           ABCDEFGHIJKLMNOPQRSTUVWXYZ
 294 uppercase       ABCDEFGHIJKLMNOPQRSTUVWXYZ
 295 uppercasegreek  ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
 296 uppergreek      ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
 297 uppercasehex    0123456789ABCDEF
 298 upperhex        0123456789ABCDEF
 299 visascii        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 300 visibleascii    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 301 
 302 cedilla      ç
 303 cedille      ç
 304 circumflexa  â
 305 circumflexe  ê
 306 circumflexi  î
 307 circumflexo  ô
 308 circumflexu  û
 309 frenchc      ç
 310 ene          ñ
 311 spanishn     ñ
 312 oslash       Ø
 313 oslashed     Ø
 314 ostroke      Ø
 315 ostroked     Ø
 316 slasho       Ø
 317 slashedo     Ø
 318 strokeo      Ø
 319 strokedo     Ø
 320 
 321 aud  A$
 322 brl  R$
 323 cad  C$
 324 chf  CHF
 325 clp  CLP
 326 cny  元
 327 czk  Kč
 328 dkk  DKK
 329 eur  €
 330 gbp  £
 331 hkd  HK$
 332 huf  Ft
 333 idr  Rp
 334 ils  ₪
 335 inr  ₹
 336 jpy  ¥
 337 krw  ₩
 338 mxn  MXN
 339 nok  NOK
 340 nzd  NZ$
 341 php  ₱
 342 pln  zł
 343 rub  ₽
 344 sar  ﷼
 345 sek  SEK
 346 sgd  S$
 347 thb  ฿
 348 try  ₺
 349 twd  NT$
 350 usd  $
 351 zar  R
 352 
 353 baht            ฿
 354 britishpound    £
 355 cent            ¢
 356 cents           ¢
 357 euro            €
 358 indianrupee     ₹
 359 koruna          Kč
 360 naira           ₦
 361 newshekel       ₪
 362 philippinepeso  ₱
 363 pound           £
 364 poundsterling   £
 365 renminbi        元
 366 riyal           ﷼
 367 ruble           ₽
 368 rupee           ₹
 369 saudiriyal      ﷼
 370 shekel          ₪
 371 sterling        £
 372 turkishlira     ₺
 373 won             ₩
 374 yen             ¥
 375 zloty           zł
 376 
 377 afghanistan    🇦🇫
 378 america        🇺🇸
 379 algeria        🇩🇿
 380 angola         🇦🇴
 381 arabia         🇸🇦
 382 arabemirates   🇦🇪
 383 argentina      🇦🇷
 384 australia      🇦🇺
 385 austria        🇦🇹
 386 bangladesh     🇧🇩
 387 belgium        🇧🇪
 388 brazil         🇧🇷
 389 britain        🇬🇧
 390 canada         🇨🇦
 391 chile          🇨🇱
 392 china          🇨🇳
 393 colombia       🇨🇴
 394 czechia        🇨🇿
 395 czechrepublic  🇨🇿
 396 denmark        🇩🇰
 397 dominicanrepublic  🇩🇴
 398 drc            🇨🇩
 399 drcongo        🇨🇩
 400 ecuador        🇪🇨
 401 egypt          🇪🇬
 402 emirates       🇦🇪
 403 england        🇬🇧
 404 ethiopia       🇪🇹
 405 europe         🇪🇺
 406 europeanunion  🇪🇺
 407 finland        🇫🇮
 408 france         🇫🇷
 409 germany        🇩🇪
 410 ghana          🇬🇭
 411 greatbritain   🇬🇧
 412 greece         🇬🇷
 413 holland        🇳🇱
 414 hungary        🇭🇺
 415 india          🇮🇳
 416 indonesia      🇮🇩
 417 iran           🇮🇷
 418 iraq           🇮🇶
 419 ireland        🇮🇪
 420 israel         🇮🇱
 421 italy          🇮🇹
 422 japan          🇯🇵
 423 kazakhstan     🇰🇿
 424 kenya          🇰🇪
 425 korea          🇰🇷
 426 kuwait         🇰🇼
 427 madagascar     🇲🇬
 428 malaysia       🇲🇾
 429 mexico         🇲🇽
 430 morocco        🇲🇦
 431 mozambique     🇲🇿
 432 myanmar        🇲🇲
 433 nepal          🇳🇵
 434 netherlands    🇳🇱
 435 newzealand     🇳🇿
 436 nigeria        🇳🇬
 437 northkorea     🇰🇵
 438 norway         🇳🇴
 439 pakistan       🇵🇰
 440 peru           🇵🇪
 441 philippines    🇵🇭
 442 poland         🇵🇱
 443 portugal       🇵🇹
 444 qatar          🇶🇦
 445 rok            🇰🇷
 446 romania        🇷🇴
 447 russia         🇷🇺
 448 saudiarabia    🇸🇦
 449 singapore      🇸🇬
 450 somalia        🇸🇴
 451 southafrica    🇿🇦
 452 southkorea     🇰🇷
 453 spain          🇪🇸
 454 srilanka       🇱🇰
 455 sudan          🇸🇩
 456 sweden         🇸🇪
 457 switzerland    🇨🇭
 458 taiwan         🇹🇼
 459 tanzania       🇹🇿
 460 thailand       🇹🇭
 461 turkey         🇹🇷
 462 uganda         🇺🇬
 463 ukraine        🇺🇦
 464 unitedarab     🇦🇪
 465 unitedarabemirates  🇦🇪
 466 unitedemirates 🇦🇪
 467 unitedkingdom  🇬🇧
 468 unitedstates   🇺🇸
 469 uzbekistan     🇺🇿
 470 yemen          🇾🇪
 471 venezuela      🇻🇪
 472 vietnam        🇻🇳
 473 
 474 af  🇦🇫
 475 ax  🇦🇽
 476 al  🇦🇱
 477 dz  🇩🇿
 478 as  🇦🇸
 479 ad  🇦🇩
 480 ao  🇦🇴
 481 ai  🇦🇮
 482 aq  🇦🇶
 483 ag  🇦🇬
 484 ar  🇦🇷
 485 am  🇦🇲
 486 aw  🇦🇼
 487 au  🇦🇺
 488 at  🇦🇹
 489 az  🇦🇿
 490 bs  🇧🇸
 491 bh  🇧🇭
 492 bd  🇧🇩
 493 bb  🇧🇧
 494 by  🇧🇾
 495 be  🇧🇪
 496 bz  🇧🇿
 497 bj  🇧🇯
 498 bm  🇧🇲
 499 bt  🇧🇹
 500 bo  🇧🇴
 501 bq  🇧🇶
 502 ba  🇧🇦
 503 bw  🇧🇼
 504 bv  🇧🇻
 505 br  🇧🇷
 506 io  🇮🇴
 507 bn  🇧🇳
 508 bg  🇧🇬
 509 bf  🇧🇫
 510 bi  🇧🇮
 511 cv  🇨🇻
 512 kh  🇰🇭
 513 cm  🇨🇲
 514 ca  🇨🇦
 515 ky  🇰🇾
 516 cf  🇨🇫
 517 td  🇹🇩
 518 cl  🇨🇱
 519 cn  🇨🇳
 520 cx  🇨🇽
 521 cc  🇨🇨
 522 co  🇨🇴
 523 km  🇰🇲
 524 cd  🇨🇩
 525 cg  🇨🇬
 526 ck  🇨🇰
 527 cr  🇨🇷
 528 ci  🇨🇮
 529 hr  🇭🇷
 530 cu  🇨🇺
 531 cw  🇨🇼
 532 cy  🇨🇾
 533 cz  🇨🇿
 534 dk  🇩🇰
 535 dj  🇩🇯
 536 dm  🇩🇲
 537 do  🇩🇴
 538 ec  🇪🇨
 539 eg  🇪🇬
 540 sv  🇸🇻
 541 gq  🇬🇶
 542 er  🇪🇷
 543 ee  🇪🇪
 544 sz  🇸🇿
 545 et  🇪🇹
 546 eu  🇪🇺
 547 fk  🇫🇰
 548 fo  🇫🇴
 549 fj  🇫🇯
 550 fi  🇫🇮
 551 fr  🇫🇷
 552 gf  🇬🇫
 553 pf  🇵🇫
 554 tf  🇹🇫
 555 ga  🇬🇦
 556 gm  🇬🇲
 557 ge  🇬🇪
 558 de  🇩🇪
 559 gh  🇬🇭
 560 gi  🇬🇮
 561 gr  🇬🇷
 562 gl  🇬🇱
 563 gd  🇬🇩
 564 gp  🇬🇵
 565 gu  🇬🇺
 566 gt  🇬🇹
 567 gg  🇬🇬
 568 gn  🇬🇳
 569 gw  🇬🇼
 570 gy  🇬🇾
 571 ht  🇭🇹
 572 hm  🇭🇲
 573 va  🇻🇦
 574 hn  🇭🇳
 575 hk  🇭🇰
 576 hu  🇭🇺
 577 is  🇮🇸
 578 in  🇮🇳
 579 id  🇮🇩
 580 ir  🇮🇷
 581 iq  🇮🇶
 582 ie  🇮🇪
 583 im  🇮🇲
 584 il  🇮🇱
 585 it  🇮🇹
 586 jm  🇯🇲
 587 jp  🇯🇵
 588 je  🇯🇪
 589 jo  🇯🇴
 590 kz  🇰🇿
 591 ke  🇰🇪
 592 ki  🇰🇮
 593 kp  🇰🇵
 594 kr  🇰🇷
 595 kw  🇰🇼
 596 kg  🇰🇬
 597 la  🇱🇦
 598 lv  🇱🇻
 599 lb  🇱🇧
 600 ls  🇱🇸
 601 lr  🇱🇷
 602 ly  🇱🇾
 603 li  🇱🇮
 604 lt  🇱🇹
 605 lu  🇱🇺
 606 mo  🇲🇴
 607 mk  🇲🇰
 608 mg  🇲🇬
 609 mw  🇲🇼
 610 my  🇲🇾
 611 mv  🇲🇻
 612 ml  🇲🇱
 613 mt  🇲🇹
 614 mh  🇲🇭
 615 mq  🇲🇶
 616 mr  🇲🇷
 617 mu  🇲🇺
 618 yt  🇾🇹
 619 mx  🇲🇽
 620 fm  🇫🇲
 621 md  🇲🇩
 622 mc  🇲🇨
 623 mn  🇲🇳
 624 me  🇲🇪
 625 ms  🇲🇸
 626 ma  🇲🇦
 627 mz  🇲🇿
 628 mm  🇲🇲
 629 na  🇳🇦
 630 nr  🇳🇷
 631 np  🇳🇵
 632 nl  🇳🇱
 633 nc  🇳🇨
 634 nz  🇳🇿
 635 ni  🇳🇮
 636 ne  🇳🇪
 637 ng  🇳🇬
 638 nu  🇳🇺
 639 nf  🇳🇫
 640 mp  🇲🇵
 641 no  🇳🇴
 642 om  🇴🇲
 643 pk  🇵🇰
 644 pw  🇵🇼
 645 ps  🇵🇸
 646 pa  🇵🇦
 647 pg  🇵🇬
 648 py  🇵🇾
 649 pe  🇵🇪
 650 ph  🇵🇭
 651 pn  🇵🇳
 652 pl  🇵🇱
 653 pt  🇵🇹
 654 pr  🇵🇷
 655 qa  🇶🇦
 656 re  🇷🇪
 657 ro  🇷🇴
 658 ru  🇷🇺
 659 rw  🇷🇼
 660 bl  🇧🇱
 661 sh  🇸🇭
 662 kn  🇰🇳
 663 lc  🇱🇨
 664 mf  🇲🇫
 665 pm  🇵🇲
 666 vc  🇻🇨
 667 ws  🇼🇸
 668 sm  🇸🇲
 669 st  🇸🇹
 670 sa  🇸🇦
 671 sn  🇸🇳
 672 rs  🇷🇸
 673 sc  🇸🇨
 674 sl  🇸🇱
 675 sg  🇸🇬
 676 sx  🇸🇽
 677 sk  🇸🇰
 678 si  🇸🇮
 679 sb  🇸🇧
 680 so  🇸🇴
 681 za  🇿🇦
 682 gs  🇬🇸
 683 ss  🇸🇸
 684 es  🇪🇸
 685 lk  🇱🇰
 686 sd  🇸🇩
 687 sr  🇸🇷
 688 sj  🇸🇯
 689 se  🇸🇪
 690 ch  🇨🇭
 691 sy  🇸🇾
 692 tw  🇹🇼
 693 tj  🇹🇯
 694 tz  🇹🇿
 695 th  🇹🇭
 696 tl  🇹🇱
 697 tg  🇹🇬
 698 tk  🇹🇰
 699 to  🇹🇴
 700 tt  🇹🇹
 701 tn  🇹🇳
 702 tr  🇹🇷
 703 tm  🇹🇲
 704 tc  🇹🇨
 705 tv  🇹🇻
 706 ug  🇺🇬
 707 ua  🇺🇦
 708 ae  🇦🇪
 709 gb  🇬🇧
 710 um  🇺🇲
 711 us  🇺🇸
 712 uy  🇺🇾
 713 uz  🇺🇿
 714 vu  🇻🇺
 715 ve  🇻🇪
 716 vn  🇻🇳
 717 vg  🇻🇬
 718 vi  🇻🇮
 719 wf  🇼🇫
 720 eh  🇪🇭
 721 ye  🇾🇪
 722 zm  🇿🇲
 723 zw  🇿🇼
 724 
 725 afg  🇦🇫
 726 ala  🇦🇽
 727 alb  🇦🇱
 728 dza  🇩🇿
 729 asm  🇦🇸
 730 and  🇦🇩
 731 ago  🇦🇴
 732 aia  🇦🇮
 733 ata  🇦🇶
 734 atg  🇦🇬
 735 arg  🇦🇷
 736 arm  🇦🇲
 737 abw  🇦🇼
 738 aus  🇦🇺
 739 aut  🇦🇹
 740 aze  🇦🇿
 741 bhs  🇧🇸
 742 bhr  🇧🇭
 743 bgd  🇧🇩
 744 brb  🇧🇧
 745 blr  🇧🇾
 746 bel  🇧🇪
 747 blz  🇧🇿
 748 ben  🇧🇯
 749 bmu  🇧🇲
 750 btn  🇧🇹
 751 bol  🇧🇴
 752 bes  🇧🇶
 753 bih  🇧🇦
 754 bwa  🇧🇼
 755 bvt  🇧🇻
 756 bra  🇧🇷
 757 iot  🇮🇴
 758 brn  🇧🇳
 759 bgr  🇧🇬
 760 bfa  🇧🇫
 761 bdi  🇧🇮
 762 cpv  🇨🇻
 763 khm  🇰🇭
 764 cmr  🇨🇲
 765 can  🇨🇦
 766 cym  🇰🇾
 767 caf  🇨🇫
 768 tcd  🇹🇩
 769 chl  🇨🇱
 770 chn  🇨🇳
 771 cxr  🇨🇽
 772 cck  🇨🇨
 773 col  🇨🇴
 774 com  🇰🇲
 775 cod  🇨🇩
 776 cog  🇨🇬
 777 cok  🇨🇰
 778 cri  🇨🇷
 779 civ  🇨🇮
 780 hrv  🇭🇷
 781 cub  🇨🇺
 782 cuw  🇨🇼
 783 cyp  🇨🇾
 784 cze  🇨🇿
 785 dnk  🇩🇰
 786 dji  🇩🇯
 787 dma  🇩🇲
 788 dom  🇩🇴
 789 ecu  🇪🇨
 790 egy  🇪🇬
 791 slv  🇸🇻
 792 gnq  🇬🇶
 793 eri  🇪🇷
 794 est  🇪🇪
 795 swz  🇸🇿
 796 eth  🇪🇹
 797 flk  🇫🇰
 798 fro  🇫🇴
 799 fji  🇫🇯
 800 fin  🇫🇮
 801 fra  🇫🇷
 802 guf  🇬🇫
 803 pyf  🇵🇫
 804 atf  🇹🇫
 805 gab  🇬🇦
 806 gmb  🇬🇲
 807 geo  🇬🇪
 808 deu  🇩🇪
 809 gha  🇬🇭
 810 gib  🇬🇮
 811 grc  🇬🇷
 812 grl  🇬🇱
 813 grd  🇬🇩
 814 glp  🇬🇵
 815 gum  🇬🇺
 816 gtm  🇬🇹
 817 ggy  🇬🇬
 818 gin  🇬🇳
 819 gnb  🇬🇼
 820 guy  🇬🇾
 821 hti  🇭🇹
 822 hmd  🇭🇲
 823 vat  🇻🇦
 824 hnd  🇭🇳
 825 hkg  🇭🇰
 826 hun  🇭🇺
 827 isl  🇮🇸
 828 ind  🇮🇳
 829 idn  🇮🇩
 830 irn  🇮🇷
 831 irq  🇮🇶
 832 irl  🇮🇪
 833 imn  🇮🇲
 834 isr  🇮🇱
 835 ita  🇮🇹
 836 jam  🇯🇲
 837 jpn  🇯🇵
 838 jey  🇯🇪
 839 jor  🇯🇴
 840 kaz  🇰🇿
 841 ken  🇰🇪
 842 kir  🇰🇮
 843 prk  🇰🇵
 844 kor  🇰🇷
 845 kwt  🇰🇼
 846 kgz  🇰🇬
 847 lao  🇱🇦
 848 lva  🇱🇻
 849 lbn  🇱🇧
 850 lso  🇱🇸
 851 lbr  🇱🇷
 852 lby  🇱🇾
 853 lie  🇱🇮
 854 ltu  🇱🇹
 855 lux  🇱🇺
 856 mac  🇲🇴
 857 mkd  🇲🇰
 858 mdg  🇲🇬
 859 mwi  🇲🇼
 860 mys  🇲🇾
 861 mdv  🇲🇻
 862 mli  🇲🇱
 863 mlt  🇲🇹
 864 mhl  🇲🇭
 865 mtq  🇲🇶
 866 mrt  🇲🇷
 867 mus  🇲🇺
 868 myt  🇾🇹
 869 mex  🇲🇽
 870 fsm  🇫🇲
 871 mda  🇲🇩
 872 mco  🇲🇨
 873 mng  🇲🇳
 874 mne  🇲🇪
 875 msr  🇲🇸
 876 mar  🇲🇦
 877 moz  🇲🇿
 878 mmr  🇲🇲
 879 nam  🇳🇦
 880 nru  🇳🇷
 881 npl  🇳🇵
 882 nld  🇳🇱
 883 ncl  🇳🇨
 884 nzl  🇳🇿
 885 nic  🇳🇮
 886 ner  🇳🇪
 887 nga  🇳🇬
 888 niu  🇳🇺
 889 nfk  🇳🇫
 890 mnp  🇲🇵
 891 nor  🇳🇴
 892 omn  🇴🇲
 893 pak  🇵🇰
 894 plw  🇵🇼
 895 pse  🇵🇸
 896 pan  🇵🇦
 897 png  🇵🇬
 898 pry  🇵🇾
 899 per  🇵🇪
 900 phl  🇵🇭
 901 pcn  🇵🇳
 902 pol  🇵🇱
 903 prt  🇵🇹
 904 pri  🇵🇷
 905 qat  🇶🇦
 906 reu  🇷🇪
 907 rou  🇷🇴
 908 rus  🇷🇺
 909 rwa  🇷🇼
 910 blm  🇧🇱
 911 shn  🇸🇭
 912 kna  🇰🇳
 913 lca  🇱🇨
 914 maf  🇲🇫
 915 spm  🇵🇲
 916 vct  🇻🇨
 917 wsm  🇼🇸
 918 smr  🇸🇲
 919 stp  🇸🇹
 920 sau  🇸🇦
 921 sen  🇸🇳
 922 srb  🇷🇸
 923 syc  🇸🇨
 924 sle  🇸🇱
 925 sgp  🇸🇬
 926 sxm  🇸🇽
 927 svk  🇸🇰
 928 svn  🇸🇮
 929 slb  🇸🇧
 930 som  🇸🇴
 931 zaf  🇿🇦
 932 sgs  🇬🇸
 933 ssd  🇸🇸
 934 esp  🇪🇸
 935 lka  🇱🇰
 936 sdn  🇸🇩
 937 sur  🇸🇷
 938 sjm  🇸🇯
 939 swe  🇸🇪
 940 che  🇨🇭
 941 syr  🇸🇾
 942 twn  🇹🇼
 943 tjk  🇹🇯
 944 tza  🇹🇿
 945 tha  🇹🇭
 946 tls  🇹🇱
 947 tgo  🇹🇬
 948 tkl  🇹🇰
 949 ton  🇹🇴
 950 tto  🇹🇹
 951 tun  🇹🇳
 952 tur  🇹🇷
 953 tkm  🇹🇲
 954 tca  🇹🇨
 955 tuv  🇹🇻
 956 uga  🇺🇬
 957 ukr  🇺🇦
 958 are  🇦🇪
 959 gbr  🇬🇧
 960 uae  🇦🇪
 961 umi  🇺🇲
 962 usa  🇺🇸
 963 ury  🇺🇾
 964 uzb  🇺🇿
 965 vut  🇻🇺
 966 ven  🇻🇪
 967 vnm  🇻🇳
 968 vgb  🇻🇬
 969 vir  🇻🇮
 970 wlf  🇼🇫
 971 esh  🇪🇭
 972 yem  🇾🇪
 973 zmb  🇿🇲
 974 zwe  🇿🇼
 975 ENDOFDATA