Author Topic: 🎄🎁✨ Holiday Season - are you ready to code?  (Read 39100 times)

0 Members and 1 Guest are viewing this topic.

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Re: 🎄🎁✨ Holiday Season - are you ready to code?
« Reply #105 on: December 22, 2020, 07:13:48 pm »
  • Best Answer
  • And something which might make a nice little screensaver of sorts, for the season:

    Code: QB64: [Select]
    1. SCREEN _NEWIMAGE(1280, 720, 32)
    2.  
    3. TYPE Firework
    4.     x AS _FLOAT
    5.     y AS _FLOAT
    6.     Xchange AS _FLOAT
    7.     Ychange AS _FLOAT
    8.     countdown AS _FLOAT
    9.  
    10. TYPE Sparks
    11.     x AS _FLOAT
    12.     y AS _FLOAT
    13.     Xchange AS _FLOAT
    14.     Ychange AS _FLOAT
    15.     countdown AS _FLOAT
    16.  
    17.  
    18.  
    19.  
    20. DIM SHARED Firework(20) AS Firework
    21. DIM SHARED Sparks(180 * 21) AS Sparks
    22. FOR i = 0 TO UBOUND(firework): GenerateFirework (i): NEXT
    23. f = _LOADFONT("OLDENGL.TTF", 72)
    24.  
    25.     LINE (0, 0)-(1280, 720), _RGBA32(0, 0, 0, 10), BF
    26.     DisplayMessage
    27.     FOR i = 0 TO UBOUND(firework)
    28.         Firework(i).x = Firework(i).x + Firework(i).Xchange
    29.         Firework(i).y = Firework(i).y + Firework(i).Ychange
    30.         CircleFill Firework(i).x, Firework(i).y, 5, Firework(i).color
    31.         IF Firework(i).countdown < ExtendedTimer THEN
    32.             GenerateSparks (i)
    33.             GenerateFirework (i)
    34.         END IF
    35.     NEXT
    36.     FOR i = 0 TO UBOUND(sparks)
    37.         Sparks(i).x = Sparks(i).x + Sparks(i).Xchange
    38.         Sparks(i).y = Sparks(i).y + Sparks(i).Ychange
    39.         CircleFill Sparks(i).x, Sparks(i).y, 2, Sparks(i).color
    40.         IF Sparks(i).countdown < ExtendedTimer THEN Sparks(i).color = 0
    41.     NEXT
    42.     _LIMIT 60
    43.     _DISPLAY
    44.  
    45.  
    46.  
    47. SUB GenerateFirework (which)
    48.     Firework(which).x = RND * _WIDTH(0)
    49.     Firework(which).y = 720
    50.     DO: Firework(which).Xchange = RND * 8 - 4: LOOP UNTIL Firework(which).Xchange <> 0
    51.     DO: Firework(which).Ychange = RND * -4: LOOP UNTIL Firework(which).Ychange <> 0
    52.     Firework(which).color = _RGB32(RND * 256, RND * 256, RND * 256)
    53.     Firework(which).countdown = ExtendedTimer + RND * 8
    54.  
    55. SUB GenerateSparks (which)
    56.     count = 180 * which - 1
    57.     DIM cd AS _FLOAT: cd = ExtendedTimer + RND * 4
    58.     FOR j = 0 TO _D2R(360) STEP _D2R(2)
    59.         count = count + 1
    60.         Sparks(count).x = Firework(which).x
    61.         Sparks(count).y = Firework(which).y
    62.         r = RND * 3
    63.         Sparks(count).Xchange = SIN(j) * r
    64.         Sparks(count).Ychange = COS(j) * r
    65.         Sparks(count).color = Firework(which).color
    66.         Sparks(count).countdown = ExtendedTimer + RND * 4
    67.     NEXT
    68.  
    69.  
    70. SUB DisplayMessage
    71.     STATIC T AS _FLOAT, c AS _FLOAT
    72.     IF T = 0 THEN T = ExtendedTimer
    73.     et = ExtendedTimer - T 'elapsed time
    74.     SELECT CASE et
    75.         CASE IS < 8
    76.             c = 255 / 8 * (et - 0) 'fade in
    77.             text$ = "Merry Christmas"
    78.         CASE IS < 16
    79.             c = 255 - 255 / 8 * (et - 8) 'fade out
    80.             text$ = "Merry Christmas"
    81.         CASE IS < 32
    82.             c = 255 / 8 * (et - 16) 'fade in
    83.             text$ = "Happy New Years"
    84.         CASE IS < 48
    85.             c = 255 - 255 / 8 * (et - 32) 'fade out
    86.             text$ = "Happy New Years"
    87.         CASE ELSE
    88.             T = ExtendedTimer
    89.     END SELECT
    90.     COLOR _RGB32(c), 0
    91.     _PRINTSTRING ((_WIDTH - _PRINTWIDTH(text$)) / 2, 320), text$
    92.  
    93.  
    94.  
    95. SUB CircleFill (CX AS INTEGER, CY AS INTEGER, R AS INTEGER, C AS _UNSIGNED LONG)
    96.     ' CX = center x coordinate
    97.     ' CY = center y coordinate
    98.     '  R = radius
    99.     '  C = fill color
    100.     DIM Radius AS INTEGER, RadiusError AS INTEGER
    101.     DIM X AS INTEGER, Y AS INTEGER
    102.     Radius = ABS(R)
    103.     RadiusError = -Radius
    104.     X = Radius
    105.     Y = 0
    106.     IF Radius = 0 THEN PSET (CX, CY), C: EXIT SUB
    107.     LINE (CX - X, CY)-(CX + X, CY), C, BF
    108.     WHILE X > Y
    109.         RadiusError = RadiusError + Y * 2 + 1
    110.         IF RadiusError >= 0 THEN
    111.             IF X <> Y + 1 THEN
    112.                 LINE (CX - Y, CY - X)-(CX + Y, CY - X), C, BF
    113.                 LINE (CX - Y, CY + X)-(CX + Y, CY + X), C, BF
    114.             END IF
    115.             X = X - 1
    116.             RadiusError = RadiusError - X * 2
    117.         END IF
    118.         Y = Y + 1
    119.         LINE (CX - X, CY - Y)-(CX + X, CY - Y), C, BF
    120.         LINE (CX - X, CY + Y)-(CX + X, CY + Y), C, BF
    121.     WEND
    122.  
    123. FUNCTION ExtendedTimer##
    124.     d$ = DATE$
    125.     l = INSTR(d$, "-")
    126.     l1 = INSTR(l + 1, d$, "-")
    127.     m = VAL(LEFT$(d$, l))
    128.     d = VAL(MID$(d$, l + 1))
    129.     y = VAL(MID$(d$, l1 + 1)) - 1970
    130.     FOR i = 1 TO m
    131.         SELECT CASE i 'Add the number of days for each previous month passed
    132.             CASE 1: d = d 'January doestn't have any carry over days.
    133.             CASE 2, 4, 6, 8, 9, 11: d = d + 31
    134.             CASE 3: d = d + 28
    135.             CASE 5, 7, 10, 12: d = d + 30
    136.         END SELECT
    137.     NEXT
    138.     FOR i = 1 TO y
    139.         d = d + 365
    140.     NEXT
    141.     FOR i = 2 TO y STEP 4
    142.         IF m > 2 THEN d = d + 1 'add an extra day for leap year every 4 years, starting in 1970
    143.     NEXT
    144.     d = d - 1 'for year 2000
    145.     s~&& = d * 24 * 60 * 60 'Seconds are days * 24 hours * 60 minutes * 60 seconds
    146.     ExtendedTimer## = (s~&& + TIMER)
    147.  

    If needed, font can be downloaded here: https://www.wfonts.com/download/data/2015/11/25/oldenglish/OLDENGL.TTF
    « Last Edit: December 23, 2020, 01:02:04 am by SMcNeill »
    https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!

    Offline Dav

    • Forum Resident
    • Posts: 792
      • View Profile
    @Dav is it ok to feature your Silent Night rendition on said video?

    @FellippeHeitor would you need a higher quality sound file for that?  I haven't deleted the original recording yet (was about too then I thought of this request).  The one in the screen save was saved at the lowest quality to make the filesize attachment limit.

    @Steve:  Nice fireworks!  I had to comment the olde english font first, my system doesn't have it.

    - Dav

    FellippeHeitor

    • Guest
    Re: 🎄🎁✨ Holiday Season - are you ready to code?
    « Reply #107 on: December 22, 2020, 10:01:14 pm »
  • Best Answer
  • @Dav I was gonna extract it from your resource file, but a higher quality version sure comes handy.

    Offline SMcNeill

    • QB64 Developer
    • Forum Resident
    • Posts: 3972
      • View Profile
      • Steve’s QB64 Archive Forum
    @Steve:  Nice fireworks!  I had to comment the olde english font first, my system doesn't have it.

    - Dav

    I thought it was a standard Windows font, but after doing some digging, it seems it's from MS Office (Word).  There's a link to it above, now, if you want to see it with the proper font is use.  ;)
    https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!

    FellippeHeitor

    • Guest
    Re: 🎄🎁✨ Holiday Season - are you ready to code?
    « Reply #109 on: December 23, 2020, 10:49:10 am »
  • Best Answer
  • My lazy 2020 submission: Xmas Themed LED Gif Player (loud beeping song warning!):

    Code: QB64: [Select]
    1.  
    2. TYPE object
    3.     x AS SINGLE
    4.     y AS SINGLE
    5.     c AS _UNSIGNED LONG
    6.  
    7. SCREEN _NEWIMAGE(800, 540, 32)
    8.  
    9. '78x52
    10. CONST maxW = 78
    11. CONST maxH = 52
    12. DIM px(1 TO maxW, 1 TO maxH) AS object
    13. DIM i AS INTEGER, j AS INTEGER, temp$
    14. DIM frame AS INTEGER
    15.  
    16. CONST offset = 5
    17. FOR i = 1 TO maxW
    18.     FOR j = 1 TO maxH
    19.         px(i, j).x = offset + i * 10
    20.         px(i, j).y = offset + j * 10
    21.     NEXT
    22.  
    23. ' We Wish You a Merry Christmas
    24. ' from http://www.devsuperpage.com/search/Articles.aspx?G=5&ArtID=116269
    25. PLAY "mb t120"
    26. PLAY "o3l4dgg8a8g8f#8"
    27. PLAY "eceaa8b8a8g8f#dd"
    28. PLAY "bb8o4c8o3b8a8ged8d8eaf#g2"
    29. PLAY "dgggf#2f#gf#ed2a"
    30. PLAY "ba8a8g8g8o4do3dd8d8eaf#g2"
    31. PLAY "p1"
    32.  
    33.     frame = frame + 1
    34.     IF frame > 4 THEN frame = 1
    35.  
    36.     SELECT CASE frame
    37.         CASE 1: RESTORE frame1
    38.         CASE 2: RESTORE frame2
    39.         CASE 3: RESTORE frame3
    40.         CASE 4: RESTORE frame4
    41.     END SELECT
    42.  
    43.     CLS
    44.     FOR j = 1 TO maxH
    45.         FOR i = 1 TO maxW
    46.             READ temp$
    47.             IF temp$ <> "0" THEN
    48.                 px(i, j).c = VAL("&H" + temp$)
    49.             ELSE
    50.                 px(i, j).c = _RGB32(21)
    51.             END IF
    52.             CircleFill px(i, j).x, px(i, j).y, 2, px(i, j).c
    53.         NEXT
    54.     NEXT
    55.  
    56.     _DISPLAY
    57.     _LIMIT 5
    58.  
    59. 'image source https://giphy.com/gifs/studiosoriginals-merry-christmas-3o6fJdYXEvMa5ZmlI4
    60.  
    61. frame1:
    62. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    63. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    64. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    65. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    66. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    67. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF130303,FF0C0A03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    68. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1B0404,FF0B0202,0,FF0B0202,0,0,FF0B0202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF130303,FF0B0202,0,FF0B0202,0,0,0,0,0,0,0,0,0,0,0
    69. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1B0404,0,FF9A3434,FFC54C4C,0,FF130303,0,0,0,0,0,FF0B0202,0,0,FF130303,FF1B0404,FF1B0404,FF130303,FF0B0202,0,0,FF130303,0,0,FF0B0202,0,0,0,0,0,0,0,0,0
    70. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF771B1B,FF3C0000,FF000C0B,0,FFEE6D6D,FFD76565,0,FF1D150D,FF130303,0,0,FF1D0A0A,FF1B0404,FF0B0B0B,0,FF130303,0,0,0,0,0,FF631313,FF4B1212,0,FFA73C3C,FFBB4545,0,FF1D0A0A,0,0,0,0,0,0,0,0
    71. DATA 0,0,0,0,0,0,0,0,0,FF0A1A0C,FF0C130C,0,0,0,FF0A1A0C,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0202,FF000C0B,FF2C0000,FFEB6262,FF9A3434,0,FF8D211F,FFFF7E7E,FFB44343,0,FF2A0F10,0,0,FF0B0202,0,0,0,FF1B0404,0,FF7B2323,FF8D211F,FF9A3434,FFAD4341,0,FFE45C5C,FF8C2D2D,0,FFF46C6C,FFBC4A4A,0,FF220B0B,0,0,0,0,0,0,0,0
    72. DATA 0,0,0,0,0,0,0,0,0,0,0,FF0A040A,FF0A1A0C,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0A1A0C,0,0,0,0,0,0,0,0,0,0,FF1B0404,0,FF5B0101,FFFF7E7E,FFBC4A4A,0,FFD45354,FFFD6B6B,FF9A3434,0,0,FF5B0101,FF220202,FF1B0404,FFB44343,FF9B2A29,FFD45354,FF6F1D1D,0,FFBC4A4A,FFF26665,FFFA7272,FFB54A48,FF4C0000,FFF46C6C,FF5B0101,FF8C2D2D,FFFA7272,FF540000,0,FF130303,0,0,0,0,0,0,0,0
    73. DATA 0,0,0,0,0,0,0,0,FF021F00,FF3E7C3F,FF316B32,0,0,0,FF438645,FF143C15,0,FF0A1A0C,0,0,0,0,0,0,0,0,0,FF030B03,0,0,0,0,0,FF030B03,0,0,0,0,0,FF1B0404,0,FF832525,FFFA7272,FFCC5151,FF871314,FFE45C5C,FFE15555,FF8C2D2D,0,FFBB4545,FFF26665,FFC54C4C,FF630000,FFF46C6C,FFEB6262,FFEE6D6D,FF430101,0,FFDD5A5A,FFAF2D2D,FFDB5555,FF7B2323,FF832525,FFF46C6C,0,FFC54C4C,FFD45354,0,FF1D0A0A,0,0,0,0,0,0,0,0,0
    74. DATA 0,0,0,0,0,0,0,FF0B0B0B,0,FF78CC7A,FF71CC73,FF5CB35D,FF3E7C3F,FF4B994D,FF83DD84,FF2A642C,0,0,0,0,0,0,FF041304,0,0,FF0C130C,FF030B03,FF030B03,FF539452,FF143C15,0,FF131D0F,FF131414,0,0,0,0,0,FF220B0B,FF2A0F10,0,FFAD4341,FFE15555,FFD74C4C,FFD45354,FFC64242,FFDD5A5A,FF6E1414,FF9A3434,FFE45C5C,FFAD2626,FFE45C5C,FFAF2D2D,FFD45354,FFAD2626,FFD45354,0,FF7B2323,FFEB6262,FF6B0000,FFE45C5C,FF540000,FFB54A48,FFFF7E7E,FF870000,FFFA7272,FFA73C3C,0,FF1D0A0A,0,0,0,0,0,0,0,0,0
    75. DATA 0,0,0,0,0,0,0,FF041304,0,FF2A642C,FF5CB35D,FF186C1C,FF63BC65,FF56A358,FF52AC54,FF357837,FF003000,FF61AC62,FF0E2F0F,0,FF030B03,0,0,0,FF0A1A0C,0,0,FF205422,FF88E38A,FF357837,0,0,0,FF003B00,FF0A1A0C,0,FF0B0202,0,0,0,0,FFD45354,FFB43535,FFDD5A5A,FFFA7272,FF870000,FFE56161,FF630000,FFDD5A5A,FFAF2D2D,FFE45C5C,FFB43535,FFDB5555,FFA33636,FFB33C3B,FFCC5151,0,FFDD5A5A,FFBB4545,0,FFE56161,FFBA3C3C,FFE45C5C,FFE45C5C,FFE45C5C,FFF46C6C,FFA73C3C,0,FF1D0A0A,0,0,0,0,0,0,0,0,0
    76. DATA 0,0,0,0,0,0,0,0,FF131414,0,FF66C069,FF3E7C3F,FF003000,FF003000,FF438645,FF6CC66D,FF63BC65,FF7AD57C,FF114713,0,FF030B03,0,FF2A642C,0,FF021F00,FF71C373,FF014803,FF519C53,FF5EBA60,FF5AAC5C,FF316B32,FF4B994D,FF71C373,FF71C373,0,FF14140D,0,FF220202,FFB44343,FF832928,FF340101,FFEB6262,FF630000,FFAD4341,FFBC4A4A,FF5B0101,FFE45C5C,FF5B0101,FFDB5555,FFE15555,FFBA3C3C,FFAF2D2D,FFEB6262,0,FF9A3434,FFEA5E5E,FFCC4C4C,FFDD5A5A,FF220202,0,FF922E2E,FFE45C5C,FFB33C3B,FFA31D1D,FFC64242,FFC64242,FFBC4A4A,0,FF220B0B,0,0,0,0,0,0,0,0,0
    77. DATA 0,0,0,0,0,0,0,FF0C130C,0,FF71C373,FF7AD57C,FF005700,FF316B32,FF62B464,FF003B00,FF5AAC5C,FF278532,FF52AC54,0,0,FF1C1D1D,0,FF71CC73,FF62B464,FF005700,FF71CC73,FF6CC66D,FF66C069,FF003000,FF66C069,FF5CB35D,FF52AC54,FF7AD57C,FF316B32,0,FF1C1B0C,0,FFCC4C4C,FFE45C5C,FF430101,FF9A3434,FFE45C5C,0,0,0,FF4A0D00,FFEB6262,FFAF2D2D,FFE15555,FFDB5555,FFB33C3B,FFF26665,FF832525,0,FF220202,FFB44343,FFC54C4C,FF430101,0,FF1B0404,0,0,FF630000,FFF26665,FF8D211F,FFC54C4C,FFBC4A4A,0,FF220B0B,0,0,0,0,0,0,0,0,0
    78. DATA 0,0,0,0,0,0,0,0,0,FF2A642C,FF429544,FF71CC73,FF3C893E,FF5CB35D,FF3B733A,0,FF5AAC5C,FF5EBA60,FF3C893E,FF3E7C3F,0,0,FF5CB35D,FF52AC54,FF73D375,FF4B994D,FF498A4A,FF3B733A,0,0,FF003000,FF6BBE6D,FF316B32,0,FF131D0F,0,FF4C0000,FFEB6262,FF4C0000,0,FFEA5E5E,FFA33636,0,FF24221A,FF130303,0,FFBB4545,FFE45C5C,FF8D211F,FFBC4A4A,FFCD3448,FF6B0000,0,FF1D0A0A,0,0,0,0,FF130303,0,FF2A0F10,0,FFC54C4C,FFC54C4C,0,FFDD5A5A,FFA73C3C,0,FF220B0B,0,0,0,0,0,0,0,0,0
    79. DATA 0,0,0,0,0,0,0,FF030B03,0,FF003000,FF459D48,FF63BC65,FF316B32,FF357837,FF63BC65,0,FF61AC62,FF5AAC5C,FF73D375,FF52A454,FF5AAC5C,FF52A454,FF5CB35D,FF003000,FF61AC62,FF3E7C3F,0,FF438645,FF63BC65,FF2B762D,FF6CC66D,FF368538,0,FF0E2F0F,0,FF0B0B0B,0,FFD45354,FFD45354,FFDB5555,FFD45354,0,0,0,FF316B32,FF174B1A,0,FF041304,0,0,FF038140,FF3A8C4C,FF021F00,FF0A1A0C,FF131D0F,FF1C0709,FF2A0F10,FF4C0000,FF0B0202,0,FF220B0B,0,FFC54C4C,FFD45354,FFA83232,FFEB6262,FF4C0000,0,FF130303,FF0B0202,0,0,FF130303,FF220B0B,FF0B0202,0,0,0
    80. DATA 0,0,0,0,0,0,0,FF0A1A0C,0,FF56A358,FF83DD84,FF429544,0,0,FF62B464,FF438645,0,FF021F00,FF63BC65,FF003000,FF62B464,FF73D375,FF71CC73,0,0,FF357837,FF66C069,FF5CB35D,FF014803,FF519C53,FF71CC73,FF5EBA60,FF7AD57C,FF003000,0,FF1D0A0A,0,FF430101,FFB44343,FFA73C3C,FF0B0202,0,FF316B32,FF71C373,FF83DD84,FF80D381,0,0,FF3B733A,FF80D381,FF71CC73,FF88E38A,FF498A4A,0,0,FF030B03,FF631313,FFD45354,FF340101,0,FF130303,0,FF580C0C,FFD45354,FFDD5A5A,FF771B1B,0,FF2A0F10,FF130303,0,0,FF130303,0,0,0,FF0B0202,0,0
    81. DATA 0,0,0,0,0,0,0,0,0,FF030B03,FF205422,FF52A454,FF71CC73,FF3B733A,FF114713,FF6CC66D,0,FF438645,FF5AAC5C,0,FF5CB35D,FF2B762D,FF205422,FF003B00,FF62B464,FF63BC65,FF2A642C,0,0,0,FF459D48,FF71CC73,FF498A4A,0,FF1D150D,0,0,FF000C0B,0,0,FF0A1A0C,0,FF519C53,FF429544,FF71C373,FF6AB36B,0,FF62B464,FF88E38A,FF498A4A,FF014803,FF80D381,FF005700,FF438645,FF539452,0,FF832928,FFD45354,0,FF0B0B0B,FF1B0404,FF1B0404,0,0,0,0,FF000C0B,0,0,FF2C0000,FF1B0404,0,FF631313,FFB44343,FF580C0C,0,FF0B0202,0
    82. DATA 0,0,0,0,0,0,0,0,0,0,0,FF3C893E,FF6CC66D,FF357837,0,FF519C53,FF5AAC5C,FF005700,FF4B994D,FF2B762D,FF66C069,0,FF357837,FF6CC66D,FF498A4A,0,0,0,FF498A4A,FF63BC65,FF52A454,FF114713,0,FF1D150D,0,FF130303,FF4C0000,0,FF1D0A0A,FF1B0404,FF220202,FF62211A,0,FF2A642C,FF80D381,FF014803,FF78CC7A,FF78CC7A,FF003B00,0,FF205422,FF80D381,FF78CC7A,FF7AD57C,FF438645,FF540000,FFB33C3B,FFD24545,FFB33C3B,FF340101,0,0,0,0,FF000C0B,0,FF3C0000,FFBC4A4A,FFB33C3B,FFCC4C4C,0,FF631313,FFDB5555,FFFD6B6B,FF9A3434,0,FF220202,0
    83. DATA 0,0,0,0,0,0,0,0,FF0A1A0C,0,FF539452,FF88E38A,FF52AC54,FF5AAC5C,FF174B1A,0,FF5AAC5C,FF52AC54,FF6CC66D,FF63BC65,FF5AAC5C,FF52AC54,FF6CC66D,FF174B1A,0,FF0E2F0F,FF021F00,0,FF52A454,FF73D375,FF56A358,FF205422,FF1B0404,0,FF832525,FFE45C5C,FFEA5E5E,FFBB4545,0,0,FF832525,FFCC5151,0,FF528E51,FF83DD84,FF7AD57C,FF6AB36B,0,0,FF24221A,0,FF2A642C,FF498A4A,0,0,FF8C2D2D,FFD74C4C,FFC64242,FFA33636,FF630000,FF7B2323,FF6E1414,FF8C2D2D,FFBC4A4A,FF580C0C,0,FFCC5151,FFDB5555,FFD24545,FFDD5A5A,0,FFBC4A4A,FFE45C5C,FF760000,FF551913,0,FF0B0202,0
    84. DATA 0,0,0,0,0,0,0,0,0,0,FF0E2F0F,FF003000,FF52AC54,FF7AD57C,FF3C893E,FF498A4A,FF278532,FF66C069,FF6CC66D,0,FF63BC65,FF52A454,0,0,0,FF4B994D,FF78CC7A,FF5CB35D,FF5CB35D,FF63BC65,FF80D381,FF3E7C3F,0,FF60110A,FFEB6262,FFA33636,FF5B0101,FFEA5E5E,FF9A3434,0,FFBB4545,FFC54C4C,0,FF152600,FF6AB36B,FF539452,0,0,FF14140D,0,0,0,0,FF7B2323,FF62211A,0,FFCC4C4C,FFA33636,0,FFDB5555,FFD74C4C,FFEB6262,FFD24545,FFE45C5C,FFC54C4C,FF3C0000,FFEB6262,FF3C0000,FFB44343,FFCC4C4C,0,FF540000,FFDD5A5A,FFD45354,FF1B0404,0,0,0
    85. DATA 0,0,0,0,0,0,0,0,0,FF0A1A0C,0,FF3B733A,FF88E38A,FF5EBA60,FF5AAC5C,FF459D48,FF83AF61,FF6FAC58,FF006A08,FF62B464,FF459D48,FF368538,FF5AAC5C,FF5AAC5C,FF519C53,FF429544,FF6CC66D,FF3C893E,FF205422,FF114713,0,FF0B0202,0,FFCC4C4C,FFC54C4C,0,0,FFDB5555,FFB44343,0,FFDB5555,FF9A3434,0,FF2A0F10,0,0,FF551913,FF9A3434,0,FF62211A,FF8C2D2D,0,FFB54A48,FFFD6B6B,FFD3565D,0,FFE45C5C,FF8C2D2D,FF6E1414,FFEB6262,FF6B0000,FFE56161,FF6B0000,FFA73C3C,FFCC5151,FF6B0000,FFE45C5C,FF1B0404,FFD45354,FF9B2A29,FFA33636,FFB44343,0,FFE45C5C,FFA73C3C,0,FF220202,0
    86. DATA 0,0,0,0,0,0,0,0,0,FF030B03,0,FF2F5724,FF3B733A,FF262B0C,0,FF86002F,FFD3565D,FFC54E54,FF5C934D,FF7AD57C,FF459D48,FF88E38A,FF63BC65,FF2B762D,FF4B994D,FF52A454,FF71CC73,FF6BBE6D,0,FF0B0202,FF1D1D12,FF000C0B,FF430101,FFEB6262,FF771B1B,0,FFB33C3B,FFE45C5C,FF430101,FF2C0000,FFE45C5C,FF9B2A29,FF580C0C,0,FFB54A48,FFC54C4C,FFE56161,FFE56161,0,FFBB4545,FFCC5151,FF4C0000,FFF46C6C,FFAF2D2D,FFBB4545,FF540000,FFEB6262,FF430101,FFA73C3C,FFD45354,FF4C0000,FFEB6262,FF3C0000,FFBC4A4A,FFBB4545,FF4C0000,FFEB6262,FF630000,FFE45C5C,FFAD2626,FFEB6262,FFF46C6C,FFB43535,FFEB6262,FF7B2323,0,FF130303,0
    87. DATA 0,0,0,0,0,0,0,0,0,0,FF1D1D12,0,0,0,0,FF92403A,FFBB4545,FFD76565,FF8E4632,FF2F5724,FF357837,FF519C53,FF3E7C3F,0,0,0,FF174B1A,FF316B32,FF030B03,FF041304,FF1B0404,0,FF832525,FFE45C5C,FF2C0000,0,FF631313,FF3C0000,0,FF771B1B,FFE45C5C,FFD74C4C,FFEB6262,FF871314,FFD3565D,FFE45C5C,FFEB6262,FFBC4A4A,0,FFD45354,FFB44343,0,FFBB4545,FFEA5E5E,FF760000,FF832525,FFE45C5C,0,FFCC5151,FFB44343,FF771B1B,FFE45C5C,0,FFBC4A4A,FFD45354,FFB43535,FFEA5E5E,FFE45C5C,FFDB5555,FFD74C4C,FFC54C4C,FF9B2A29,FFDD5A5A,FF922E2E,0,FF1B0404,0,0
    88. DATA 0,0,0,0,0,0,0,0,0,FF14140D,0,FF63501C,FFAC954A,FFB19A4C,FF63501C,FF801825,FFD3565D,FFCC5151,FFD76565,FFC44F58,FF340101,0,FF2A0827,FF323332,FF2C332C,FF323332,FF2A242C,FF0A040A,0,0,FF220B0B,0,FFA73C3C,FFDB5555,0,FF220B0B,0,FF4B1212,FF771B1B,FFA33636,FFE45C5C,FF340101,FFD45354,FFC64242,FFDB5555,FF760000,FFCC4C4C,FFA73C3C,0,FFE45C5C,FFAF2D2D,FFCC5151,0,FFB33C3B,FFDB5555,FFBA3C3C,FFDB5555,FF760000,FFF26665,FF630000,FF9A3434,FFDB5555,0,FF591313,FFDD5A5A,FFDD5A5A,FF760000,FFA73C3C,FF60110A,0,0,0,0,0,FF130303,0,0,0
    89. DATA 0,0,0,0,0,0,0,0,FF14140D,0,FFB19A4C,FFDBC267,FFAC954A,FFDBC267,FFD19B59,FFD3565D,FFC7635C,FFC54E54,FFBB4545,FFD76565,FF713D38,FF002920,FF1D1D12,0,0,0,FF0C130C,FF323332,FF242424,0,FF220B0B,0,FFBC4A4A,FFC54C4C,0,FF2A0F10,0,FF9A3434,FFDB5555,FFC64242,FFC54C4C,0,FFDD5A5A,FFAF2D2D,FFE45C5C,FF3C0000,FFCC5151,FFBB4545,FF871314,FFE45C5C,FFC64242,FFFF7E7E,FFBA3C3C,FFD45354,FFC64242,FFCC4C4C,FFBA3C3C,FFE45C5C,FFB44343,0,FF591313,FF631313,0,0,FF130303,FF220202,0,0,0,FF0B0202,FF130303,FF1B0404,FF1D0A0A,FF1B0404,0,0,0,0
    90. DATA 0,0,0,0,0,0,0,FF1C1B0C,0,FFAC954A,FFD5BC63,FF340E00,0,FFB19A4C,FFCAA853,FFB10025,FFD3565D,FFA65136,FFAD4341,FF9D494B,FF242424,FF0B0202,0,0,0,0,0,0,FF323332,FF1C1D1D,FF1B0404,0,FFCC5151,FFBB4545,0,FF381515,0,FFCC5151,FFBB4545,FFD74C4C,FFA73C3C,0,FFE45C5C,FFD45354,FFDD5A5A,0,FF6F1D1D,FFE45C5C,FFF26665,FFB43535,FFBA3C3C,FF9B2A29,FFD45354,FFC54C4C,FF340101,FF430101,FF1B0404,FF2C0000,0,FF0B0202,0,0,FF0B0202,FF130303,0,0,FF130303,FF220202,FF130303,0,0,0,0,0,0,0,0,0
    91. DATA 0,0,0,0,0,0,FF130E03,0,FF746027,FFDBC267,FF2C0000,0,0,FF63501C,FFD5BC63,FFDBAE60,FFD19B59,FFCAA853,FF93803C,0,FF2F2723,0,0,0,0,0,0,0,FF131414,FF302F2F,FF1B0404,0,FFD45354,FFA73C3C,0,0,FF5B0101,FFEB6262,FF870000,FFE56161,FF832525,0,FFA33636,FFEB6262,FF8C2D2D,0,0,FF540000,FF832928,FF1B0404,0,0,0,0,0,0,0,0,FF1B0404,0,FF0B0202,FF130303,0,0,FF0B0202,FF0B0202,0,0,0,0,0,0,0,0,0,0,0,0
    92. DATA 0,0,0,0,0,0,FF1C1B0C,0,FFC1AA5B,FFA28D44,0,FF221D0A,FF0C0A03,0,FF4E3804,FFA28D44,FF8A7730,FF9C843E,FFCDB45F,FF12001B,FF24221A,0,0,0,0,0,0,0,0,FF2B2B2B,FF2F2723,0,FFBC4A4A,FFDD5A5A,FF430101,FF6E1414,FFE85F60,FFB44343,0,FFBB4545,FF430101,0,0,FF130303,0,FF0A040A,FF130303,0,0,0,FF0B0202,FF1B0404,FF1D0A0A,FF1D0A0A,FF0B0202,FF0B0202,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    93. DATA 0,0,0,0,0,FF0C0A03,0,FF5C4715,FFD5BC63,FF3F2A00,0,0,0,FF130E03,0,0,0,FF63501C,FFCDB45F,FF3B2A21,FF14191D,0,0,0,0,0,0,0,0,FF1C1D1D,FF2B2B2B,0,FF3C0000,FFCC5151,FFE45C5C,FFE45C5C,FFB33C3B,0,FF0B0B0B,0,0,FF130E03,FF0B0202,0,FF1D150D,0,FF050812,FF14090C,FF1B0404,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    94. DATA 0,0,0,0,0,FF1C1B0C,0,FFA28D44,FFBCA454,0,FF1C1B0C,0,0,0,FF0B0202,FF2B2711,0,FF746027,FFCDB45F,FF2A0F10,FF242424,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF0B0202,0,0,FF580C0C,FF340101,0,FF14090C,0,0,FF1A1D22,0,FF35456D,FF6E7CA1,0,FF232D3F,0,0,FF050812,0,0,0,0,0,0,FF1C1D1D,FF1C1D1D,0,0,0,0,0,0,0,0,0,0,0,FF242424,0,0,0,0,0,0,0,0,0
    95. DATA 0,0,0,0,FF130E03,FF000C0B,FF0B0202,FFD5BC63,FF746027,0,FF1A1506,0,0,0,0,FF1C1B0C,0,FF93803C,FFCAA853,0,FF34352F,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,FF14090C,0,0,FF1D0A0A,0,FF0C0A03,FF334161,FF000133,FF8192BC,FF788CC7,FF8A9ACA,FF8294C3,FF5B6A8B,FF000133,FF30394B,0,FF02040A,0,0,FF0B0B0B,FF0B0B0B,FF2B2B2B,FF242424,FF242424,FF2B2B2B,FF0B0B0B,FF0B0B0B,0,0,0,0,FF0B0B0B,0,FF1C1D1D,FF242424,FF2B2B2B,FF242424,FF2B2B2B,0,FF131414,0,0,0,0,0
    96. DATA 0,0,0,FF1E1805,FF131D0F,0,FFC1AA5B,FFBCA454,0,FF1C1B0C,0,0,0,0,0,FF1C1B0C,0,FFBCA454,FFAC954A,0,FF393837,FF0B0B0B,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF2B2B2B,0,0,0,0,FF232D3F,FF000133,FF8A9ACA,FF475677,FF475677,FF99ABDC,FFA1B5EA,FF8192BC,0,FF8A9ACA,FF3C5288,FF000133,FF0D1522,0,0,FF2B2B2B,0,FF1C1D1D,FF323332,FF323332,FF1C1D1D,0,FF2B2B2B,0,0,0,0,FF131414,FF2B2B2B,0,FF2B2B2B,FF323332,FF323332,FF0B0B0B,FF1C1D1D,FF2B2B2B,0,FF0B0B0B,0,0,0
    97. DATA 0,0,0,0,0,FFBCA454,FFCDB45F,0,FF000C0B,0,0,0,0,0,FF0B0202,0,FF3F2A00,FFD5BC63,FF5C4715,0,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,FF242424,FF1A1D22,0,FF475677,FF8A9ACA,FF889CD6,FF6276AB,0,FF5C6B94,FF90A2D3,0,FF00104A,FF8FA4DC,FF7F93CC,FF7084B8,0,FF242424,FF2B2B2B,FF2B2B2B,FF131414,0,FF242424,FF242424,0,FF131414,FF2B2B2B,FF2B2B2B,FF1C1D1D,0,FF2B2B2B,FF242424,FF2B2B2B,0,0,FF2B2B2B,FF131414,0,FF242424,FF2B2B2B,FF2B2B2B,FF0B0B0B,0,0,0
    98. DATA 0,0,FF3F2A00,FF7D6628,FFCDB45F,FFC1AA5B,FF1B0404,FF030B03,FF130E03,0,0,0,0,0,FF1C1B0C,0,FFAC954A,FFBCA454,0,FF1C1B0C,0,FF2B2B2B,FF131414,0,0,0,0,0,0,0,0,0,0,FF242424,FF393837,FF242424,0,FF162C54,FF788CC7,FFA1B5EA,FF8FA4DC,FF35456D,FF516089,FF8A9ACA,FF000133,FF798BB7,FFA1B5EA,FF98ACE3,FF445992,0,FF0C0E13,FF2B2B2B,FF323332,FF2B2B2B,0,FF242424,FF242424,0,FF2B2B2B,FF323332,FF2B2B2B,FF0B0B0B,0,FF131414,FF323332,FF323332,FF242424,0,FF2B2B2B,FF0B0B0B,FF131414,FF323332,FF323332,FF242424,0,0,0,0
    99. DATA FF1C1B0C,0,FFA28D44,FFFCE689,FFD7B855,FF4A0D00,0,0,FF0C130C,0,0,0,0,FF0C0A03,0,FF340E00,FFD5BC63,FF63501C,0,FF130E03,0,FF1C1D1D,FF2B2B2B,0,0,0,0,0,0,0,FF0B0B0B,FF242424,FF323332,FF242424,0,FF050812,0,FF516089,FF8294C3,FF3C5288,FF5C6B94,FF90A2D3,FF7F93CC,FF889CD6,FF889CD6,FF8192BC,FF1E3D7B,FF7182AD,FF798BB7,FF000026,FF24221A,FF2A242C,FF0B0B0B,FF242424,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF242424,FF242424,0,FF2B2B2B,FF1C1D1D,FF0B0B0B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF131414,FF131414,FF2B2B2B,FF131414,0,0,0
    100. DATA 0,0,FF301F00,FF7D6628,FFBCA454,FFD5BC63,FFBCA454,FF7D6628,0,0,FF0C0A03,FF1D1D12,FF130E03,FF1C1B0C,0,FF93803C,FFC1AA5B,0,FF1C1B0C,0,0,FF0B0B0B,FF2B2B2B,0,0,0,0,0,0,FF242424,FF323332,FF242424,0,0,0,0,0,FF162C54,FF00104A,0,0,FF6276AB,FF8FA4DC,FF6A86CE,FF889CD6,FF000133,0,FF000026,FF1F325B,FF0D1522,0,0,0,0,FF242424,FF2B2B2B,FF2B2B2B,FF242424,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF242424,FF2B2B2B,FF131414,0,0,0,0,0,0,0
    101. DATA 0,0,0,0,0,FF4E3804,FFA28D44,FFD5BC63,FFCDB45F,FF301F00,FF02040A,0,0,FF262B0C,0,FFBCA454,FFA28D44,0,FF1A1506,0,0,0,FF2B2B2B,FF0B0B0B,0,0,FF0B0B0B,FF131414,0,FF2B2B2B,FF242424,0,0,0,0,FF111319,0,FF5C6B94,FF90A2D3,FF788CC7,FF8A9ACA,FF90A2D3,FF7084B8,FF8A9ACA,FF7084B8,FF99ABDC,FF7084B8,FF90A2D3,FF8192BC,FF001032,FF24221A,FF2F2F31,FF242424,FF2B2B2B,FF242424,FF242424,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF2B2B2B,FF242424,0,FF2B2B2B,FF2B2B2B,FF242424,FF323332,FF242424,FF2B2B2B,FF1C1D1D,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF1C1D1D,0,0,0
    102. DATA 0,0,FF0B0202,FF1A1506,FF1C1B0C,0,0,FF8A7730,FFD5BC63,0,FF3F2A00,FFC1AA5B,FF7D6628,0,0,FFC1AA5B,FF9C843E,0,FF1A1506,0,0,0,FF2B2B2B,0,0,FF242424,FF323332,FF323332,FF131414,FF2B2B2B,FF242424,0,0,0,0,FF02040A,FF0B0202,FF000040,FF788CC7,FFA1B5EA,FF7F93CC,0,FF516089,FF8A9ACA,0,FF445992,FFA1B5EA,FF8FA4DC,FF3C5288,0,FF111319,FF2B2B2B,FF323332,FF1C1D1D,0,FF242424,FF242424,0,FF242424,FF323332,FF2B2B2B,0,0,FF131414,FF323332,FF323332,FF0B0B0B,0,FF2B2B2B,FF0B0B0B,0,FF2B2B2B,FF323332,FF242424,0,0,0,0
    103. DATA 0,0,0,0,0,FF1A1506,0,FF746027,FFD5BC63,FF77570B,FFC1AA5B,FFDBC267,FFCDB45F,FFCDB45F,FF654703,FFB19A4C,FFA28D44,0,FF1A1506,0,0,FF0B0B0B,FF2B2B2B,FF1C1D1D,FF323332,FF242424,0,FF131414,FF2B2B2B,FF242424,0,0,0,0,0,FF0C0E13,0,FF475677,FF7182AD,FF7F93CC,FF6E7CA1,0,FF6276AB,FF90A2D3,0,FF001032,FF90A2D3,FF687CB3,FF6E7CA1,0,FF242424,FF1C1D1D,FF2B2B2B,FF131414,0,FF2B2B2B,FF242424,0,FF131414,FF2B2B2B,FF1C1D1D,FF1C1D1D,0,FF242424,FF1C1D1D,FF2B2B2B,0,0,FF2B2B2B,FF131414,0,FF242424,FF242424,FF242424,FF131414,0,0,0
    104. DATA 0,0,0,0,0,0,FF130E03,0,FF9C843E,FFD5BC63,FFBCA454,FF130303,FF1B0404,FFA28D44,FFCDB45F,FFE8CD6C,FFCDB45F,0,FF1C1B0C,0,0,FF1C1D1D,FF393837,FF242424,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,FF02040A,0,0,FF7182AD,FF162C54,FF6E7CA1,FF98ACE3,FF98ACE3,FF8A9ACA,FF000026,FF6E7CA1,FF334161,0,FF1A1D22,0,0,FF242424,0,FF242424,FF323332,FF323332,FF242424,0,FF242424,0,0,0,0,FF131414,FF242424,0,FF2B2B2B,FF323332,FF323332,FF131414,FF0B0B0B,FF242424,0,0,0,0,0
    105. DATA 0,0,0,0,0,0,0,FF0C0A03,0,0,0,FF000C0B,FF000C0B,0,FF1B0404,FFAC954A,FFC1AA5B,0,FF000C0B,0,0,FF131414,FF131414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1A1D22,0,FF001032,FF8192BC,FF687CB3,FF7F93CC,FF687CB3,FF5B6A8B,0,FF111319,FF14191D,0,0,0,0,FF131414,FF242424,FF242424,FF242424,FF242424,FF0B0B0B,0,0,0,0,0,0,0,FF242424,FF1C1D1D,FF2B2B2B,FF1C1D1D,FF242424,0,0,0,0,0,0,0
    106. DATA 0,0,0,0,0,0,0,0,FF1D150D,FF0C130C,FF1C1B0C,FF0B0202,FF0B0202,FF1C1B0C,FF02040A,0,0,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0B0B,FF14191D,0,FF334161,FF5C6B94,0,FF02040A,FF111319,0,0,0,0,0,0,0,0,FF1C1D1D,FF131414,0,0,0,0,0,0,0,0,0,0,0,FF1C1D1D,0,0,0,0,0,0,0,0,0
    107. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1C1B0C,FF14140D,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF131414,0,0,FF1C1D1D,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    108. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF02040A,FF131414,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    109. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    110. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    111. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    112. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    113. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    114.  
    115. frame2:
    116. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    117. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    118. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    119. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    120. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    121. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF130303,FF0F0B02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    122. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1B0404,FF0B0302,0,FF0B0302,0,0,FF0B0302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF130303,FF0B0302,0,FF0B0302,0,0,0,0,0,0,0,0,0,0,0
    123. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1B0404,0,FF9A3434,FFC54C4C,0,FF130303,0,0,0,0,0,FF0B0302,0,0,FF130303,FF1B0404,FF1B0404,FF130303,FF0B0302,0,0,FF130303,0,0,FF0B0302,0,0,0,0,0,0,0,0,0
    124. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF771B1B,FF3C0000,FF010B0B,0,FFEE6D6D,FFD76565,0,FF1C140E,FF130303,0,0,FF1D0A0A,FF1B0404,FF0C0B0B,0,FF130303,0,0,0,0,0,FF631313,FF4B1212,0,FFA43B3B,FFBB4545,0,FF1D0A0A,0,0,0,0,0,0,0,0
    125. DATA 0,0,0,0,0,0,0,0,0,FF0B1A0B,FF0C130C,0,0,0,FF0B1A0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0302,FF010B0B,FF2C0000,FFEB6262,FF9A3434,0,FF8D211F,FFFF7E7E,FFB44343,0,FF2A0F10,0,0,FF0B0302,0,0,0,FF1B0404,0,FF7B2323,FF8D211F,FF9A3434,FFAD4341,0,FFE45C5C,FF8C2D2D,0,FFF46C6C,FFBC4A4A,0,FF220B0B,0,0,0,0,0,0,0,0
    126. DATA 0,0,0,0,0,0,0,0,0,0,0,FF0B040A,FF0B1A0B,FF0C0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B1A0B,0,0,0,0,0,0,0,0,0,0,FF1B0404,0,FF5B0101,FFFF7E7E,FFBC4A4A,0,FFD45354,FFFD6B6B,FF9A3434,0,0,FF5B0101,FF220202,FF1B0404,FFB44343,FF9B2A29,FFD45354,FF6F1D1D,0,FFBC4A4A,FFF26665,FFFA7272,FFB54A48,FF4C0000,FFF46C6C,FF5B0101,FF8C2D2D,FFFA7272,FF540000,0,FF130303,0,0,0,0,0,0,0,0
    127. DATA 0,0,0,0,0,0,0,0,FF021F00,FF3E7C3F,FF316B32,0,0,0,FF438645,FF143C15,0,FF0B1A0B,0,0,0,0,0,0,0,0,0,FF030B03,0,0,0,0,0,FF030B03,0,0,0,0,0,FF1B0404,0,FF832525,FFFA7272,FFCC5151,FF871314,FFE45C5C,FFE15555,FF8C2D2D,0,FFBB4545,FFF26665,FFC54C4C,FF630000,FFF46C6C,FFEB6262,FFEE6D6D,FF430101,0,FFDD5A5A,FFAF2D2D,FFDB5555,FF7B2323,FF832525,FFF46C6C,0,FFC54C4C,FFD45354,0,FF1D0A0A,0,0,0,0,0,0,0,0,0
    128. DATA 0,0,0,0,0,0,0,FF0C0B0B,0,FF78CC7A,FF71CC73,FF5CB35D,FF3E7C3F,FF4B994D,FF83DD84,FF2A642C,0,0,0,0,0,0,FF041304,0,0,FF0C130C,FF030B03,FF030B03,FF539452,FF143C15,0,FF131D0F,FF131413,0,0,0,0,0,FF220B0B,FF2A0F10,0,FFAD4341,FFE15555,FFD74C4C,FFD45354,FFC64242,FFDD5A5A,FF6E1414,FF9A3434,FFE45C5C,FFAD2626,FFE45C5C,FFAF2D2D,FFD45354,FFAD2626,FFD45354,0,FF7B2323,FFEB6262,FF6B0000,FFE45C5C,FF540000,FFB54A48,FFFF7E7E,FF870000,FFFA7272,FFA93D3D,0,FF1D0A0A,0,0,0,0,0,0,0,0,0
    129. DATA 0,0,0,0,0,0,0,FF041304,0,FF2A642C,FF5CB35D,FF186C1C,FF63BC65,FF56A358,FF52AC54,FF357837,FF003000,FF61AC62,FF0B300C,0,FF030B03,0,0,0,FF0B1A0B,0,0,FF205422,FF88E38A,FF357837,0,0,0,FF003B00,FF0B1A0B,0,FF0B0302,0,0,0,0,FFD45354,FFB43535,FFDD5A5A,FFFA7272,FF870000,FFE56161,FF630000,FFDD5A5A,FFAF2D2D,FFE45C5C,FFB43535,FFDB5555,FFA33636,FFB33C3B,FFCC5151,0,FFDD5A5A,FFBB4545,0,FFE56161,FFBA3C3C,FFE45C5C,FFE45C5C,FFE45C5C,FFF46C6C,FFA93D3D,0,FF1D0A0A,0,0,0,0,0,0,0,0,0
    130. DATA 0,0,0,0,0,0,0,0,FF131413,0,FF66C069,FF3E7C3F,FF003000,FF003000,FF438645,FF6CC66D,FF63BC65,FF7CD47D,FF114713,0,FF030B03,0,FF2A642C,0,FF021F00,FF71C373,FF014803,FF519C53,FF5EBA60,FF5AAC5C,FF316B32,FF4B994D,FF71C373,FF71C373,0,FF14140D,0,FF220202,FFB44343,FF832928,FF340101,FFEB6262,FF630000,FFAD4341,FFBC4A4A,FF5B0101,FFE45C5C,FF5B0101,FFDB5555,FFE15555,FFBA3C3C,FFAF2D2D,FFEB6262,0,FF9A3434,FFEA5E5E,FFCC4C4C,FFDD5A5A,FF220202,0,FF922E2E,FFE45C5C,FFB33C3B,FFA31D1D,FFC64242,FFC64242,FFBC4A4A,0,FF220B0B,0,0,0,0,0,0,0,0,0
    131. DATA 0,0,0,0,0,0,0,FF0C130C,0,FF71C373,FF7CD47D,FF005700,FF316B32,FF62B464,FF003B00,FF5AAC5C,FF278532,FF52AC54,0,0,FF1C1C1C,0,FF71CC73,FF62B464,FF005700,FF71CC73,FF6CC66D,FF66C069,FF003000,FF66C069,FF5CB35D,FF52AC54,FF76D77A,FF316B32,0,FF1C1B0C,0,FFCC4C4C,FFE45C5C,FF430101,FF9A3434,FFE45C5C,0,0,0,FF4A0D00,FFEB6262,FFAF2D2D,FFE15555,FFDB5555,FFB33C3B,FFF26665,FF832525,0,FF220202,FFB44343,FFC54C4C,FF430101,0,FF1B0404,0,0,FF630000,FFF26665,FF8D211F,FFC54C4C,FFBC4A4A,0,FF220B0B,0,0,0,0,0,0,0,0,0
    132. DATA 0,0,0,0,0,0,0,0,0,FF2A642C,FF429544,FF71CC73,FF3C893E,FF5CB35D,FF3B733A,0,FF5AAC5C,FF5EBA60,FF3C893E,FF3E7C3F,0,0,FF5CB35D,FF52AC54,FF73D375,FF4B994D,FF498A4A,FF3B733A,0,0,FF003000,FF6BBE6D,FF316B32,0,FF131D0F,0,FF4C0000,FFEB6262,FF4C0000,0,FFEA5E5E,FFA33636,0,FF28201C,FF130303,0,FFBB4545,FFE45C5C,FF8D211F,FFBC4A4A,FFCD3448,FF6B0000,0,FF1D0A0A,0,0,0,0,FF130303,0,FF2A0F10,0,FFC54C4C,FFC54C4C,0,FFDD5A5A,FFA43B3B,0,FF220B0B,0,0,0,0,0,0,0,0,0
    133. DATA 0,0,0,0,0,0,0,FF030B03,0,FF003000,FF459D48,FF63BC65,FF316B32,FF357837,FF63BC65,0,FF61AC62,FF5AAC5C,FF73D375,FF52A454,FF5AAC5C,FF52A454,FF5CB35D,FF003000,FF61AC62,FF3E7C3F,0,FF438645,FF63BC65,FF2B762D,FF6CC66D,FF368538,0,FF1F2917,0,FF0C0B0B,0,FFD45354,FFD45354,FFDB5555,FFD45354,0,0,0,FF316B32,FF174B1A,0,FF041304,0,0,FF038140,FF3A8C4C,FF021F00,FF0B1A0B,FF131D0F,FF1C0709,FF2A0F10,FF4C0000,FF0B0302,0,FF220B0B,0,FFC54C4C,FFD45354,FFA83232,FFEB6262,FF4C0000,0,FF130303,FF0B0302,0,0,FF130303,FF220B0B,FF0B0302,0,0,0
    134. DATA 0,0,0,0,0,0,0,FF0B1A0B,0,FF56A358,FF83DD84,FF429544,0,0,FF62B464,FF438645,0,FF021F00,FF63BC65,FF003000,FF62B464,FF73D375,FF71CC73,0,0,FF357837,FF66C069,FF5CB35D,FF014803,FF519C53,FF71CC73,FF5EBA60,FF7CD47D,FF003000,0,FF1D0A0A,0,FF430101,FFB44343,FFA93D3D,FF0B0302,0,FF316B32,FF71C373,FF83DD84,FF80D381,0,0,FF3B733A,FF80D381,FF71CC73,FF88E38A,FF498A4A,0,0,FF030B03,FF631313,FFD45354,FF340101,0,FF130303,0,FF580C0C,FFD45354,FFDD5A5A,FF771B1B,0,FF2A0F10,FF130303,0,0,FF130303,0,0,0,FF0B0302,0,0
    135. DATA 0,0,0,0,0,0,0,0,0,FF030B03,FF205422,FF52A454,FF71CC73,FF3B733A,FF114713,FF6CC66D,0,FF438645,FF5AAC5C,0,FF5CB35D,FF2B762D,FF205422,FF003B00,FF62B464,FF63BC65,FF2A642C,0,0,0,FF459D48,FF71CC73,FF498A4A,0,FF1C140E,0,0,FF010B0B,0,0,FF021810,0,FF519C53,FF429544,FF71C373,FF6AB36B,0,FF62B464,FF88E38A,FF498A4A,FF014803,FF80D381,FF005700,FF438645,FF539452,0,FF832928,FFD45354,0,FF0C0B0B,FF1B0404,FF1B0404,0,0,0,0,FF010B0B,0,0,FF2C0000,FF1B0404,0,FF631313,FFB44343,FF580C0C,0,FF0B0302,0
    136. DATA 0,0,0,0,0,0,0,0,0,0,0,FF3C893E,FF6CC66D,FF357837,0,FF519C53,FF5AAC5C,FF005700,FF4B994D,FF2B762D,FF66C069,0,FF357837,FF6CC66D,FF498A4A,0,0,0,FF498A4A,FF63BC65,FF52A454,FF114713,0,FF1C140E,0,FF130303,FF4C0000,0,FF1D0A0A,FF1B0404,FF220202,FF62211A,0,FF2A642C,FF80D381,FF014803,FF78CC7A,FF78CC7A,FF003B00,0,FF205422,FF80D381,FF78CC7A,FF7CD47D,FF438645,FF540000,FFB33C3B,FFD24545,FFB33C3B,FF340101,0,0,0,0,FF010B0B,0,FF3C0000,FFBC4A4A,FFB33C3B,FFCC4C4C,0,FF631313,FFDB5555,FFFD6B6B,FF9A3434,0,FF220202,0
    137. DATA 0,0,0,0,0,0,0,0,FF0B1A0B,0,FF539452,FF88E38A,FF52AC54,FF5AAC5C,FF174B1A,0,FF5AAC5C,FF52AC54,FF6CC66D,FF63BC65,FF5AAC5C,FF52AC54,FF6CC66D,FF174B1A,0,FF0B300C,FF021F00,0,FF52A454,FF73D375,FF56A358,FF205422,FF1B0404,0,FF832525,FFE45C5C,FFEA5E5E,FFBB4545,0,0,FF832525,FFCC5151,0,FF528E51,FF83DD84,FF7CD47D,FF6AB36B,0,0,FF1F2917,0,FF2A642C,FF498A4A,0,0,FF8C2D2D,FFD74C4C,FFC64242,FFA33636,FF630000,FF7B2323,FF6E1414,FF8C2D2D,FFBC4A4A,FF580C0C,0,FFCC5151,FFDB5555,FFD24545,FFDD5A5A,0,FFBC4A4A,FFE45C5C,FF760000,FF551913,0,FF0B0302,0
    138. DATA 0,0,0,0,0,0,0,0,0,0,FF0B300C,FF003000,FF52AC54,FF76D77A,FF3C893E,FF498A4A,FF278532,FF66C069,FF6CC66D,0,FF63BC65,FF52A454,0,0,0,FF4B994D,FF78CC7A,FF5CB35D,FF5CB35D,FF63BC65,FF80D381,FF3E7C3F,0,FF60110A,FFEB6262,FFA33636,FF5B0101,FFEA5E5E,FF9A3434,0,FFBB4545,FFC54C4C,0,FF152600,FF6AB36B,FF539452,0,0,FF14140D,0,0,0,0,FF7B2323,FF62211A,0,FFCC4C4C,FFA33636,0,FFDB5555,FFD74C4C,FFEB6262,FFD24545,FFE45C5C,FFC54C4C,FF3C0000,FFEB6262,FF3C0000,FFB44343,FFCC4C4C,0,FF540000,FFDD5A5A,FFD45354,FF1B0404,0,0,0
    139. DATA 0,0,0,0,0,0,0,0,0,FF0B1A0B,0,FF3B733A,FF88E38A,FF5EBA60,FF5AAC5C,FF459D48,FF83AF61,FF6FAC58,FF006A08,FF62B464,FF459D48,FF368538,FF5AAC5C,FF5AAC5C,FF519C53,FF429544,FF6CC66D,FF3C893E,FF205422,FF114713,0,FF0B0302,0,FFCC4C4C,FFC54C4C,0,0,FFDB5555,FFB44343,0,FFDB5555,FF9A3434,0,FF2A0F10,0,0,FF551913,FF9A3434,0,FF62211A,FF8C2D2D,0,FFB54A48,FFFD6B6B,FFD3565D,0,FFE45C5C,FF8C2D2D,FF6E1414,FFEB6262,FF6B0000,FFE56161,FF6B0000,FFA93D3D,FFCC5151,FF6B0000,FFE45C5C,FF1B0404,FFD45354,FF9B2A29,FFA33636,FFB44343,0,FFE45C5C,FFA93D3D,0,FF220202,0
    140. DATA 0,0,0,0,0,0,0,0,0,FF030B03,0,FF2F5724,FF3B733A,FF242E03,0,FF86002F,FFD3565D,FFC54E54,FF5C934D,FF76D77A,FF459D48,FF88E38A,FF63BC65,FF2B762D,FF4B994D,FF52A454,FF71CC73,FF6BBE6D,0,FF0B0302,FF1D1D12,FF00160D,FF430101,FFEB6262,FF771B1B,0,FFB33C3B,FFE45C5C,FF430101,FF2C0000,FFE45C5C,FF9B2A29,FF580C0C,0,FFB54A48,FFC54C4C,FFE56161,FFE56161,0,FFBB4545,FFCC5151,FF4C0000,FFF46C6C,FFAF2D2D,FFBB4545,FF540000,FFEB6262,FF430101,FFA43B3B,FFD45354,FF4C0000,FFEB6262,FF3C0000,FFBC4A4A,FFBB4545,FF4C0000,FFEB6262,FF630000,FFE45C5C,FFAD2626,FFEB6262,FFF46C6C,FFB43535,FFEB6262,FF7B2323,0,FF130303,0
    141. DATA 0,0,0,0,0,0,0,0,0,0,FF1D1D12,0,0,0,0,FF92403A,FFBB4545,FFD76565,FF8E4632,FF2F5724,FF357837,FF519C53,FF3E7C3F,0,0,0,FF174B1A,FF316B32,FF030B03,FF041304,FF1B0404,0,FF832525,FFE45C5C,FF2C0000,0,FF631313,FF3C0000,0,FF771B1B,FFE45C5C,FFD74C4C,FFEB6262,FF871314,FFD3565D,FFE45C5C,FFEB6262,FFBC4A4A,0,FFD45354,FFB44343,0,FFBB4545,FFEA5E5E,FF760000,FF832525,FFE45C5C,0,FFCC5151,FFB44343,FF771B1B,FFE45C5C,0,FFBC4A4A,FFD45354,FFB43535,FFEA5E5E,FFE45C5C,FFDB5555,FFD74C4C,FFC54C4C,FF9B2A29,FFDD5A5A,FF922E2E,0,FF1B0404,0,0
    142. DATA 0,0,0,0,0,0,0,0,0,FF14140D,0,FF63501C,FFAC954A,FFB19A4C,FF63501C,FF801825,FFD3565D,FFCC5151,FFD76565,FFC44F58,FF340101,0,FF2A0827,FF323232,FF2C332C,FF323232,FF2D212D,FF0B040A,0,0,FF220B0B,0,FFA43B3B,FFDB5555,0,FF220B0B,0,FF4B1212,FF771B1B,FFA33636,FFE45C5C,FF340101,FFD45354,FFC64242,FFDB5555,FF760000,FFCC4C4C,FFA43B3B,0,FFE45C5C,FFAF2D2D,FFCC5151,0,FFB33C3B,FFDB5555,FFBA3C3C,FFDB5555,FF760000,FFF26665,FF630000,FF9A3434,FFDB5555,0,FF591313,FFDD5A5A,FFDD5A5A,FF760000,FFA43B3B,FF60110A,0,0,0,0,0,FF130303,0,0,0
    143. DATA 0,0,0,0,0,0,0,0,FF14140D,0,FFB19A4C,FFDBC267,FFAC954A,FFDBC267,FFD19B59,FFD3565D,FFC7635C,FFC54E54,FFBB4545,FFD76565,FF713D38,FF002920,FF1D1D12,0,0,0,FF0C130C,FF323232,FF242424,0,FF220B0B,0,FFBC4A4A,FFC54C4C,0,FF2A0F10,0,FF9A3434,FFDB5555,FFC64242,FFC54C4C,0,FFDD5A5A,FFAF2D2D,FFE45C5C,FF3C0000,FFCC5151,FFBB4545,FF871314,FFE45C5C,FFC64242,FFFF7E7E,FFBA3C3C,FFD45354,FFC64242,FFCC4C4C,FFBA3C3C,FFE45C5C,FFB44343,0,FF591313,FF631313,0,0,FF130303,FF220202,0,0,0,FF0B0302,FF130303,FF1B0404,FF1D0A0A,FF1B0404,0,0,0,0
    144. DATA 0,0,0,0,0,0,0,FF1C1B0C,0,FFAC954A,FFD5BC63,FF340E00,0,FFB19A4C,FFCAA853,FFB10025,FFD3565D,FFA65136,FFAD4341,FF9D494B,FF242424,FF0B0302,0,0,0,0,0,0,FF323232,FF1C1C1C,FF1B0404,0,FFCC5151,FFBB4545,0,FF381515,0,FFCC5151,FFBB4545,FFD74C4C,FFA93D3D,0,FFE45C5C,FFD45354,FFDD5A5A,0,FF6F1D1D,FFE45C5C,FFF26665,FFB43535,FFBA3C3C,FF9B2A29,FFD45354,FFC54C4C,FF340101,FF430101,FF1B0404,FF2C0000,0,FF0B0302,0,0,FF0B0302,FF130303,0,0,FF130303,FF220202,FF130303,0,0,0,0,0,0,0,0,0
    145. DATA 0,0,0,0,0,0,FF141105,0,FF746027,FFDBC267,FF2C0000,0,0,FF63501C,FFD5BC63,FFDBAE60,FFD19B59,FFCAA853,FF93803C,0,FF2F2723,0,0,0,0,0,0,0,FF131413,FF302F2F,FF1B0404,0,FFD45354,FFA93D3D,0,0,FF5B0101,FFEB6262,FF870000,FFE56161,FF832525,0,FFA33636,FFEB6262,FF8C2D2D,0,0,FF540000,FF832928,FF1B0404,0,0,0,0,0,0,0,0,FF1B0404,0,FF0B0302,FF130303,0,0,FF0B0302,FF0B0302,0,0,0,0,0,0,0,0,0,0,0,0
    146. DATA 0,0,0,0,0,0,FF1C1B0C,0,FFC1AA5B,FFA28D44,0,FF221D0A,FF0F0B02,0,FF4E3804,FFA28D44,FF8A7730,FF9C843E,FFCDB45F,FF12001B,FF28201C,0,0,0,0,0,0,0,0,FF2B2B2C,FF2F2723,0,FFBC4A4A,FFDD5A5A,FF430101,FF6E1414,FFE85F60,FFB44343,0,FFBB4545,FF430101,0,0,0,0,FF0B0302,FF130303,0,0,0,FF0B0302,FF1B0404,FF1D0A0A,FF1D0A0A,FF0B0302,FF130B0C,FF0C0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    147. DATA 0,0,0,0,0,FF0F0B02,0,FF5C4715,FFD5BC63,FF3F2A00,0,0,0,FF141105,0,0,0,FF63501C,FFCDB45F,FF3B2A21,FF15191C,0,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2C,0,FF3C0000,FFCC5151,FFE45C5C,FFE45C5C,FFB33C3B,0,FF0C0B0B,0,0,0,FF130303,0,FF130303,0,0,FF130303,FF1B0404,0,0,0,FF0B0C13,0,FF141105,0,0,FF0F0B02,0,FF0B0C13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    148. DATA 0,0,0,0,0,FF1C1B0C,0,FFA28D44,FFBCA454,0,FF1C1B0C,0,0,0,FF0B0302,FF2B2711,0,FF746027,FFCDB45F,FF2A0F10,FF242424,0,0,0,0,0,0,0,0,0,FF2B2B2C,FF0B0302,0,0,FF580C0C,FF340101,0,FF130B0C,0,FF130303,0,0,FF0C0B0B,FF242424,0,0,0,0,0,0,FF02040B,0,0,FF212937,0,FF53668D,FF53668D,0,FF212937,0,0,FF02040B,0,0,0,0,0,0,FF242424,0,0,0,0,0,0,0,0,0
    149. DATA 0,0,0,0,FF0F0B02,FF010B0B,FF0B0302,FFD5BC63,FF746027,0,FF1A1506,0,0,0,0,FF1C1B0C,0,FF93803C,FFCAA853,0,FF34352F,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2C,0,FF130B0C,0,0,FF1D0A0A,0,0,FF130B0C,0,FF2B2B2C,FF242424,FF242424,FF2B2B2C,FF1C1C1C,0,FF0C0B0B,0,FF02040B,0,FF212937,FF233253,FF334260,FF8293C0,FF788EC8,FF7188C1,FF889BCC,FF334260,FF233253,FF212937,0,FF02040B,0,FF0C0B0B,0,FF1C1C1C,FF242424,FF2B2B2C,FF242424,FF2B2B2C,0,FF131413,0,0,0,0,0
    150. DATA 0,0,0,FF1E1805,FF131D0F,0,FFC1AA5B,FFBCA454,0,FF1C1B0C,0,0,0,0,0,FF1C1B0C,0,FFBCA454,FFAC954A,0,FF393837,FF0C0B0B,0,0,0,0,0,0,0,0,0,FF2B2B2C,FF2B2B2C,0,0,0,0,FF0C0B0B,0,FF2B2B2C,FF131413,FF131413,FF323232,FF323232,FF2B2B2C,0,FF2B2B2C,FF131413,0,0,FF212937,FF052863,FF8FA2D4,FF000040,FF6C7DA8,FF96ACE5,FF96ACE5,FF66769D,FF00224F,FF8FA2D4,FF000459,FF212937,0,0,FF131413,FF2B2B2C,0,FF2B2B2C,FF323232,FF323232,FF0C0B0B,FF1C1C1C,FF2B2B2C,0,FF0C0B0B,0,0,0
    151. DATA 0,0,0,0,0,FFBCA454,FFCDB45F,0,FF010B0B,0,0,0,0,0,FF0B0302,0,FF3F2A00,FFD5BC63,FF5C4715,0,FF242424,FF2B2B2C,0,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2C,FF242424,FF131413,0,FF131413,FF2B2B2C,FF2B2B2C,FF1C1C1C,0,FF1C1C1C,FF2B2B2C,0,0,FF2B2B2C,FF242424,FF2B2B2C,0,FF66769D,FF8196CB,FF8FA2D4,FF445476,0,FF7188C1,FF7188C1,0,FF4D5D83,FF8FA2D4,FF8196CB,FF617090,0,FF2D2E31,FF242424,FF2B2B2C,0,0,FF2B2B2C,FF131413,0,FF242424,FF2B2B2C,FF2B2B2C,FF0C0B0B,0,0,0
    152. DATA 0,0,FF3F2A00,FF7D6628,FFCDB45F,FFC1AA5B,FF1B0404,FF030B03,FF0F0B02,0,0,0,0,0,FF1C1B0C,0,FFAC954A,FFBCA454,0,FF1C1B0C,0,FF2B2B2C,FF131413,0,0,0,0,0,0,0,0,0,0,FF242424,FF393837,FF242424,0,0,FF242424,FF323232,FF2B2B2C,FF0C0B0B,FF131413,FF2B2B2C,0,FF242424,FF323232,FF2B2B2C,FF11151D,0,FF29437C,FF879CD6,FFA1B6ED,FF8196CB,FF000040,FF6B81B5,FF6C7DA8,FF000040,FF889BCC,FFA1B6ED,FF879CD6,FF1E386E,0,FF15191C,FF323232,FF323232,FF242424,0,FF2B2B2C,FF0C0B0B,FF131413,FF323232,FF323232,FF242424,0,0,0,0
    153. DATA FF1C1B0C,0,FFA28D44,FFFCE689,FFD7B855,FF4A0D00,0,0,FF0C130C,0,0,0,0,FF0F0B02,0,FF340E00,FFD5BC63,FF63501C,0,FF141105,0,FF1C1C1C,FF2B2B2C,0,0,0,0,0,0,0,FF0C0B0B,FF242424,FF323232,FF242424,0,0,0,FF1C1C1C,FF2B2B2C,FF131413,FF1C1C1C,FF2B2B2C,FF242424,FF2B2B2C,FF2B2B2C,FF242424,FF0C0B0B,FF242424,FF2B2B2C,0,FF6C7DA8,FF7D8EB8,FF29437C,FF7283AD,FF8FA2D4,FF7A93D4,FF7A93D4,FF8FA2D4,FF6C7DA8,FF29437C,FF8293C0,FF66769D,0,FF2B2B2C,FF1B1E22,FF0C0B0B,FF2B2B2C,FF2B2B2C,FF2B2B2C,FF2B2B2C,FF2B2B2C,FF131413,FF131413,FF2B2B2C,FF131413,0,0,0
    154. DATA 0,0,FF301F00,FF7D6628,FFBCA454,FFD5BC63,FFBCA454,FF7D6628,0,0,FF0F0B02,FF1D1D12,FF0F0B02,FF1C1B0C,0,FF93803C,FFC1AA5B,0,FF1C1B0C,0,0,FF0C0B0B,FF2B2B2C,0,0,0,0,0,0,FF242424,FF323232,FF242424,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2C,FF242424,FF2B2B2C,0,0,0,0,FF02040B,FF203359,FF000040,0,0,FF788EC8,FF7A93D4,FF7A93D4,FF7188C1,0,0,FF000040,FF233253,0,0,0,0,0,FF2B2B2C,FF242424,FF2B2B2C,FF131413,0,0,0,0,0,0,0
    155. DATA 0,0,0,0,0,FF4E3804,FFA28D44,FFD5BC63,FFCDB45F,FF301F00,FF02040B,0,0,FF1F2917,0,FFBCA454,FFA28D44,0,FF1A1506,0,0,0,FF2B2B2C,FF0C0B0B,0,0,FF0C0B0B,FF131413,0,FF2B2B2C,FF242424,0,0,0,0,0,0,FF1C1C1C,FF2B2B2C,FF242424,FF2B2B2C,FF2B2B2C,FF242424,FF2B2B2C,FF242424,FF323232,FF242424,FF2B2B2C,FF2B2B2C,0,FF7283AD,FF8FA2D4,FF7188C1,FF8FA2D4,FF8293C0,FF788EC8,FF7188C1,FF8293C0,FF8FA2D4,FF7188C1,FF8FA2D4,FF6C7DA8,0,FF2B2B2C,FF2B2B2C,FF242424,FF323232,FF242424,FF2B2B2C,FF1C1C1C,FF2B2B2C,FF2B2B2C,FF2B2B2C,FF2B2B2C,FF1C1C1C,0,0,0
    156. DATA 0,0,FF0B0302,FF1A1506,FF1C1B0C,0,0,FF8A7730,FFD5BC63,0,FF3F2A00,FFC1AA5B,FF7D6628,0,0,FFC1AA5B,FF9C843E,0,FF1A1506,0,0,0,FF2B2B2C,0,0,FF242424,FF323232,FF323232,FF131413,FF2B2B2C,FF242424,0,0,0,0,0,0,0,FF242424,FF323232,FF242424,0,FF131413,FF2B2B2C,0,FF131413,FF323232,FF2B2B2C,FF11151D,0,FF1E386E,FF879CD6,FFA1B6ED,FF6478AF,0,FF7788B2,FF6C7DA8,0,FF6B81B5,FFA1B6ED,FF879CD6,FF052863,0,FF15191C,FF323232,FF323232,FF0C0B0B,0,FF2B2B2C,FF0C0B0B,0,FF2B2B2C,FF323232,FF242424,0,0,0,0
    157. DATA 0,0,0,0,0,FF1A1506,0,FF746027,FFD5BC63,FF77570B,FFC1AA5B,FFDBC267,FFCDB45F,FFCDB45F,FF654703,FFB19A4C,FFA28D44,0,FF1A1506,0,0,FF0C0B0B,FF2B2B2C,FF1C1C1C,FF323232,FF242424,0,FF131413,FF2B2B2C,FF242424,0,0,0,0,0,0,0,FF131413,FF242424,FF242424,FF1C1C1C,0,FF1C1C1C,FF2B2B2C,0,0,FF2B2B2C,FF1C1C1C,FF2B2B2C,0,FF617090,FF6478AF,FF879CD6,FF445476,0,FF8196CB,FF7188C1,0,FF4D5D83,FF879CD6,FF6478AF,FF617090,0,FF2B2B2C,FF1C1C1C,FF2B2B2C,0,0,FF2B2B2C,FF131413,0,FF242424,FF242424,FF242424,FF131413,0,0,0
    158. DATA 0,0,0,0,0,0,FF141105,0,FF9C843E,FFD5BC63,FFBCA454,FF130303,FF1B0404,FFA28D44,FFCDB45F,FFE8CD6C,FFCDB45F,0,FF1C1B0C,0,0,FF1C1C1C,FF393837,FF242424,FF0C0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF242424,0,FF1C1C1C,FF323232,FF323232,FF2B2B2C,0,FF242424,FF0C0B0B,0,FF0E1016,0,FF00002E,FF7788B2,FF00002E,FF8293C0,FF96ACE5,FF96ACE5,FF7788B2,FF00002E,FF7788B2,FF02040B,0,FF11151D,0,FF131413,FF242424,0,FF2B2B2C,FF323232,FF323232,FF131413,FF0C0B0B,FF242424,0,0,0,0,0
    159. DATA 0,0,0,0,0,0,0,FF0F0B02,0,0,0,FF010B0B,FF010B0B,0,FF1B0404,FFAC954A,FFC1AA5B,0,FF010B0B,0,0,FF131413,FF131413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2C,FF1C1C1C,FF242424,FF242424,FF1C1C1C,0,0,0,0,FF0B0C13,FF1B1E22,0,FF445476,FF7788B2,FF7188C1,FF7188C1,FF7788B2,FF334260,0,FF1B1E22,FF0C0B0B,0,0,0,0,FF242424,FF1C1C1C,FF2B2B2C,FF1C1C1C,FF242424,0,0,0,0,0,0,0
    160. DATA 0,0,0,0,0,0,0,0,FF1C140E,FF0C130C,FF1C1B0C,FF0B0302,FF0B0302,FF1C1B0C,FF02040B,0,0,FF0C0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0C0B0B,FF1C1C1C,0,0,0,0,0,0,0,0,FF131413,FF11151D,0,FF4D5D83,FF445476,0,FF11151D,FF131413,0,0,0,0,0,0,0,0,FF1C1C1C,0,0,0,0,0,0,0,0,0
    161. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1C1B0C,FF14140D,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,0,0,FF1C1C1C,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    162. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0C13,FF0B0C13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    163. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    164. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    165. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    166. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    167. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    168.  
    169. frame3:
    170. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    171. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    172. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    173. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    174. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    175. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    176. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    177. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    178. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF131413,0,0,0,FF3B3B3B,FF343434,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF131413,FF0B0B0B,0,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,0
    179. DATA 0,0,0,0,0,0,0,0,0,FF0C1A0C,FF0B130B,0,0,0,FF0C1A0C,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF3B3B3B,FF1C1C1C,0,FF131413,FF414241,FF242424,0,0,0,0,0,0,0,0,0,0,FF131413,FF1C1C1C,FF1C1C1C,FF242424,0,FF343434,FF1C1C1C,0,FF3B3B3B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0
    180. DATA 0,0,0,0,0,0,0,0,0,0,0,FF090408,FF0C1A0C,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0C1A0C,0,0,0,0,0,0,0,0,0,0,0,0,0,FF414241,FF2B2B2B,0,FF2B2B2B,FF3B3B3B,FF1C1C1C,0,0,FF0B0B0B,0,0,FF242424,FF1C1C1C,FF343434,FF131413,0,FF2B2B2B,FF3B3B3B,FF3B3B3B,FF242424,0,FF3B3B3B,0,FF1C1C1C,FF3B3B3B,0,0,0,0,0,0,0,0,0,0,0
    181. DATA 0,0,0,0,0,0,0,0,FF002300,FF407C42,FF326C34,0,0,0,FF448A46,FF143C15,0,FF0C1A0C,0,0,0,0,0,0,0,0,0,FF030B03,0,0,0,0,0,FF030B03,0,0,0,0,0,0,0,FF131413,FF3B3B3B,FF2B2B2B,FF0B0B0B,FF343434,FF343434,FF1C1C1C,0,FF2B2B2B,FF3B3B3B,FF2B2B2B,0,FF3B3B3B,FF3B3B3B,FF3B3B3B,0,0,FF343434,FF1C1C1C,FF343434,FF131413,FF131413,FF3B3B3B,0,FF2B2B2B,FF343434,0,0,0,0,0,0,0,0,0,0,0
    182. DATA 0,0,0,0,0,0,0,FF0B0B0B,0,FF78CC7A,FF6FCB72,FF5FB661,FF3B7B3D,FF4C9E4E,FF82DD84,FF2C642D,0,0,0,0,0,0,FF031303,0,0,FF0B130B,FF030B03,FF030B03,FF4D934F,FF143C15,0,FF122413,FF131413,0,0,0,0,0,0,0,0,FF242424,FF343434,FF2B2B2B,FF343434,FF2B2B2B,FF343434,FF0B0B0B,FF1C1C1C,FF343434,FF1C1C1C,FF343434,FF1C1C1C,FF343434,FF1C1C1C,FF343434,0,FF131413,FF343434,0,FF343434,0,FF242424,FF3B3B3B,0,FF3B3B3B,FF242424,0,0,0,0,0,0,0,0,0,0,0
    183. DATA 0,0,0,0,0,0,0,FF031303,0,FF266328,FF5BB35D,FF186C1C,FF63BB65,FF54A456,FF53AC54,FF357736,FF002E00,FF61AD62,FF08350A,0,FF030B03,0,0,0,FF0C1A0C,0,0,FF1D5B20,FF88E48A,FF357736,0,0,0,FF003B00,FF0C1A0C,0,0,0,0,0,0,FF343434,FF242424,FF343434,FF3B3B3B,FF0B0B0B,FF343434,0,FF343434,FF1C1C1C,FF343434,FF1C1C1C,FF343434,FF242424,FF242424,FF2B2B2B,0,FF343434,FF2B2B2B,0,FF343434,FF242424,FF343434,FF343434,FF343434,FF3B3B3B,FF242424,0,0,0,0,0,0,0,0,0,0,0
    184. DATA 0,0,0,0,0,0,0,0,FF131413,0,FF66C269,FF407C42,FF002E00,FF002E00,FF448545,FF6CCA6E,FF63BB65,FF7BD47D,FF144716,0,FF030B03,0,FF2C642D,0,FF002300,FF6FC271,FF004700,FF4C9E4E,FF5DBB5F,FF57AD59,FF2E6C30,FF4D934F,FF72C473,FF72C473,0,FF0B130B,0,0,FF2B2B2B,FF1C1C1C,0,FF3B3B3B,0,FF242424,FF2B2B2B,0,FF343434,0,FF343434,FF343434,FF242424,FF1C1C1C,FF3B3B3B,0,FF1D2122,FF343434,FF2B2B2B,FF343434,0,0,FF1C1C1C,FF343434,FF242424,FF131413,FF2B2B2B,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0
    185. DATA 0,0,0,0,0,0,0,FF0B130B,0,FF6FC271,FF7BD47D,FF005400,FF2E6C30,FF62B464,FF003B00,FF5BAB5C,FF2C812E,FF53AC54,0,0,FF1C1C1C,0,FF72CD74,FF62B464,FF005B00,FF72CD74,FF6CCA6E,FF66C269,FF003400,FF66B968,FF5BB35D,FF4EAB50,FF74D476,FF326C34,0,FF0B130B,0,FF2B2B2B,FF343434,0,FF1C1C1C,FF343434,0,0,FF031303,FF0B130B,FF343434,FF1C1C1C,FF343434,FF343434,FF252B25,FF414241,FF131413,0,0,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,FF3B3B3B,FF131413,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0
    186. DATA 0,0,0,0,0,0,0,0,0,FF2C642D,FF439544,FF6FCB72,FF3C833F,FF5FB661,FF3A753B,0,FF5BAB5C,FF5FBA61,FF3C833F,FF407C42,0,0,FF5BB35D,FF53AC54,FF74D476,FF4C9E4E,FF478F49,FF3A753B,0,0,FF003400,FF68BF6A,FF2E6C30,0,FF0C1A0C,0,0,FF3B3B3B,0,0,FF343434,FF201F20,FF030B03,FF131413,0,0,FF2B2B2B,FF343434,FF1B241B,FF302F2F,FF1D001D,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF2B2B2B,0,FF343434,FF242424,0,0,0,0,0,0,0,0,0,0,0
    187. DATA 0,0,0,0,0,0,0,FF030B03,0,FF002E00,FF449B49,FF63BB65,FF326C34,FF357736,FF63BB65,0,FF61AD62,FF5BAB5C,FF74D476,FF54A456,FF5BAB5C,FF54A456,FF5BB35D,FF002E00,FF61AD62,FF3B7B3D,0,FF448A46,FF63BB65,FF2A752D,FF6CC46D,FF398B3B,0,FF122413,0,0,0,FF343434,FF343434,FF343434,FF343434,0,0,0,FF326C34,FF144716,0,FF122413,0,0,FF448545,FF4B8C4C,FF001900,FF141C14,FF0C1A0C,0,0,FF0B0B0B,0,0,0,0,FF2B2B2B,FF2B2B2B,FF1C1C1C,FF3B3B3B,0,0,0,0,0,0,0,0,0,0,0,0
    188. DATA 0,0,0,0,0,0,0,FF0C1A0C,0,FF549D54,FF82DD84,FF439544,0,0,FF62B464,FF448545,0,FF002300,FF63BB65,FF002E00,FF62B464,FF74D476,FF6FCB72,0,0,FF357736,FF66C269,FF5BB35D,FF054B0A,FF549D54,FF6FCB72,FF5FBA61,FF7BD47D,FF003400,0,FF030B03,0,0,FF2B2B2B,FF242424,FF030B03,0,FF326C34,FF72C473,FF82DD84,FF7FD381,0,0,FF3A753B,FF7FD381,FF72CD74,FF88E48A,FF48854A,0,0,FF030B03,FF0B0B0B,FF343434,0,0,0,0,FF0B0B0B,FF343434,FF343434,FF131413,0,0,0,0,0,0,0,0,0,0,0,0
    189. DATA 0,0,0,0,0,0,0,0,0,FF030B03,FF1A521C,FF4C9E4E,FF6FCB72,FF3A753B,FF0E4811,FF6CC46D,0,FF448545,FF5BAB5C,0,FF5BB35D,FF2A752D,FF1A521C,FF003B00,FF62B464,FF63BB65,FF2C642D,0,0,0,FF449B49,FF72CD74,FF4B8C4C,0,FF0B130B,0,0,0,0,0,FF0B130B,0,FF549D54,FF439544,FF72C473,FF69B36B,0,FF62B464,FF86DC88,FF4B8C4C,FF004700,FF7FD381,FF005400,FF448545,FF4D934F,0,FF1C1C1C,FF343434,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0B0B,FF2B2B2B,FF0B0B0B,0,0,0
    190. DATA 0,0,0,0,0,0,0,0,0,0,0,FF3E8E40,FF6CCA6E,FF357736,0,FF549D54,FF5BAB5C,FF005B00,FF4C9E4E,FF2A752D,FF66C269,0,FF357736,FF6CC46D,FF478F49,0,0,0,FF48854A,FF63BB65,FF54A456,FF0E4811,0,FF0B130B,0,0,0,0,0,0,0,FF1B241B,0,FF266328,FF7FD381,FF004700,FF78CC7A,FF78CC7A,FF003B00,0,FF235225,FF7FD381,FF78CC7A,FF7BD47D,FF448545,0,FF252B25,FF2B2B2B,FF242424,0,0,0,0,0,0,0,0,FF2B2B2B,FF242424,FF2B2B2B,0,FF0B0B0B,FF343434,FF3B3B3B,FF1C1C1C,0,0,0
    191. DATA 0,0,0,0,0,0,0,0,FF0C1A0C,0,FF4D934F,FF88E48A,FF53AC54,FF61AD62,FF1D471E,0,FF5BAB5C,FF53AC54,FF6CC46D,FF66C269,FF57AD59,FF53AC54,FF6CC46D,FF1A521C,0,FF0C2E0E,FF001900,0,FF54A456,FF74D476,FF54A456,FF235225,0,0,FF181718,FF343434,FF343434,FF2B2B2B,0,0,FF1C1C1C,FF363935,0,FF4B8C4C,FF82DD84,FF7BD47D,FF69B36B,0,0,FF1B241B,0,FF2C642D,FF48854A,0,0,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF131413,FF120D0D,FF1C1C1C,FF2B2B2B,FF0B0B0B,0,FF2B2B2B,FF343434,FF2B2B2B,FF343434,0,FF2B2B2B,FF343434,0,FF0B0B0B,0,0,0
    192. DATA 0,0,0,0,0,0,0,0,0,0,FF0C2E0E,FF003400,FF53AC54,FF74D476,FF398B3B,FF4B8C4C,FF228935,FF66C269,FF6CC46D,0,FF63BB65,FF54A456,0,0,0,FF4D934F,FF78CC7A,FF5BB35D,FF5BB35D,FF63BB65,FF7FD381,FF3B7B3D,0,FF0C1A0C,FF3B3B3B,FF1C1C1C,0,FF343434,FF242424,0,FF2B2B2B,FF2B2B2B,0,FF002300,FF69B36B,FF529454,0,FF131413,FF031303,0,FF030B03,0,0,FF1C1C1C,FF141C14,0,FF2B2B2B,FF242424,0,FF343434,FF343434,FF3B3B3B,FF2B2B2B,FF343434,FF2B2B2B,0,FF3B3B3B,0,FF242424,FF2B2B2B,0,0,FF343434,FF343434,0,0,0,0
    193. DATA 0,0,0,0,0,0,0,0,0,FF0C1A0C,0,FF386F39,FF88E48A,FF5DBB5F,FF5BAB5C,FF449B49,FF83AF61,FF6FAC58,FF006A08,FF62B464,FF449B49,FF348237,FF5BAB5C,FF5BAB5C,FF549D54,FF439544,FF6CCA6E,FF398B3B,FF235225,FF144716,0,0,0,FF2B2B2B,FF2B2B2B,0,0,FF343434,FF2B2B2B,0,FF343434,FF1C1C1C,0,FF090408,0,0,FF141C14,FF1B241B,0,FF131413,FF1C1C1C,FF031303,FF2E332C,FF3B3B3B,FF343434,0,FF343434,FF1C1C1C,FF0B0B0B,FF343434,0,FF343434,0,FF242424,FF2B2B2B,FF0B0B0B,FF343434,0,FF343434,FF1C1C1C,FF242424,FF2B2B2B,0,FF343434,FF242424,0,0,0
    194. DATA 0,0,0,0,0,0,0,0,0,FF030B03,0,FF235225,FF326C34,FF112300,0,FF86002F,FFD35A60,FFC45458,FF5C934D,FF77DA7D,FF46A245,FF88E48A,FF63BB65,FF006C29,FF2D904B,FF399E50,FF6FCB72,FF70BD6F,0,0,FF141C14,FF0B130B,0,FF343434,FF131413,0,FF242424,FF343434,0,0,FF343434,FF1C1C1C,FF0B0B0B,0,FF2E332C,FF2E332C,FF343434,FF343434,0,FF2B2B2B,FF343434,0,FF3B3B3B,FF242424,FF2B2B2B,0,FF343434,0,FF242424,FF343434,0,FF343434,0,FF2B2B2B,FF2B2B2B,0,FF3B3B3B,0,FF343434,FF1C1C1C,FF343434,FF3B3B3B,FF242424,FF343434,FF131413,0,0,0
    195. DATA 0,0,0,0,0,0,0,0,0,0,FF030B03,0,0,FF140000,0,FF913C38,FFBE4341,FFD56364,FF8E4632,FF305A21,FF3C833F,FF469951,FF4C803B,FF7C5918,FF8E6F28,FF7C5918,FF3A510B,FF005C28,FF161A0C,FF091204,0,0,FF131413,FF343434,0,0,FF0B0B0B,0,0,FF0F1010,FF343434,FF343434,FF3B3B3B,FF131413,FF343434,FF343434,FF363935,FF2B2B2B,0,FF343434,FF242424,0,FF2B2B2B,FF3B3B3B,FF0B0B0B,FF131413,FF343434,0,FF2B2B2B,FF242424,FF0B0B0B,FF343434,0,FF2B2B2B,FF2B2B2B,FF242424,FF3B3B3B,FF343434,FF343434,FF2B2B2B,FF2B2B2B,FF1C1C1C,FF343434,FF1C1C1C,0,0,0,0
    196. DATA 0,0,0,0,0,0,0,0,0,0,0,FF0B130B,FF252B25,FF2A2625,0,FF812929,FFD35A60,FFC45458,FFD56364,FFC45458,0,FF5E4002,FFD4BB62,FFCBB25D,FFC5AD59,FFCBB25D,FFD4BB62,FF967F3B,0,FF161A0C,0,0,FF242424,FF343434,0,0,0,FF0B0B0B,FF131413,FF1C1C1C,FF343434,0,FF2B2B2B,FF2B2B2B,FF343434,0,FF2B2B2B,FF242424,0,FF343434,FF1C1C1C,FF2B2B2B,0,FF242424,FF343434,FF242424,FF343434,0,FF3B3B3B,0,FF1C1C1C,FF343434,0,FF0B0B0B,FF343434,FF343434,FF0B0B0B,FF242424,FF0B0B0B,0,0,0,0,0,0,0,0,0
    197. DATA 0,0,0,0,0,0,0,0,0,0,FF242424,FF343434,FF242424,FF002928,FF773B3B,FFD56364,FFC45458,FFCA5252,FFBE4341,FFD35A60,FFC19353,FFAD9941,FF6E5921,0,0,0,FF69541A,FFD4BB62,FFB29B4C,0,FF1B1C11,0,FF2B2B2B,FF2B2B2B,0,0,0,FF1C1C1C,FF343434,FF242424,FF2B2B2B,0,FF343434,FF1C1C1C,FF343434,0,FF2B2B2B,FF242424,FF131413,FF343434,FF242424,FF414241,FF242424,FF343434,FF2B2B2B,FF2B2B2B,FF242424,FF343434,FF242424,0,FF0B0B0B,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    198. DATA 0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,0,FF001D1C,FF603030,FFBE4341,FFD56364,FF913C38,FF9B3240,FFC17452,FFD7C065,FF452D00,0,FF1B1C11,FF1B1B0D,FF1B1B0D,0,0,FFDAC066,FF8E7937,0,FF130E01,FF2B2B2B,FF2B2B2B,0,FF0B0B0B,0,FF2B2B2B,FF242424,FF2B2B2B,FF242424,0,FF343434,FF2B2B2B,FF343434,0,FF131413,FF343434,FF3B3B3B,FF242424,FF2B2B2B,FF1C1C1C,FF343434,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    199. DATA 0,0,0,0,0,0,0,0,FF0B0B0B,FF343434,0,0,0,FF1A1010,FF002928,FF773B3B,FF8B4242,FF2E332C,0,FFB29B4C,FFAA9349,0,FF292510,0,0,0,FF292510,0,FF766128,FFD4BB62,FF1E0000,0,FF302F2F,FF242424,0,0,0,FF3B3B3B,FF0B0B0B,FF343434,FF131413,0,FF242424,FF3B3B3B,FF1C1C1C,0,0,0,FF1B1C11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    200. DATA 0,0,0,0,0,0,0,0,FF2B2B2B,FF1C1C1C,0,0,0,0,FF120D0D,FF001D1C,0,FF26241D,FF000019,FFC5AD59,FF8A7433,0,FF151104,0,0,0,0,FF222111,0,FFC5AD59,FF967F3B,0,FF2E332C,FF343434,0,FF0B0B0B,FF343434,FF242424,0,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0F14,0,FF02030A,0,0,0,0,0,0,0
    201. DATA 0,0,0,0,0,0,0,0,FF2B2B2B,0,0,0,0,0,0,0,FF140000,FF1B1C11,FF000019,FFC5AD59,FF8E7937,0,FF151104,0,0,0,0,FF191406,0,FF967F3B,FFCBB25D,0,FF1B1B0D,FF302F2F,FF343434,FF343434,FF242424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF02030A,FF060911,0,FF13150B,0,0,0,0,FF060911,0,0,0,0,0
    202. DATA 0,0,0,0,0,0,0,FF1C1C1C,FF242424,0,0,0,0,0,0,0,0,FF26241D,FF000019,FFB49D51,FFAA9349,0,FF1B1B0D,0,0,0,0,0,0,FF3C2300,FFD4BB62,FF5E4002,0,FF130E01,0,0,0,0,0,0,0,0,FF0B0B0B,FF242424,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF1C1C1C,0,0,0,0,0,0,FF060911,0,0,FF192335,0,FF6D7EA8,FF1E325B,FF000019,FF16191E,0,FF02030A,0,0,0,0
    203. DATA 0,0,0,0,0,0,0,FF2B2B2B,FF120D0D,0,0,0,0,0,0,0,0,FF26241D,FF000019,FF8A7433,FFCBB25D,0,FF1B1C11,0,0,0,0,0,FF1B1B0D,0,FFAA9349,FFCBB25D,0,FF02030A,FF201E0E,FF130E01,0,0,0,FF0B0B0B,0,FF2B2B2B,FF242424,FF242424,FF2B2B2B,FF1C1C1C,0,FF0B0B0B,0,0,0,0,FF0B0B0B,FF0B0B0B,FF2B2B2B,FF242424,FF242424,FF2B2B2B,FF0B0B0B,FF0B0B0B,0,0,0,0,FF364158,FF00002E,FF617295,FF7E92C3,FF8298D3,FF7287C0,FF8597C3,FF00002E,FF364158,0,0,0,0,0
    204. DATA 0,0,0,0,0,0,FF2B2B2B,FF242424,0,0,0,0,0,0,0,0,0,FF2A2625,FF1D2122,FF1E0000,FFD4BB62,FF6E5921,0,FF191406,0,0,0,0,0,FF0B130B,0,FFC5AD59,FFCBB25D,FF452D00,0,0,FF0D0B03,0,0,FF2B2B2B,FF131413,FF131413,FF343434,FF343434,FF2B2B2B,0,FF2B2B2B,FF131413,0,0,0,0,FF2B2B2B,0,FF1C1C1C,FF343434,FF343434,FF1C1C1C,0,FF2B2B2B,0,0,FF161C29,FF000024,FF4F6294,FF8597C3,0,FF8597C3,FF95ACE5,FF9BADDD,FF334368,FF58668A,FF7E92C3,FF000024,FF29303E,0,0,0
    205. DATA 0,0,0,0,0,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF201E0E,0,FFA59149,FFC5AD59,0,FF1B1B0D,0,0,0,0,0,FF0C0400,FF13150B,0,FFAA9349,FFD4B95D,FFB8A255,FF7A6731,0,FF1C1C1C,FF2B2B2B,FF2B2B2B,FF1C1C1C,0,FF1C1C1C,FF2B2B2B,0,0,FF2B2B2B,FF242424,FF242424,0,FF201F1F,FF2B2B2B,FF2B2B2B,FF131413,0,FF242424,FF242424,0,FF131413,FF2B2B2B,FF2B2B2B,FF242424,0,FF7B8CB3,FF7D93CC,FF8A9ED2,FF000019,0,FF8DA2D4,FF4C5D87,0,FF7284B2,FF8298D3,FF8698C9,FF334368,0,FF060911,0
    206. DATA 0,0,0,FF131413,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,FF00080A,FF1E0000,FFD4BB62,FF7A6731,0,FF151104,0,0,0,0,FF1B1C11,0,0,FF310000,FFC4A64D,FFF5DE82,FFA89453,0,FF1B1C11,FF242424,FF343434,FF2B2B2B,FF0B0B0B,FF131413,FF2B2B2B,0,FF242424,FF343434,FF2B2B2B,FF131413,0,FF0B0B0B,FF2B2B2B,FF343434,FF2B2B2B,0,FF242424,FF242424,0,FF2B2B2B,FF343434,FF2B2B2B,FF0B0B0B,FF02030A,FF49609C,FF95ACE5,FF9FB4EB,FF7284B2,FF00002E,FF8DA2D4,FF364B7E,FF45567C,FF90A5DF,FF9FB4EB,FF6D83C1,FF031C43,0,FF02030A,0
    207. DATA 0,0,FF242424,FF3B3B3B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF0B0B0B,0,FF201E0E,0,FF9C8644,FFC5AD59,0,FF1B1C11,0,FF151104,FF191406,FF030B03,0,FF5E4B17,FFB49D51,FFDAC066,FFB8A255,FF5E4002,0,FF0D0B03,FF1C1C1C,FF2B2B2B,FF131413,FF1C1C1C,FF2B2B2B,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF242424,FF242424,0,FF242424,FF242424,FF0B0B0B,FF242424,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF272829,FF1B1B0D,FF031C43,FF7D8FB8,FF6D7EA8,FF26417D,FF8597C3,FF7F95D0,FF8298D3,FF7F95D0,FF93A5D3,FF4F6294,FF485D93,FF8597C3,FF45567C,0,FF0B0F14,0
    208. DATA 0,0,0,FF131413,FF242424,FF2B2B2B,FF2B2B2B,FF131413,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2B,0,0,FF0D0B03,0,FF5E4B17,FFD4BB62,FF301400,0,FF222111,0,0,0,FFB8A255,FFDAC066,FFB29B4C,FF59430D,0,0,FF13150B,0,0,0,0,0,FF1C1C1C,FF2B2B2B,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,FF2B2B2B,FF242424,0,0,0,0,FF0D182D,FF1E325B,FF000019,0,FF000050,FF90A5DF,FF5F7FCC,FF90A5DF,FF49609C,0,0,FF001F52,FF1B2A47,0,0,0
    209. DATA 0,0,0,0,0,0,FF242424,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,FF242424,FF1C1C1C,0,0,0,0,FF3C2300,FFD0B760,FF5E4B17,0,0,FF665422,FF7A6731,0,FFCEB563,FFB29B4C,0,0,FF201E0E,FF130E01,0,0,FF1C1C1C,FF2B2B2B,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF2B2B2B,FF242424,FF343434,FF242424,FF2B2B2B,FF272829,0,FF242424,FF2B2B2B,FF242424,FF2B2B2B,FF242424,FF242424,FF242424,FF242424,FF2B2B2B,FF242424,FF2E2F31,FF1B1B0D,FF1B2A47,FF8597C3,FF8A9ED2,FF7287C0,FF9BADDD,FF657AB4,FF8298D3,FF657AB4,FF93A5D3,FF8597C3,FF7D93CC,FF93A5D3,FF4C5D87,0,FF0F1219,0
    210. DATA 0,0,0,0,0,0,0,FF131413,FF2B2B2B,0,0,FF2B2B2B,FF131413,0,0,FF2B2B2B,FF1C1C1C,0,0,0,0,FF452D00,FFD4BB62,FF330A00,FF330A00,FFB49D51,FFDAC066,FFE6CD73,FF8E6F28,FFCBB25D,FFA59149,0,FF292510,0,0,0,0,0,FF242424,FF343434,FF242424,0,FF131413,FF2B2B2B,0,FF131413,FF343434,FF2B2B2B,FF131413,0,0,FF2B2B2B,FF343434,FF1C1C1C,0,FF242424,FF242424,0,FF242424,FF343434,FF2B2B2B,FF131413,0,FF485D93,FF95ACE5,FF9BAEE4,FF364B7E,0,FF8A9ED2,FF334368,0,FF8298D3,FF9FB4EB,FF6D82BD,FF00002E,FF0D0B03,0,0
    211. DATA 0,0,0,0,0,0,0,FF131413,FF2B2B2B,0,FF2B2B2B,FF343434,FF2B2B2B,FF2B2B2B,0,FF242424,FF1C1C1C,0,0,FF130E01,0,FF69541A,FFD4B95D,FFB19342,FFD6BF68,FFB8A255,FF513100,FF8A7433,FFD4BB62,FFB49D51,FF1E0000,0,0,0,0,0,0,FF131413,FF242424,FF242424,FF1C1C1C,0,FF1C1C1C,FF2B2B2B,0,0,FF2B2B2B,FF1C1C1C,FF242424,0,FF242424,FF1C1C1C,FF2B2B2B,FF131413,0,FF2B2B2B,FF242424,0,FF131413,FF2B2B2B,FF201F20,FF26241D,0,FF7182A6,FF657AB4,FF8A9ED2,0,FF000050,FF90A5DF,FF4F6294,0,FF7284B2,FF798EC9,FF7284B2,FF3D4964,0,FF060911,0
    212. DATA 0,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2B,FF242424,0,0,FF242424,FF2B2B2B,FF343434,FF2B2B2B,0,0,FF201E0E,0,FF9C8644,FFF5DE82,FFC4A64D,FF665422,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF242424,0,FF1C1C1C,FF343434,FF343434,FF2B2B2B,0,FF242424,FF0B0B0B,0,0,0,0,FF242424,0,FF242424,FF343434,FF343434,FF242424,0,FF242424,0,0,FF16191E,0,FF45567C,FF6A7A9E,FF000F44,FF93A5D3,FF95ACE5,FF9BAEE4,FF58668A,FF334368,FF6D7EA8,0,FF0D0B03,0,0,0
    213. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,0,FF0D0B03,0,FF665422,FF766128,0,0,FF222111,FF0C0400,FF191406,FF161A0C,FF1B1B0D,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF1C1C1C,FF242424,FF242424,FF1C1C1C,0,0,0,0,0,0,0,FF131413,FF242424,FF242424,FF242424,FF242424,FF0B0B0B,0,0,0,0,FF1C1C1C,FF0B0F14,0,FF6A7A9E,FF657AB4,FF7D93CC,FF657AB4,FF7B8CB3,0,0,FF1D2122,0,0,0,0
    214. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0D0B03,0,0,FF1B1B0D,FF151104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0B0B,FF1C1C1C,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF131413,0,0,0,0,0,0,0,FF02030A,FF16191E,0,0,FF617295,FF142747,0,FF16191E,FF0B0B0B,0,0,0,0,0
    215. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF151104,FF191406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF131413,0,0,FF131413,0,0,0,0,0,0,0
    216. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0F1219,FF02030A,0,0,0,0,0,0,0,0
    217. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    218. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    219. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    220. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    221. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    222.  
    223. frame4:
    224. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    225. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    226. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    227. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    228. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    229. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    230. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    231. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    232. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF141414,0,0,0,FF3B3B3B,FF333333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF141414,FF0B0B0B,0,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,0
    233. DATA 0,0,0,0,0,0,0,0,0,FF0C1A0C,FF0B130B,0,0,0,FF0C1A0C,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF3B3B3B,FF1C1C1C,0,FF141414,FF424242,FF242424,0,0,0,0,0,0,0,0,0,0,FF141414,FF1C1C1C,FF1C1C1C,FF242424,0,FF333333,FF1C1C1C,0,FF3B3B3B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0
    234. DATA 0,0,0,0,0,0,0,0,0,0,0,FF090408,FF0C1A0C,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0C1A0C,0,0,0,0,0,0,0,0,0,0,0,0,0,FF424242,FF2B2B2B,0,FF2B2B2B,FF3B3B3B,FF1C1C1C,0,0,FF0B0B0B,0,0,FF242424,FF1C1C1C,FF333333,FF141414,0,FF2B2B2B,FF3B3B3B,FF3B3B3B,FF242424,0,FF3B3B3B,0,FF1C1C1C,FF3B3B3B,0,0,0,0,0,0,0,0,0,0,0
    235. DATA 0,0,0,0,0,0,0,0,FF002300,FF407C42,FF326C34,0,0,0,FF448A46,FF143C15,0,FF0C1A0C,0,0,0,0,0,0,0,0,0,FF030B03,0,0,0,0,0,FF030B03,0,0,0,0,0,0,0,FF141414,FF3B3B3B,FF2B2B2B,FF0B0B0B,FF333333,FF333333,FF1C1C1C,0,FF2B2B2B,FF3B3B3B,FF2B2B2B,0,FF3B3B3B,FF3B3B3B,FF3B3B3B,0,0,FF333333,FF1C1C1C,FF333333,FF141414,FF141414,FF3B3B3B,0,FF2B2B2B,FF333333,0,0,0,0,0,0,0,0,0,0,0
    236. DATA 0,0,0,0,0,0,0,FF0B0B0B,0,FF76CB78,FF6FCB72,FF5FB661,FF3B7B3D,FF4A9C4C,FF81E183,FF2C662E,0,0,0,0,0,0,FF031303,0,0,FF0B130B,FF030B03,FF030B03,FF4F9351,FF143C15,0,FF112111,FF141414,0,0,0,0,0,0,0,0,FF242424,FF333333,FF2B2B2B,FF333333,FF2B2B2B,FF333333,FF0B0B0B,FF1C1C1C,FF333333,FF1C1C1C,FF333333,FF1C1C1C,FF333333,FF1C1C1C,FF333333,0,FF141414,FF333333,0,FF333333,0,FF242424,FF3B3B3B,0,FF3B3B3B,FF242424,0,0,0,0,0,0,0,0,0,0,0
    237. DATA 0,0,0,0,0,0,0,FF031303,0,FF266328,FF5BB35D,FF186C1C,FF63BB65,FF56A658,FF53AB55,FF347936,FF002E00,FF61AC62,FF08350A,0,FF030B03,0,0,0,FF0C1A0C,0,0,FF1D5B20,FF87E589,FF347535,0,0,0,FF003B00,FF0C1A0C,0,0,0,0,0,0,FF333333,FF242424,FF333333,FF3B3B3B,FF0B0B0B,FF333333,0,FF333333,FF1C1C1C,FF333333,FF1C1C1C,FF333333,FF242424,FF242424,FF2B2B2B,0,FF333333,FF2B2B2B,0,FF333333,FF242424,FF333333,FF333333,FF333333,FF3B3B3B,FF242424,0,0,0,0,0,0,0,0,0,0,0
    238. DATA 0,0,0,0,0,0,0,0,FF141414,0,FF66C269,FF407C42,FF002E00,FF002E00,FF448545,FF6CCA6E,FF63BB65,FF7CD37E,FF144A16,0,FF030B03,0,FF2C662E,0,FF002300,FF6FC271,FF004900,FF4FA051,FF5DBB5F,FF57AD59,FF2E6C30,FF4B944C,FF72C473,FF72C473,0,FF0B130B,0,0,FF2B2B2B,FF1C1C1C,0,FF3B3B3B,0,FF242424,FF2B2B2B,0,FF333333,0,FF333333,FF333333,FF242424,FF1C1C1C,FF3B3B3B,0,FF1D2122,FF333333,FF2B2B2B,FF333333,0,0,FF1C1C1C,FF333333,FF242424,FF141414,FF2B2B2B,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0
    239. DATA 0,0,0,0,0,0,0,FF0B130B,0,FF6FC271,FF79DA7B,FF005400,FF2E6C30,FF62B464,FF003B00,FF5BAB5C,FF2C812E,FF53AB55,0,0,FF1C1C1C,0,FF72CD74,FF62B464,FF005B00,FF72CD74,FF6CCA6E,FF66C269,FF003400,FF66B968,FF5BB35D,FF4EAB50,FF76D578,FF326C34,0,FF0B130B,0,FF2B2B2B,FF333333,0,FF1C1C1C,FF333333,0,0,FF031303,FF0B130B,FF333333,FF1C1C1C,FF333333,FF333333,FF252B25,FF3D433E,FF141414,0,0,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,FF3B3B3B,FF141414,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0
    240. DATA 0,0,0,0,0,0,0,0,0,FF2A5E2C,FF439544,FF6FCB72,FF3C833F,FF5FB661,FF3A753B,0,FF5BAB5C,FF5FBA61,FF3C833F,FF407C42,0,0,FF5BB35D,FF53AB55,FF73D375,FF4A9C4C,FF478F49,FF3A753B,0,0,FF003400,FF68BF6A,FF2E6C30,0,FF0C1A0C,0,0,FF3B3B3B,0,0,FF333333,FF201F20,FF030B03,FF141414,0,0,FF2B2B2B,FF333333,FF1B231C,FF302F2F,FF1D001D,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF2B2B2B,0,FF333333,FF242424,0,0,0,0,0,0,0,0,0,0,0
    241. DATA 0,0,0,0,0,0,0,FF030B03,0,FF002E00,FF459C4A,FF63BB65,FF326C34,FF347535,FF63BB65,0,FF61AC62,FF5BAB5C,FF73D375,FF53A455,FF5BAB5C,FF53A455,FF5BB35D,FF002E00,FF61AC62,FF3B7B3D,0,FF448A46,FF63BB65,FF2A792D,FF6CC46D,FF378839,0,FF162A16,0,0,0,FF333333,FF333333,FF333333,FF333333,0,0,0,FF326C34,FF144A16,0,FF112111,0,0,FF448545,FF4B8C4B,FF001900,FF141C14,FF0C1A0C,0,0,FF0B0B0B,0,0,0,0,FF2B2B2B,FF2B2B2B,FF1C1C1C,FF3B3B3B,0,0,0,0,0,0,0,0,0,0,0,0
    242. DATA 0,0,0,0,0,0,0,FF0C1A0C,0,FF569E58,FF81E183,FF439544,0,0,FF62B464,FF448545,0,FF002300,FF63BB65,FF002E00,FF62B464,FF73D375,FF6FCB72,0,0,FF347936,FF66C269,FF5BB35D,FF054B0A,FF539D54,FF6FCB72,FF5FBA61,FF7CD37E,FF003400,0,FF030B03,0,0,FF2B2B2B,FF242424,FF030B03,0,FF326C34,FF72C473,FF84DA85,FF7FD281,0,0,FF3A753B,FF7FD281,FF72CD74,FF89E38B,FF48854A,0,0,FF030B03,FF0B0B0B,FF333333,0,0,0,0,FF0B0B0B,FF333333,FF333333,FF141414,0,0,0,0,0,0,0,0,0,0,0,0
    243. DATA 0,0,0,0,0,0,0,0,0,FF030B03,FF1C531E,FF4FA051,FF6FCB72,FF3A753B,FF0E4B11,FF6CC46D,0,FF448545,FF5BAB5C,0,FF5BB35D,FF2B742D,FF1C531E,FF003B00,FF62B464,FF63BB65,FF2C662E,0,0,0,FF439845,FF72CD74,FF4B8C4B,0,FF0B130B,0,0,0,0,0,FF0B130B,0,FF539D54,FF439544,FF72C473,FF68AF6A,0,FF62B464,FF86DC88,FF4B8C4B,FF004600,FF7FD281,FF005400,FF448545,FF4F9351,0,FF1C1C1C,FF333333,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0B0B,FF2B2B2B,FF0B0B0B,0,0,0
    244. DATA 0,0,0,0,0,0,0,0,0,0,0,FF3E8E40,FF6CCA6E,FF367638,0,FF539D54,FF5BAB5C,FF005B00,FF4CA04E,FF2B742D,FF66C269,0,FF367638,FF6CC46D,FF478F49,0,0,0,FF48854A,FF63BB65,FF53A455,FF0D4510,0,FF0B130B,0,0,0,0,0,0,0,FF1B231C,0,FF266328,FF7FD281,FF004600,FF79CD7B,FF79CD7B,FF003B00,0,FF235325,FF83D785,FF79CD7B,FF7CD37E,FF448545,0,FF252B25,FF2B2B2B,FF242424,0,0,0,0,0,0,0,0,FF2B2B2B,FF242424,FF2B2B2B,0,FF0B0B0B,FF333333,FF3B3B3B,FF1C1C1C,0,0,0
    245. DATA 0,0,0,0,0,0,0,0,FF0C1A0C,0,FF4F9351,FF87E589,FF52B053,FF5EAE60,FF1D471E,0,FF5BAB5C,FF53AB55,FF6CC46D,FF64C066,FF57AD59,FF53AB55,FF6CC46D,FF184F1A,0,FF0C2E0E,FF001900,0,FF53A455,FF73D375,FF56A658,FF235325,0,0,FF181718,FF333333,FF333333,FF2B2B2B,0,0,FF1C1C1C,FF363935,0,FF4F8D50,FF84DA85,FF7CD37E,FF6AB56C,0,0,FF182818,0,FF2C662E,FF48854A,0,0,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF141414,FF120D0D,FF1C1C1C,FF2B2B2B,FF0B0B0B,0,FF2B2B2B,FF333333,FF2B2B2B,FF333333,0,FF2B2B2B,FF333333,0,FF0B0B0B,0,0,0
    246. DATA 0,0,0,0,0,0,0,0,0,0,FF0C2E0E,FF003400,FF53AB55,FF76D578,FF3A8C3C,FF4B8C4B,FF228935,FF66C269,FF6CC46D,0,FF63BB65,FF53A455,0,0,0,FF4B944C,FF79CD7B,FF5BB35D,FF5BB35D,FF63BB65,FF7FD281,FF3B7B3D,0,FF0C1A0C,FF3B3B3B,FF1C1C1C,0,FF333333,FF242424,0,FF2B2B2B,FF2B2B2B,0,FF002300,FF6AB56C,FF529454,0,FF141414,FF031303,0,FF030B03,0,0,FF1C1C1C,FF141C14,0,FF2B2B2B,FF242424,0,FF333333,FF333333,FF3B3B3B,FF2B2B2B,FF333333,FF2B2B2B,0,FF3B3B3B,0,FF242424,FF2B2B2B,0,0,FF333333,FF333333,0,0,0,0
    247. DATA 0,0,0,0,0,0,0,0,0,FF0C1A0C,0,FF386F39,FF89E38B,FF5DBB5F,FF5BAB5C,FF459C4A,FF83AF61,FF6FAC58,FF006A08,FF62B464,FF459C4A,FF348237,FF5BAB5C,FF5BAB5C,FF539D54,FF439544,FF6CCA6E,FF3A8C3C,FF235325,FF164317,0,0,0,FF2B2B2B,FF2B2B2B,0,0,FF333333,FF2B2B2B,0,FF333333,FF1C1C1C,0,FF090408,0,0,FF141C14,FF1B231C,0,FF141414,FF1C1C1C,FF031303,FF2D332D,FF3B3B3B,FF333333,0,FF333333,FF1C1C1C,FF0B0B0B,FF333333,0,FF333333,0,FF242424,FF2B2B2B,FF0B0B0B,FF333333,0,FF333333,FF1C1C1C,FF242424,FF2B2B2B,0,FF333333,FF242424,0,0,0
    248. DATA 0,0,0,0,0,0,0,0,0,FF030B03,0,FF244F25,FF326C34,FF112300,0,FF86002F,FFD55B63,FFC34F56,FF5C934D,FF77DA7D,FF46A245,FF89E38B,FF63BB65,FF006C29,FF2D904B,FF399E50,FF6FCB72,FF70BD6F,0,0,FF141C14,FF0B130B,0,FF333333,FF141414,0,FF242424,FF333333,0,0,FF333333,FF1C1C1C,FF0B0B0B,0,FF2D332D,FF2D332D,FF333333,FF333333,0,FF2B2B2B,FF333333,0,FF3B3B3B,FF242424,FF2B2B2B,0,FF333333,0,FF242424,FF333333,0,FF333333,0,FF2B2B2B,FF2B2B2B,0,FF3B3B3B,0,FF333333,FF1C1C1C,FF333333,FF3B3B3B,FF242424,FF333333,FF141414,0,0,0
    249. DATA 0,0,0,0,0,0,0,0,0,0,FF030B03,0,0,FF140000,0,FF913E3A,FFBE4743,FFD56364,FF8E4632,FF305A21,FF3C833F,FF469951,FF4C803B,FF7D5518,FF8C6D2B,FF7A5C17,FF3A510B,FF005C28,FF161A0C,FF091204,0,0,FF141414,FF333333,0,0,FF0B0B0B,0,0,FF0F1010,FF333333,FF333333,FF3B3B3B,FF141414,FF333333,FF333333,FF363935,FF2B2B2B,0,FF333333,FF242424,0,FF2B2B2B,FF3B3B3B,FF0B0B0B,FF141414,FF333333,0,FF2B2B2B,FF242424,FF0B0B0B,FF333333,0,FF2B2B2B,FF2B2B2B,FF242424,FF3B3B3B,FF333333,FF333333,FF2B2B2B,FF2B2B2B,FF1C1C1C,FF333333,FF1C1C1C,0,0,0,0
    250. DATA 0,0,0,0,0,0,0,0,0,0,0,FF0B130B,FF252B25,FF2A2625,0,FF812929,FFD15A5A,FFC35555,FFD56364,FFC5575A,0,FF613B00,FFD4BB62,FFCBB35D,FFC4AC56,FFCBB35D,FFD4BB62,FF9B7F39,0,FF161A0C,0,0,FF242424,FF333333,0,0,0,FF0B0B0B,FF141414,FF1C1C1C,FF333333,0,FF2B2B2B,FF2B2B2B,FF333333,0,FF2B2B2B,FF242424,0,FF333333,FF1C1C1C,FF2B2B2B,0,FF242424,FF333333,FF242424,FF333333,0,FF3B3B3B,0,FF1C1C1C,FF333333,0,FF0B0B0B,FF333333,FF333333,FF0B0B0B,FF242424,FF0B0B0B,0,0,0,0,0,0,0,0,0
    251. DATA 0,0,0,0,0,0,0,0,0,0,FF242424,FF333333,FF242424,FF002928,FF773B3B,FFD56364,FFC5575A,FFCA5252,FFBE4743,FFD55B63,FFC19353,FFAD9941,FF6E5921,0,0,0,FF685217,FFD4BB62,FFB29B4C,0,FF1B1C11,0,FF2B2B2B,FF2B2B2B,0,0,0,FF1C1C1C,FF333333,FF242424,FF2B2B2B,0,FF333333,FF1C1C1C,FF333333,0,FF2B2B2B,FF242424,FF141414,FF333333,FF242424,FF424242,FF242424,FF333333,FF2B2B2B,FF2B2B2B,FF242424,FF333333,FF242424,0,FF0B0B0B,FF0B0B0B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    252. DATA 0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,0,FF001D1C,FF603030,FFBD3D3D,FFD56364,FF903935,FF9B3240,FFC17452,FFD7C065,FF452D00,0,FF1B1C11,FF1B1B0D,FF1B1B0D,0,0,FFDAC066,FF8E7937,0,FF130E01,FF2B2B2B,FF2B2B2B,0,FF0B0B0B,0,FF2B2B2B,FF242424,FF2B2B2B,FF242424,0,FF333333,FF2B2B2B,FF333333,0,FF141414,FF333333,FF3B3B3B,FF242424,FF2B2B2B,FF1C1C1C,FF333333,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    253. DATA 0,0,0,0,0,0,0,0,FF0B0B0B,FF333333,0,0,0,FF1A1010,FF002928,FF773B3B,FF8B4242,FF2A3027,0,FFB29B4C,FFAA9349,0,FF292510,0,0,0,FF292510,0,FF776125,FFD4BB62,FF1D0000,0,FF302F2F,FF242424,0,0,0,FF3B3B3B,FF0B0B0B,FF333333,FF141414,0,FF242424,FF3B3B3B,FF1C1C1C,0,0,0,FF1B1C11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    254. DATA 0,0,0,0,0,0,0,0,FF2B2B2B,FF1C1C1C,0,0,0,0,FF120D0D,FF001D1C,0,FF26241C,FF00001C,FFC5AD59,FF8A7433,0,FF151104,0,0,0,0,FF1F2012,0,FFC5AD59,FF96813E,0,FF34332C,FF333333,0,FF0B0B0B,FF333333,FF242424,0,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    255. DATA 0,0,0,0,0,0,0,0,FF2B2B2B,0,0,0,0,0,0,0,FF140000,FF1B1C11,FF00001C,FFC5AD59,FF8E7937,0,FF151104,0,0,0,0,FF191406,0,FF917C3A,FFC8AF5D,0,FF1B1B0D,FF302F2F,FF333333,FF333333,FF242424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    256. DATA 0,0,0,0,0,0,0,FF1C1C1C,FF242424,0,0,0,0,0,0,0,0,FF26241C,FF000014,FFB49D51,FFAA9349,0,FF1B1B0D,0,0,0,0,0,0,FF3C2300,FFD4BB62,FF5D4304,0,FF130E01,0,0,0,0,0,0,0,0,FF0B0B0B,FF242424,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF1C1C1C,0,0,0,0,0,0,0,0,0,0,0,FF242424,0,0,0,0,0,0,0,0,0
    257. DATA 0,0,0,0,0,0,0,FF2B2B2B,FF120D0D,0,0,0,0,0,0,0,0,FF29271E,FF00001C,FF8A7433,FFCBB35D,0,FF1B1C11,0,0,0,0,0,FF1B1B0D,0,FFAA9349,FFCBB35D,0,FF000008,FF201E0E,FF130E01,0,0,0,FF0B0B0B,0,FF2B2B2B,FF242424,FF242424,FF2B2B2B,FF1C1C1C,0,FF0B0B0B,0,0,0,0,FF0B0B0B,FF0B0B0B,FF2B2B2B,FF242424,FF242424,FF2B2B2B,FF0B0B0B,FF0B0B0B,0,0,0,0,FF0B0B0B,0,FF1C1C1C,FF242424,FF2B2B2B,FF242424,FF2B2B2B,0,FF0B0B0B,0,0,0,0,0
    258. DATA 0,0,0,0,0,0,FF2B2B2B,FF242424,0,0,0,0,0,0,0,0,0,FF2A2625,FF1D2122,FF230000,FFD4BB62,FF6E5921,0,FF191406,0,0,0,0,0,FF0B130B,0,FFC5AD59,FFCBB35D,FF452D00,0,0,FF0D0B03,0,0,FF2B2B2B,FF141414,FF141414,FF333333,FF333333,FF2B2B2B,0,FF2B2B2B,FF141414,0,0,0,0,FF2B2B2B,0,FF1C1C1C,FF333333,FF333333,FF1C1C1C,0,FF2B2B2B,0,0,0,0,FF141414,FF2B2B2B,0,FF2B2B2B,FF333333,FF333333,FF0B0B0B,FF1C1C1C,FF2B2B2B,0,FF0B0B0B,0,0,0
    259. DATA 0,0,0,0,0,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF201E0E,0,FFA59149,FFC5AD59,0,FF1B1B0D,0,0,0,0,0,FF0C0400,FF12150A,0,FFAA9349,FFD1B75F,FFBAA354,FF786734,0,FF1C1C1C,FF2B2B2B,FF2B2B2B,FF1C1C1C,0,FF1C1C1C,FF2B2B2B,0,0,FF2B2B2B,FF242424,FF242424,0,FF201F1F,FF2B2B2B,FF2B2B2B,FF141414,0,FF242424,FF242424,0,FF141414,FF2B2B2B,FF2B2B2B,FF1C1C1C,0,FF2B2B2B,FF242424,FF2B2B2B,0,0,FF2B2B2B,FF141414,0,FF242424,FF2B2B2B,FF2B2B2B,FF141414,0,0,0
    260. DATA 0,0,0,FF141414,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,FF00080A,FF1D0000,FFD4BB62,FF7D682C,0,FF151104,0,0,0,0,FF1B1C11,0,0,FF310000,FFC7A647,FFF5DE82,FFA89453,0,FF1B1C11,FF242424,FF333333,FF2B2B2B,FF0B0B0B,FF141414,FF2B2B2B,0,FF242424,FF333333,FF2B2B2B,FF141414,0,FF0B0B0B,FF2B2B2B,FF333333,FF2B2B2B,0,FF242424,FF242424,0,FF2B2B2B,FF333333,FF2B2B2B,FF0B0B0B,0,FF141414,FF333333,FF333333,FF242424,0,FF2B2B2B,FF0B0B0B,FF141414,FF333333,FF333333,FF242424,0,0,0,0
    261. DATA 0,0,FF242424,FF3B3B3B,FF2B2B2B,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF0B0B0B,0,FF201E0E,0,FF9C8644,FFC5AD59,0,FF1B1C11,0,FF151104,FF191406,FF030B03,0,FF604B16,FFB49D51,FFDAC066,FFBAA354,FF5D4304,0,FF0D0B03,FF1C1C1C,FF2B2B2B,FF141414,FF1C1C1C,FF2B2B2B,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF242424,FF242424,0,FF242424,FF242424,FF0B0B0B,FF242424,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF242424,FF0B0B0B,FF242424,FF242424,0,FF2B2B2B,FF242424,FF0B0B0B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF141414,FF141414,FF2B2B2B,FF141414,0,0,0
    262. DATA 0,0,0,FF141414,FF242424,FF2B2B2B,FF2B2B2B,FF141414,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2B,0,0,FF0D0B03,0,FF604B16,FFD4BB62,FF301400,0,FF242211,0,0,0,FFB4A058,FFDAC066,FFB29B4C,FF59430D,0,0,FF12150A,0,0,0,0,0,FF1C1C1C,FF2B2B2B,FF242424,FF2B2B2B,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,FF2B2B2B,FF242424,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF242424,FF2B2B2B,FF141414,0,0,0,0,0,0,0
    263. DATA 0,0,0,0,0,0,FF242424,FF2B2B2B,FF2B2B2B,0,0,0,0,0,0,FF242424,FF1C1C1C,0,0,0,0,FF3C2300,FFD1B75F,FF5B4A19,0,0,FF655423,FF786734,0,FFCEB563,FFB29B4C,0,0,FF201E0E,FF130E01,0,0,FF1C1C1C,FF2B2B2B,FF242424,FF2B2B2B,FF2B2B2B,FF242424,FF2B2B2B,FF242424,FF333333,FF242424,FF2B2B2B,FF272728,0,FF242424,FF2B2B2B,FF242424,FF2B2B2B,FF242424,FF242424,FF242424,FF242424,FF2B2B2B,FF242424,FF2B2B2B,FF242424,0,FF2B2B2B,FF2B2B2B,FF242424,FF333333,FF1C1C1C,FF2B2B2B,FF1C1C1C,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF2B2B2B,FF1C1C1C,0,0,0
    264. DATA 0,0,0,0,0,0,0,FF141414,FF2B2B2B,0,0,FF2B2B2B,FF141414,0,0,FF2B2B2B,FF1C1C1C,0,0,0,0,FF452D00,FFD4BB62,FF370800,FF2F0C00,FFB49D51,FFDAC066,FFE6CD73,FF907125,FFCBB35D,FFA59149,0,FF292510,0,0,0,0,0,FF242424,FF333333,FF242424,0,FF141414,FF2B2B2B,0,FF141414,FF333333,FF2B2B2B,FF141414,0,0,FF2B2B2B,FF333333,FF1C1C1C,0,FF242424,FF242424,0,FF242424,FF333333,FF2B2B2B,0,0,FF141414,FF333333,FF333333,FF0B0B0B,0,FF2B2B2B,FF0B0B0B,0,FF2B2B2B,FF333333,FF242424,0,0,0,0
    265. DATA 0,0,0,0,0,0,0,FF141414,FF2B2B2B,0,FF2B2B2B,FF333333,FF2B2B2B,FF2B2B2B,0,FF242424,FF1C1C1C,0,0,FF130E01,0,FF6A551D,FFD6BA5B,FFB19342,FFD6BF68,FFBAA354,FF513100,FF8A7433,FFD4BB62,FFB49D51,FF1D0000,0,0,0,0,0,0,FF141414,FF242424,FF242424,FF1C1C1C,0,FF1C1C1C,FF2B2B2B,0,0,FF2B2B2B,FF1C1C1C,FF242424,0,FF242424,FF1C1C1C,FF2B2B2B,FF141414,0,FF2B2B2B,FF242424,0,FF141414,FF2B2B2B,FF1C1C1C,FF1C1C1C,0,FF242424,FF1C1C1C,FF2B2B2B,0,0,FF333333,FF141414,0,FF242424,FF242424,FF242424,FF141414,0,0,0
    266. DATA 0,0,0,0,0,0,0,0,FF1C1C1C,FF2B2B2B,FF242424,0,0,FF242424,FF2B2B2B,FF333333,FF2B2B2B,0,0,FF201E0E,0,FF9C8644,FFF5DE82,FFC0A652,FF695522,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF242424,0,FF1C1C1C,FF333333,FF333333,FF2B2B2B,0,FF242424,FF0B0B0B,0,0,0,0,FF242424,0,FF242424,FF333333,FF333333,FF242424,0,FF242424,0,0,0,0,FF141414,FF242424,0,FF2B2B2B,FF333333,FF333333,FF141414,FF0B0B0B,FF242424,0,0,0,0,0
    267. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF242424,FF2B2B2B,0,0,FF0D0B03,0,FF655423,FF75612B,0,0,FF242211,FF0C0400,FF191406,FF161A0C,FF1B1B0D,0,0,0,0,0,0,0,0,0,0,0,FF2B2B2B,FF1C1C1C,FF242424,FF242424,FF1C1C1C,0,0,0,0,0,0,0,FF141414,FF242424,FF242424,FF242424,FF242424,FF0B0B0B,0,0,0,0,0,0,0,FF242424,FF1C1C1C,FF2B2B2B,FF1C1C1C,FF242424,0,0,0,0,0,0,0
    268. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0D0B03,0,0,FF1B1B0D,FF151104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF0B0B0B,FF1C1C1C,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,FF141414,0,0,0,0,0,0,0,0,0,0,0,FF1C1C1C,0,0,0,0,0,0,0,0,0
    269. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,FF151104,FF191406,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    270. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    271. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    272. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    273. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    274. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    275. DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    276.  
    277. SUB CircleFill (CX AS INTEGER, CY AS INTEGER, R AS INTEGER, C AS _UNSIGNED LONG)
    278.     ' CX = center x coordinate
    279.     ' CY = center y coordinate
    280.     '  R = radius
    281.     '  C = fill color
    282.     DIM Radius AS INTEGER, RadiusError AS INTEGER
    283.     DIM X AS INTEGER, Y AS INTEGER
    284.     Radius = ABS(R)
    285.     RadiusError = -Radius
    286.     X = Radius
    287.     Y = 0
    288.     IF Radius = 0 THEN PSET (CX, CY), C: EXIT SUB
    289.     LINE (CX - X, CY)-(CX + X, CY), C, BF
    290.     WHILE X > Y
    291.         RadiusError = RadiusError + Y * 2 + 1
    292.         IF RadiusError >= 0 THEN
    293.             IF X <> Y + 1 THEN
    294.                 LINE (CX - Y, CY - X)-(CX + Y, CY - X), C, BF
    295.                 LINE (CX - Y, CY + X)-(CX + Y, CY + X), C, BF
    296.             END IF
    297.             X = X - 1
    298.             RadiusError = RadiusError - X * 2
    299.         END IF
    300.         Y = Y + 1
    301.         LINE (CX - X, CY - Y)-(CX + X, CY - Y), C, BF
    302.         LINE (CX - X, CY + Y)-(CX + X, CY + Y), C, BF
    303.     WEND
    304.  
    « Last Edit: December 23, 2020, 10:50:12 am by FellippeHeitor »

    Offline bplus

    • Global Moderator
    • Forum Resident
    • Posts: 8053
    • b = b + ...
      • View Profile
    Re: 🎄🎁✨ Holiday Season - are you ready to code?
    « Reply #110 on: December 23, 2020, 12:08:59 pm »
  • Best Answer
  • @SMcNeill  Fireworks never get old, nice colorful version.

    @FellippeHeitor  nice, no monster data load program :)

    This has been a crummy year and I hear allot of people saying it's hard to get into the spirit, gotta say this thread sure helped distract me :)
    « Last Edit: December 23, 2020, 12:12:37 pm by bplus »

    Offline Ashish

    • Forum Resident
    • Posts: 630
    • Never Give Up!
      • View Profile
    Ashish's Submission -

    Code: [Select]
    'coded for holidays 2020
    'Merry Christmas! & Happy Holidays!
    'from Ashish
    RANDOMIZE TIMER
    _TITLE "Merry Christmas 2020! Greetings From Ashish!"
    SCREEN _NEWIMAGE(800, 600, 32)


    TYPE vec3
        x AS SINGLE
        y AS SINGLE
        z AS SINGLE
    END TYPE

    TYPE snow_obj
        pos AS vec3
        vel AS vec3
    END TYPE

    DECLARE LIBRARY 'camera control function
        SUB gluLookAt (BYVAL eyeX#, BYVAL eyeY#, BYVAL eyeZ#, BYVAL centerX#, BYVAL centerY#, BYVAL centerZ#, BYVAL upX#, BYVAL upY#, BYVAL upZ#)
    END DECLARE

    DIM SHARED perlin_octaves, perlin_amp_falloff 'noise related variables
    DIM SHARED max_w, max_h
    max_w = 100: max_h = 100

    DIM SHARED gl_init

    DIM SHARED snow(1000) AS snow_obj

    FOR i = 0 TO UBOUND(snow)
        snow(i).pos.y = p5random(10, 20)
        IF RND > 0.5 THEN snow(i).pos.x = p5random(-20, -2) ELSE snow(i).pos.x = p5random(2, 20)
        IF RND > 0.5 THEN snow(i).pos.z = p5random(-20, -2) ELSE snow(i).pos.z = p5random(2, 20)

        snow(i).vel.y = p5random(-0.3, -0.05)
    NEXT

    DIM SHARED map_vert(max_w * max_h * 6), map_norm(max_w * max_h * 6), h_map(100, 100) AS vec3
    DIM SHARED max_vert_index

    REDIM SHARED pineMesh(0) AS SINGLE, pineMeshInfo(0) AS mesh_part_info, pineMeshFileInfo AS MDL_INFO
    f$ = Writetree.basData("tree.binobj")
    objImportBin f$, pineMesh(), pineMeshInfo(), pineMeshFileInfo


    DIM SHARED sky_tex AS LONG
    sky_tex = _NEWIMAGE(800, 600, 32)
    _DEST sky_tex
    FOR i = 0 TO 300
        LINE (0, i)-(800, i), _RGB(map(i, 0, 300, 46, 130), map(i, 0, 300, 0, 2), map(i, 0, 300, 91, 130))
    NEXT
    FOR i = 300 TO 600
        LINE (0, i)-(800, i), _RGB(map(i, 300, 600, 130, 237), map(i, 300, 600, 2, 173), map(i, 300, 600, 130, 90))
    NEXT
    _DEST 0


    FOR i = 0 TO 100
        FOR j = 0 TO 100
            ' pset (i,j),_rgb32(150*abs(noise(i*0.05,j*0.05,0))+50)

            h_map(i, j).x = map(i, 0, 100, -30, 30)
            h_map(i, j).y = -2 + 8 * ABS(noise(i * 0.05, j * 0.05, 0))
            h_map(i, j).z = map(j, 0, 100, -30, 30)
        NEXT j
    NEXT i

    init_land

    _PUTIMAGE , sky_tex
    _GLRENDER _ONTOP
    gl_init = 1
    DO
        FOR i = 0 TO UBOUND(snow)
            snow(i).pos.y = snow(i).pos.y + snow(i).vel.y
            IF snow(i).pos.y < -2 THEN
                snow(i).pos.y = p5random(10, 20)
                IF RND > 0.5 THEN snow(i).pos.x = p5random(-20, -2) ELSE snow(i).pos.x = p5random(2, 20)
                IF RND > 0.5 THEN snow(i).pos.z = p5random(-20, -2) ELSE snow(i).pos.z = p5random(2, 20)

                snow(i).vel.y = p5random(-0.3, -0.05)
            END IF
        NEXT
        _LIMIT 60
    LOOP

    SUB _GL ()
        STATIC init, clock
        IF gl_init = 0 THEN EXIT SUB
        IF init = 0 THEN
            init = 1
            _glViewport 0, 0, 800, 600

        END IF


        _glEnable _GL_DEPTH_TEST
        _glEnable _GL_LIGHTING
        _glEnable _GL_LIGHT0

        _glShadeModel _GL_SMOOTH

        'bluish light
        _glLightfv _GL_LIGHT0, _GL_AMBIENT, glVec4(0.05, 0.05, 0.1, 0)
        _glLightfv _GL_LIGHT0, _GL_DIFFUSE, glVec4(0.95, 0.95, 1, 0)
        _glLightfv _GL_LIGHT0, _GL_SPECULAR, glVec4(0.6, 0.6, 0.6, 0) ' glVec4(0.75, 0.80, 0.85, 0)


        _glMatrixMode _GL_PROJECTION
        _glLoadIdentity
        _gluPerspective 60, 1.3333, 0.1, 50


        _glMatrixMode _GL_MODELVIEW
        _glLoadIdentity
        gluLookAt 8, 10, 8, 0, 5, 0, 0, 1, 0
        _glRotatef clock, 0, 1, 0

        'land
        _glColor3f 1, 1, 1
        _glEnable _GL_COLOR_MATERIAL
        _glEnableClientState _GL_VERTEX_ARRAY
        _glVertexPointer 3, _GL_FLOAT, 0, _OFFSET(map_vert())
        _glEnableClientState _GL_NORMAL_ARRAY
        _glNormalPointer _GL_FLOAT, 0, _OFFSET(map_norm())

        _glDrawArrays _GL_TRIANGLE_STRIP, 1, (max_vert_index / 3) - 1
        'tree
        _glDisable _GL_COLOR_MATERIAL
        _glPushMatrix
        _glTranslatef 0, ABS(h_map(50, 50).y + 1), 0
        objDraw pineMesh(), pineMeshInfo(), pineMeshFileInfo
        _glPopMatrix


        'snow
        _glDisable _GL_LIGHTING
        _glPointSize 8.0
        _glColor3f 1, 1, 1
        _glEnable _GL_COLOR_MATERIAL
        _glEnableClientState _GL_VERTEX_ARRAY
        _glVertexPointer 3, _GL_FLOAT, 24, _OFFSET(snow())
        _glDrawArrays _GL_POINTS, 1, UBOUND(snow)
        _glFlush
        clock = clock + 0.5
    END SUB

    SUB init_land ()
        DIM A AS vec3, B AS vec3, C AS vec3, R AS vec3
        max_vert_index = 0
        DO
            IF z MOD 2 = 0 THEN x = x + 1 ELSE x = x - 1

            A = h_map(x, z) 'get out coordinates from our stored data
            B = h_map(x, z + 1)
            C = h_map(x + 1, z)

            OBJ_CalculateNormal A, B, C, R 'calculates the normal of a triangle

            'store color, coordinate & normal data in an array
            map_norm(max_vert_index) = R.x: map_norm(max_vert_index + 1) = R.y: map_norm(max_vert_index + 2) = R.z
            map_vert(max_vert_index) = A.x: map_vert(max_vert_index + 1) = A.y: map_vert(max_vert_index + 2) = A.z

            map_norm(max_vert_index + 3) = R.x: map_norm(max_vert_index + 4) = R.y: map_norm(max_vert_index + 5) = R.z
            map_vert(max_vert_index + 3) = B.x: map_vert(max_vert_index + 4) = B.y: map_vert(max_vert_index + 5) = B.z

            max_vert_index = max_vert_index + 6

            IF x = max_w - 1 THEN
                IF z MOD 2 = 0 THEN x = x + 1: z = z + 1
            END IF
            IF x = 1 THEN
                IF z MOD 2 = 1 THEN x = x - 1: z = z + 1
            END IF
            IF z = max_h - 1 THEN EXIT DO
        LOOP
    END SUB

    SUB OBJ_CalculateNormal (p1 AS vec3, p2 AS vec3, p3 AS vec3, N AS vec3)
        DIM U AS vec3, V AS vec3

        U.x = p2.x - p1.x
        U.y = p2.y - p1.y
        U.z = p2.z - p1.z

        V.x = p3.x - p1.x
        V.y = p3.y - p1.y
        V.z = p3.z - p1.z

        N.x = (U.y * V.z) - (U.z * V.y)
        N.y = (U.z * V.x) - (U.x * V.z)
        N.z = (U.x * V.y) - (U.y * V.x)
        OBJ_Normalize N
    END SUB

    SUB OBJ_Normalize (V AS vec3)
        mag! = SQR(V.x * V.x + V.y * V.y + V.z * V.z)
        V.x = V.x / mag!
        V.y = V.y / mag!
        V.z = V.z / mag!
    END SUB

    '>>>>>>>>>>>> p5js.bas CONTENT START >>>>>>>>>>>>>>>>>>>>>>>>>>>
    FUNCTION map! (value!, minRange!, maxRange!, newMinRange!, newMaxRange!)
        map! = ((value! - minRange!) / (maxRange! - minRange!)) * (newMaxRange! - newMinRange!) + newMinRange!
    END FUNCTION

    FUNCTION p5random! (mn!, mx!)
        IF mn! > mx! THEN
            SWAP mn!, mx!
        END IF
        p5random! = RND * (mx! - mn!) + mn!
    END FUNCTION

    FUNCTION noise! (x AS SINGLE, y AS SINGLE, z AS SINGLE)
        STATIC p5NoiseSetup AS _BYTE
        STATIC perlin() AS SINGLE
        STATIC PERLIN_YWRAPB AS SINGLE, PERLIN_YWRAP AS SINGLE
        STATIC PERLIN_ZWRAPB AS SINGLE, PERLIN_ZWRAP AS SINGLE
        STATIC PERLIN_SIZE AS SINGLE

        IF NOT p5NoiseSetup THEN
            p5NoiseSetup = -1

            PERLIN_YWRAPB = 4
            PERLIN_YWRAP = INT(1 * (2 ^ PERLIN_YWRAPB))
            PERLIN_ZWRAPB = 8
            PERLIN_ZWRAP = INT(1 * (2 ^ PERLIN_ZWRAPB))
            PERLIN_SIZE = 4095

            perlin_octaves = 4
            perlin_amp_falloff = 0.5

            REDIM perlin(PERLIN_SIZE + 1) AS SINGLE
            DIM i AS SINGLE
            FOR i = 0 TO PERLIN_SIZE + 1
                perlin(i) = RND
            NEXT
        END IF

        x = ABS(x)
        y = ABS(y)
        z = ABS(z)

        DIM xi AS SINGLE, yi AS SINGLE, zi AS SINGLE
        xi = INT(x)
        yi = INT(y)
        zi = INT(z)

        DIM xf AS SINGLE, yf AS SINGLE, zf AS SINGLE
        xf = x - xi
        yf = y - yi
        zf = z - zi

        DIM r AS SINGLE, ampl AS SINGLE, o AS SINGLE
        r = 0
        ampl = .5

        FOR o = 1 TO perlin_octaves
            DIM of AS SINGLE, rxf AS SINGLE
            DIM ryf AS SINGLE, n1 AS SINGLE, n2 AS SINGLE, n3 AS SINGLE
            of = xi + INT(yi * (2 ^ PERLIN_YWRAPB)) + INT(zi * (2 ^ PERLIN_ZWRAPB))

            rxf = 0.5 * (1.0 - COS(xf * _PI))
            ryf = 0.5 * (1.0 - COS(yf * _PI))

            n1 = perlin(of AND PERLIN_SIZE)
            n1 = n1 + rxf * (perlin((of + 1) AND PERLIN_SIZE) - n1)
            n2 = perlin((of + PERLIN_YWRAP) AND PERLIN_SIZE)
            n2 = n2 + rxf * (perlin((of + PERLIN_YWRAP + 1) AND PERLIN_SIZE) - n2)
            n1 = n1 + ryf * (n2 - n1)

            of = of + PERLIN_ZWRAP
            n2 = perlin(of AND PERLIN_SIZE)
            n2 = n2 + rxf * (perlin((of + 1) AND PERLIN_SIZE) - n2)
            n3 = perlin((of + PERLIN_YWRAP) AND PERLIN_SIZE)
            n3 = n3 + rxf * (perlin((of + PERLIN_YWRAP + 1) AND PERLIN_SIZE) - n3)
            n2 = n2 + ryf * (n3 - n2)

            n1 = n1 + (0.5 * (1.0 - COS(zf * _PI))) * (n2 - n1)

            r = r + n1 * ampl
            ampl = ampl * perlin_amp_falloff
            xi = INT(xi * (2 ^ 1))
            xf = xf * 2
            yi = INT(yi * (2 ^ 1))
            yf = yf * 2
            zi = INT(zi * (2 ^ 1))
            zf = zf * 2

            IF xf >= 1.0 THEN xi = xi + 1: xf = xf - 1
            IF yf >= 1.0 THEN yi = yi + 1: yf = yf - 1
            IF zf >= 1.0 THEN zi = zi + 1: zf = zf - 1
        NEXT
        noise! = r
    END FUNCTION

    SUB noiseDetail (lod!, falloff!)
        IF lod! > 0 THEN perlin_octaves = lod!
        IF falloff! > 0 THEN perlin_amp_falloff = falloff!
    END SUB

    '>>>>>>>>>>>>> p5js.bas CONTENT END >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    '->>>>>>> OBJ_LOADER_LIB.BAS CONTENT START>>>>>>>>>>>>>>

    'An LIBRARY version of OBJ Loader
    'Contain useful Functions/methods for your making your 3D Apps/Games

    SUB internal_OBJ_types ()
        TYPE MDL_INFO
            num_of_vertices AS _UNSIGNED LONG
            num_of_normals AS _UNSIGNED LONG
            num_of_tex_coords AS _UNSIGNED LONG
            num_of_objects AS _UNSIGNED LONG
            num_of_faces AS _UNSIGNED LONG
            num_of_materials AS _UNSIGNED LONG
            materialPresent AS _BYTE
            mode AS INTEGER
        END TYPE


        TYPE material_info
            exits AS _BYTE 'material exits or not
            init AS _BYTE
            id AS STRING * 128 'material name
            amb AS vec3 'ambient
            diff AS vec3 'diffuse
            spec AS vec3 'specular
            emis AS vec3 'emission
            img_tex_name AS STRING * 128 'name of the image texture file name
            img_tex AS LONG 'image handle
            gl_tex AS LONG 'GL tex handle
            shine AS SINGLE 'shineness
            trans AS SINGLE 'transparency
        END TYPE

        TYPE mesh_part_info
            start AS _UNSIGNED LONG 'start index of mesh()
            length AS _UNSIGNED LONG 'length
            init AS _BYTE 'intialize?
            mtl AS material_info 'material properties
            origin AS vec3 'origin of each mesh_part
            atOrigin AS _BYTE 'is it at the origin
            hidden AS _BYTE 'if hidden, it will not render when calling with objDraw(). However, it can be made render by objDrawMeshPart()
        END TYPE

    END SUB

    SUB objHideMeshPart (which$, mesh_part() AS mesh_part_info)
        FOR i = 0 TO UBOUND(mesh_part)
            IF _TRIM$(mesh_part(i).mtl.id) = which$ THEN
                mesh_part(i).hidden = -1
                EXIT SUB
            END IF
        NEXT
    END SUB

    SUB objUnhideMeshPart (which$, mesh_part() AS mesh_part_info)
        FOR i = 0 TO UBOUND(mesh_part)
            IF _TRIM$(mesh_part(i).mtl.id) = which$ THEN
                mesh_part(i).hidden = 0
                EXIT SUB
            END IF
        NEXT
    END SUB

    SUB setMeshPartOrigin (which$, mesh_part() AS mesh_part_info, mesh() AS SINGLE)
        FOR i = 0 TO UBOUND(mesh_part)
            IF _TRIM$(mesh_part(i).mtl.id) = which$ THEN
                IF NOT mesh_part(i).atOrigin THEN
                    FOR j = 8 * mesh_part(i).start TO 8 * (mesh_part(i).start + mesh_part(i).length - 1) STEP 8
                        mesh(j) = mesh(j) - mesh_part(i).origin.x
                        mesh(j + 1) = mesh(j + 1) - mesh_part(i).origin.y
                        mesh(j + 2) = mesh(j + 2) - mesh_part(i).origin.z
                    NEXT
                    mesh_part(i).atOrigin = -1
                END IF
                _glTranslatef mesh_part(i).origin.x, mesh_part(i).origin.y, mesh_part(i).origin.z
                ' ? mesh_part(i).origin.x,mesh_part(i).origin.y,mesh_part(i).origin.z
                EXIT SUB
            END IF
        NEXT
    END SUB

    SUB resetMeshPartOrigin (which$, mesh_part() AS mesh_part_info, mesh() AS SINGLE)
        FOR i = 0 TO UBOUND(mesh_part)
            IF _TRIM$(mesh_part(i).mtl.id) = which$ THEN
                IF mesh_part(i).atOrigin THEN
                    FOR j = 8 * mesh_part(i).start TO 8 * (mesh_part(i).start + mesh_part(i).length - 1) STEP 8
                        mesh(j) = mesh(j) + mesh_part(i).origin.x
                        mesh(j + 1) = mesh(j + 1) + mesh_part(i).origin.y
                        mesh(j + 2) = mesh(j + 2) + mesh_part(i).origin.z
                    NEXT
                    mesh_part(i).atOrigin = 0
                END IF
                EXIT SUB
            END IF
        NEXT
    END SUB

    SUB objImportBin (inFile$, mesh() AS SINGLE, mesh_part() AS mesh_part_info, mdl_info AS MDL_INFO)
        REDIM mesh(0) AS SINGLE, mesh_part(0) AS mesh_part_info
        x = _INSTRREV(inFile$, "/") + _INSTRREV(inFile$, "\")
        DIM path$, count AS _UNSIGNED LONG
        path$ = LEFT$(inFile$, x)

        f = FREEFILE

        OPEN inFile$ FOR BINARY AS #f
        GET #f, , mdl_info
        GET #f, , count
        REDIM mesh_part(count) AS mesh_part_info
        GET #f, , mesh_part()
        GET #f, , count
        REDIM mesh(count) AS SINGLE
        GET #f, , mesh()
        CLOSE #f

        FOR i = 0 TO UBOUND(mesh_part)
            mesh_part(i).mtl.img_tex = 0
            mesh_part(i).mtl.gl_tex = 0
            mesh_part(i).mtl.img_tex = _LOADIMAGE(path$ + _TRIM$(mesh_part(i).mtl.img_tex_name))
        NEXT
    END SUB

    SUB objExportBin (outFile$, mesh() AS SINGLE, mesh_part() AS mesh_part_info, mdl_info AS MDL_INFO)
        IF _FILEEXISTS(outFile$) THEN KILL outFile$
        DIM count AS _UNSIGNED LONG, mn AS vec3, mx AS vec3

        'just to calculate origin of each mesh part by simple the mean of their max & min position vector
        FOR i = 0 TO UBOUND(mesh_part)
            ' ? "ID : ";_TRIM$(mesh_part(i).mtl.id)
            count = 8 * mesh_part(i).start
            mn.x = mesh(count): mn.y = mesh(count + 1): mn.z = mesh(count + 2)
            mx.x = mesh(count): mx.y = mesh(count + 1): mx.z = mesh(count + 2)
            ' ? "Max : (";mx.x;",";mx.y;",";mx.z;")"
            ' ? "Min : (";mn.x;",";mn.y;",";mn.z;")"
            FOR j = count TO count + 8 * (mesh_part(i).length - 1) STEP 8
                IF mn.x >= mesh(j) THEN mn.x = mesh(j)
                IF mn.y >= mesh(j + 1) THEN mn.y = mesh(j + 1)
                IF mn.z >= mesh(j + 2) THEN mn.z = mesh(j + 2)

                IF mx.x <= mesh(j) THEN mx.x = mesh(j)
                IF mx.y <= mesh(j + 1) THEN mx.y = mesh(j + 1)
                IF mx.z <= mesh(j + 2) THEN mx.z = mesh(j + 2)
            NEXT
            ' ? "Max : (";mx.x;",";mx.y;",";mx.z;")"
            ' ? "Min : (";mn.x;",";mn.y;",";mn.z;")"
            ' sleep
            mesh_part(i).origin.x = (mn.x + mx.x) * 0.5
            mesh_part(i).origin.y = (mn.y + mx.y) * 0.5
            mesh_part(i).origin.z = (mn.z + mx.z) * 0.5

        NEXT

        f = FREEFILE
        OPEN outFile$ FOR BINARY AS #f
        PUT #f, , mdl_info 'MODEL GENERAL INFO
        count = UBOUND(mesh_part) 'length of mesh_part() array
        PUT #f, , count
        PUT #f, , mesh_part()
        count = UBOUND(mesh) 'length of mesh() array
        PUT #f, , count
        PUT #f, , mesh()
        CLOSE #f
    END SUB

    SUB objInit (mesh_part() AS mesh_part_info)
        FOR i = 0 TO UBOUND(mesh_part)
            IF mesh_part(i).mtl.img_tex < -1 THEN mesh_part(i).mtl.gl_tex = feedGLTexture(mesh_part(i).mtl.img_tex)
        NEXT
    END SUB

    SUB objDrawMeshPart (which$, mesh() AS SINGLE, mesh_part() AS mesh_part_info, mdl_info AS MDL_INFO)
        FOR i = 0 TO UBOUND(mesh_part)
            IF which$ = _TRIM$(mesh_part(i).mtl.id) THEN
                IF mesh_part(i).mtl.trans = 1 THEN _glDisable _GL_BLEND ELSE _glEnable _GL_BLEND
                _glMaterialfv _GL_FRONT, _GL_AMBIENT, glVec4(mesh_part(i).mtl.amb.x, mesh_part(i).mtl.amb.y, mesh_part(i).mtl.amb.z, mesh_part(i).mtl.trans)
                _glMaterialfv _GL_FRONT, _GL_DIFFUSE, glVec4(mesh_part(i).mtl.diff.x, mesh_part(i).mtl.diff.y, mesh_part(i).mtl.diff.z, mesh_part(i).mtl.trans)
                _glMaterialfv _GL_FRONT, _GL_SPECULAR, glVec4(mesh_part(i).mtl.spec.x, mesh_part(i).mtl.spec.y, mesh_part(i).mtl.spec.z, mesh_part(i).mtl.trans)
                _glMaterialfv _GL_FRONT, _GL_EMISSION, glVec4(mesh_part(i).mtl.emis.x, mesh_part(i).mtl.emis.y, mesh_part(i).mtl.emis.z, mesh_part(i).mtl.trans)
                _glMaterialfv _GL_FRONT, _GL_SHININESS, glVec4(mesh_part(i).mtl.shine * 0.128, 0, 0, 0)
                _glEnableClientState _GL_VERTEX_ARRAY
                _glVertexPointer 3, _GL_FLOAT, 32, _OFFSET(mesh()) + 32 * mesh_part(i).start
                IF mdl_info.num_of_tex_coords > 0 THEN
                    selectTexture mesh_part(i).mtl.gl_tex
                    _glEnableClientState _GL_TEXTURE_COORD_ARRAY
                    _glTexCoordPointer 3, _GL_FLOAT, 32, _OFFSET(mesh()) + 12 + 32 * mesh_part(i).start
                END IF
                IF mdl_info.num_of_normals > 0 THEN
                    _glEnableClientState _GL_NORMAL_ARRAY
                    _glNormalPointer _GL_FLOAT, 32, _OFFSET(mesh()) + 20 + 32 * mesh_part(i).start
                END IF
                IF mdl_info.mode = 1 THEN _glDrawArrays _GL_TRIANGLES, 0, mesh_part(i).length
                IF mdl_info.mode = 2 THEN _glDrawArrays _GL_LINES, 0, mesh_part(i).length

                EXIT SUB
            END IF
        NEXT
        _glDisableClientState _GL_VERTEX_ARRAY
        _glDisableClientState _GL_NORMAL_ARRAY
        _glDisableClientState _GL_TEXTURE_COORD_ARRAY
    END SUB
    SUB objDraw (mesh() AS SINGLE, mesh_part() AS mesh_part_info, mdl_info AS MDL_INFO)
        FOR i = 0 TO UBOUND(mesh_part) 'draw the mesh
            IF mesh_part(i).hidden THEN _CONTINUE 'no need to draw the hidden/unactive part (if there)
            IF mdl_info.materialPresent = 1 THEN
                IF mesh_part(i).mtl.trans = 1 THEN _glDisable _GL_BLEND ELSE _glEnable _GL_BLEND
                _glMaterialfv _GL_FRONT, _GL_AMBIENT, glVec4(mesh_part(i).mtl.amb.x, mesh_part(i).mtl.amb.y, mesh_part(i).mtl.amb.z, mesh_part(i).mtl.trans)
                _glMaterialfv _GL_FRONT, _GL_DIFFUSE, glVec4(mesh_part(i).mtl.diff.x, mesh_part(i).mtl.diff.y, mesh_part(i).mtl.diff.z, mesh_part(i).mtl.trans)
                _glMaterialfv _GL_FRONT, _GL_SPECULAR, glVec4(mesh_part(i).mtl.spec.x, mesh_part(i).mtl.spec.y, mesh_part(i).mtl.spec.z, mesh_part(i).mtl.trans)
                _glMaterialfv _GL_FRONT, _GL_EMISSION, glVec4(mesh_part(i).mtl.emis.x, mesh_part(i).mtl.emis.y, mesh_part(i).mtl.emis.z, mesh_part(i).mtl.trans)
                _glMaterialfv _GL_FRONT, _GL_SHININESS, glVec4(mesh_part(i).mtl.shine * 0.128, 0, 0, 0)
            END IF
            _glEnableClientState _GL_VERTEX_ARRAY
            _glVertexPointer 3, _GL_FLOAT, 32, _OFFSET(mesh()) + 32 * mesh_part(i).start
            IF mdl_info.num_of_tex_coords > 0 THEN
                selectTexture mesh_part(i).mtl.gl_tex
                _glEnableClientState _GL_TEXTURE_COORD_ARRAY
                _glTexCoordPointer 3, _GL_FLOAT, 32, _OFFSET(mesh()) + 12 + 32 * mesh_part(i).start
            END IF
            IF mdl_info.num_of_normals > 0 THEN
                _glEnableClientState _GL_NORMAL_ARRAY
                _glNormalPointer _GL_FLOAT, 32, _OFFSET(mesh()) + 20 + 32 * mesh_part(i).start
            END IF
            IF mdl_info.mode = 1 THEN _glDrawArrays _GL_TRIANGLES, 0, mesh_part(i).length
            IF mdl_info.mode = 2 THEN _glDrawArrays _GL_LINES, 0, mesh_part(i).length
        NEXT
        _glDisableClientState _GL_VERTEX_ARRAY
        _glDisableClientState _GL_NORMAL_ARRAY
        _glDisableClientState _GL_TEXTURE_COORD_ARRAY
    END SUB

    SUB objLoad (f$, mesh() AS SINGLE, mesh_part() AS mesh_part_info, mdl_info AS MDL_INFO)
        'seprate file name and path
        x = _INSTRREV(f$, "/") + _INSTRREV(f$, "\")
        IF x = 0 THEN
            obj_file$ = f$
        ELSE
            obj_file$ = RIGHT$(f$, LEN(f$) - x)
            path$ = LEFT$(f$, x)
        END IF

        DIM tag(4) AS STRING * 3, p(4) AS _UNSIGNED LONG 'tag() contain keywords like v, vt, etc. p() store the position for each keywords independently
        DIM v(4) AS _UNSIGNED LONG 'v(0) -> no. of vertices, v(1)->no. of tex. coord.,v(2)->no. of normals, v(3)->no. of faces
        REDIM vert(2) AS SINGLE, norm(2) AS SINGLE, texcoord(1) AS SINGLE 'vert(), norm() and texcoord() will store all the vertices, normals and texture coordinates()
        REDIM mesh(23) AS SINGLE '(3 vert + 2 tex coord + 3 norm )* 3 vert of triangle : This is the main data which we will pass to OpenGL
        REDIM materials(0) AS material_info, mesh_part(0) AS mesh_part_info 'contain properties of mesh like materials
        DIM materialPresent

        tag(0) = CHR$(10) + "v ": tag(1) = CHR$(10) + "vt": tag(2) = CHR$(10) + "vn": tag(3) = CHR$(10) + "f ": tag(4) = CHR$(10) + "o "
        DIM LINE_FEED AS STRING * 1
        LINE_FEED = CHR$(10)
        OPEN f$ FOR BINARY AS #1
        length = LOF(1)
        a$ = SPACE$(length)
        GET #1, , a$
        CLOSE #1

        'check if the mtl file exits for the given OBJ
        x = INSTR(1, a$, LINE_FEED + "mtllib")
        IF x THEN 'yes it exits
            FOR i = x + 8 TO LEN(a$)
                IF MID$(a$, i, 1) = CHR$(13) OR MID$(a$, i, 1) = LINE_FEED THEN y = i: EXIT FOR
            NEXT
            mtl_file$ = path$ + _TRIM$(MID$(a$, x + 8, y - (x + 8)))
            IF NOT _FILEEXISTS(mtl_file$) THEN PRINT "ERROR : File not found - " + mtl_file$: END
            x = 1
            materialPresent = 1
            mtl_index = -1 'so it start with 0 in the loop
            OPEN mtl_file$ FOR INPUT AS #2
            WHILE NOT EOF(2)
                LINE INPUT #2, b$
                IF LEFT$(b$, 1) <> "#" THEN 'to avoid comments. Comments in OBJ/MTL start with #
                    IF LEFT$(b$, 6) = "newmtl" THEN 'new material
                        mtl_index = mtl_index + 1
                        REDIM _PRESERVE materials(mtl_index) AS material_info
                        materials(mtl_index).id = _TRIM$(MID$(b$, 7, LEN(b$) - 6))
                        materials(mtl_index).exits = 1
                    ELSEIF LEFT$(b$, 2) = "Ka" THEN 'ambient
                        y1 = INSTR(4, b$, " ")
                        y2 = INSTR(y1 + 1, b$, " ")
                        materials(mtl_index).amb.x = VAL(MID$(b$, 4, y1 - 3))
                        materials(mtl_index).amb.y = VAL(MID$(b$, y1, y2 - y1 + 1))
                        materials(mtl_index).amb.z = VAL(RIGHT$(b$, LEN(b$) - y2 + 1))
                    ELSEIF LEFT$(b$, 2) = "Kd" THEN 'diffuse
                        y1 = INSTR(4, b$, " ")
                        y2 = INSTR(y1 + 1, b$, " ")
                        materials(mtl_index).diff.x = VAL(MID$(b$, 4, y1 - 3))
                        materials(mtl_index).diff.y = VAL(MID$(b$, y1, y2 - y1 + 1))
                        materials(mtl_index).diff.z = VAL(RIGHT$(b$, LEN(b$) - y2 + 1))
                    ELSEIF LEFT$(b$, 2) = "Ks" THEN 'specular
                        y1 = INSTR(4, b$, " ")
                        y2 = INSTR(y1 + 1, b$, " ")
                        materials(mtl_index).spec.x = VAL(MID$(b$, 4, y1 - 3))
                        materials(mtl_index).spec.y = VAL(MID$(b$, y1, y2 - y1 + 1))
                        materials(mtl_index).spec.z = VAL(RIGHT$(b$, LEN(b$) - y2 + 1))
                    ELSEIF LEFT$(b$, 2) = "Ke" THEN 'emission
                        y1 = INSTR(4, b$, " ")
                        y2 = INSTR(y1 + 1, b$, " ")
                        materials(mtl_index).emis.x = VAL(MID$(b$, 4, y1 - 3))
                        materials(mtl_index).emis.y = VAL(MID$(b$, y1, y2 - y1 + 1))
                        materials(mtl_index).emis.z = VAL(RIGHT$(b$, LEN(b$) - y2 + 1))
                    ELSEIF LEFT$(b$, 2) = "Ns" THEN 'shineness
                        materials(mtl_index).shine = VAL(MID$(b$, 3, LEN(b$) - 2))
                    ELSEIF LEFT$(b$, 2) = "d " THEN 'transparency
                        materials(mtl_index).trans = VAL(MID$(b$, 2, LEN(b$) - 1))
                    ELSEIF LEFT$(b$, 6) = "map_Kd" THEN 'texture file name
                        img_file$ = path$ + _TRIM$(MID$(b$, 7, LEN(b$) - 6))
                        materials(mtl_index).img_tex_name = _TRIM$(MID$(b$, 7, LEN(b$) - 6))
                        dummy_img& = _LOADIMAGE(img_file$)
                        IF NOT dummy_img& < -1 THEN PRINT "ERROR : Could not load the texture - " + img_file$: END
                        materials(mtl_index).img_tex = dummy_img&
                    END IF
                END IF
            WEND
            CLOSE #2
        END IF

        p(0) = 1: p(1) = 1: p(2) = 1: p(3) = 1: p(4) = 1
        'get position of first mention of material to be used
        mtl_first = INSTR(1, a$, LINE_FEED + "usemtl"): mtl_second = INSTR(mtl_first + 1, a$, LINE_FEED + "usemtl")
        mtl_id$ = _TRIM$(MID$(a$, mtl_first + 8, INSTR(mtl_first + 8, a$, LINE_FEED) - (mtl_first + 8)))
        FOR j = 0 TO UBOUND(materials)
            IF RTRIM$(materials(j).id) = mtl_id$ THEN mtl_index = j: EXIT FOR
        NEXT
        'This is the main loop of reading the file. It does all the things which is required.
        DO
            x = INSTR(p(c), a$, tag(c))
            IF x > 0 THEN
                v(c) = v(c) + 1
                IF c = 0 THEN 'store vertices
                    y1 = INSTR(x + 3, a$, " ")
                    y2 = INSTR(y1 + 1, a$, " ")
                    y3 = INSTR(y2 + 1, a$, LINE_FEED)
                    vert(v_index) = VAL(MID$(a$, x + 3, y1 - (x + 3)))
                    vert(v_index + 1) = VAL(MID$(a$, y1, y2 - y1))
                    vert(v_index + 2) = VAL(MID$(a$, y2, y3 - y2))
                    v_index = v_index + 3
                    REDIM _PRESERVE vert(UBOUND(vert) + 3) AS SINGLE
                ELSEIF c = 1 THEN 'store tex coord.
                    y1 = INSTR(x + 4, a$, " ")
                    y2 = INSTR(y1 + 1, a$, LINE_FEED)
                    texcoord(vt_index) = VAL(MID$(a$, x + 4, y1 - (x + 4)))
                    texcoord(vt_index + 1) = -VAL(MID$(a$, y1, y2 - y1))
                    vt_index = vt_index + 2
                    REDIM _PRESERVE texcoord(UBOUND(texcoord) + 2) AS SINGLE
                ELSEIF c = 2 THEN 'store normals
                    y1 = INSTR(x + 4, a$, " ")
                    y2 = INSTR(y1 + 1, a$, " ")
                    y3 = INSTR(y2 + 1, a$, LINE_FEED)
                    norm(vn_index) = VAL(MID$(a$, x + 4, y1 - (x + 4)))
                    norm(vn_index + 1) = VAL(MID$(a$, y1, y2 - y1))
                    norm(vn_index + 2) = VAL(MID$(a$, y2, y3 - y2))
                    vn_index = vn_index + 3
                    REDIM _PRESERVE norm(UBOUND(norm) + 3) AS SINGLE
                ELSEIF c = 3 THEN 'face part
                    'check if there is new material to be used for face. If not then array length for current mesh_info() increases
                    check_for_obj:
                    IF x > mtl_first AND x < mtl_second OR mtl_second = 0 THEN
                        IF mesh_part(mp_index).init = 0 THEN mesh_part(mp_index).init = 1: mesh_part(mp_index).start = m_index / 8: mesh_part(mp_index).mtl = materials(mtl_index)
                        mesh_part(mp_index).length = mesh_part(mp_index).length + 3 '3 vertex in a face
                    ELSE
                        mtl_first = mtl_second
                        mtl_second = INSTR(mtl_first + 1, a$, LINE_FEED + "usemtl")
                        mtl_id$ = _TRIM$(MID$(a$, mtl_first + 8, INSTR(mtl_first + 8, a$, LINE_FEED) - (mtl_first + 8)))
                        FOR j = 0 TO UBOUND(materials)
                            IF RTRIM$(materials(j).id) = mtl_id$ THEN mtl_index = j: EXIT FOR
                        NEXT
                        mp_index = mp_index + 1
                        REDIM _PRESERVE mesh_part(mp_index) AS mesh_part_info
                        GOTO check_for_obj
                    END IF
                    'reading of face data comes heer
                    spc_1 = x + 2: spc_2 = INSTR(spc_1 + 1, a$, " ")
                    y_max = INSTR(x + 1, a$, LINE_FEED)

                    n = -1 'so start with 0 in while loop
                    'get the each vertex info block which are sperated by space
                    REDIM dat(0) AS STRING
                    WHILE 1 'spc_2<y_max
                        n = n + 1
                        REDIM _PRESERVE dat(n) AS STRING
                        IF spc_2 >= y_max OR spc_2 < spc_1 THEN
                            dat(n) = MID$(a$, spc_1 + 1, y_max - (spc_1 + 1))
                            EXIT WHILE
                        ELSE
                            dat(n) = MID$(a$, spc_1 + 1, spc_2 - (spc_1 + 1))
                        END IF
                        SWAP spc_1, spc_2
                        spc_2 = INSTR(spc_1 + 1, a$, " ")
                    WEND

                    REDIM z_ref(n, 1) AS INTEGER
                    'get ref info for v,vt,vn
                    FOR i = 0 TO n
                        z_ref(i, 0) = INSTR(1, dat(i), "/")
                        z_ref(i, 1) = _INSTRREV(dat(i), "/")
                    NEXT

                    IF z_ref(0, 0) = 0 THEN 'only v data given
                        IF (n + 1) > 3 THEN 'polygon face given : So, subdivide the polygon in minimum no. of triangles
                            v_r1 = (VAL(dat(0)) - 1) * 3
                            FOR i = 3 TO (n + 1)
                                v_r2 = (VAL(dat(i - 2)) - 1) * 3
                                v_r3 = (VAL(dat(i - 1)) - 1) * 3
                                mesh(m_index) = vert(v_r1): mesh(m_index + 1) = vert(v_r1 + 1): mesh(m_index + 2) = vert(v_r1 + 2)
                                m_index = m_index + 8
                                mesh(m_index) = vert(v_r2): mesh(m_index + 1) = vert(v_r2 + 1): mesh(m_index + 2) = vert(v_r2 + 2)
                                m_index = m_index + 8
                                mesh(m_index) = vert(v_r3): mesh(m_index + 1) = vert(v_r3 + 1): mesh(m_index + 2) = vert(v_r3 + 2)
                                m_index = m_index + 8
                                REDIM _PRESERVE mesh(UBOUND(mesh) + 24) AS SINGLE
                            NEXT
                            'add additional new vertices
                            mesh_part(mp_index).length = mesh_part(mp_index).length + 3 * (n - 2) '3*(X - 2) - 3 => 3*(X - 3), now here X = n+1, so, 3*(n-2)
                        ELSE 'simply a triangle face
                            FOR j = 0 TO 2
                                v_r1 = (VAL(dat(j)) - 1) * 3
                                mesh(m_index) = vert(v_r1): mesh(m_index + 1) = vert(v_r1 + 1): mesh(m_index + 2) = vert(v_r1 + 2)
                                m_index = m_index + 8
                            NEXT
                            REDIM _PRESERVE mesh(UBOUND(mesh) + 24) AS SINGLE
                        END IF
                    ELSEIF z_ref(0, 1) - z_ref(0, 0) = 1 THEN 'only v and vn data given
                        IF (n + 1) > 3 THEN
                            v_r1 = (VAL(LEFT$(dat(0), z_ref(0, 0))) - 1) * 3
                            vn_r1 = (VAL(RIGHT$(dat(0), LEN(dat(0)) - z_ref(0, 1))) - 1) * 3
                            FOR i = 3 TO (n + 1)
                                v_r2 = (VAL(LEFT$(dat(i - 2), z_ref(i - 2, 0))) - 1) * 3: vn_r2 = (VAL(RIGHT$(dat(i - 2), LEN(dat(i - 2)) - z_ref((i - 2), 1))) - 1) * 3
                                v_r3 = (VAL(LEFT$(dat(i - 1), z_ref(i - 1, 0))) - 1) * 3: vn_r3 = (VAL(RIGHT$(dat(i - 1), LEN(dat(i - 1)) - z_ref((i - 1), 1))) - 1) * 3

                                mesh(m_index) = vert(v_r1): mesh(m_index + 1) = vert(v_r1 + 1): mesh(m_index + 2) = vert(v_r1 + 2)
                                mesh(m_index + 5) = norm(vn_r1): mesh(m_index + 6) = norm(vn_r1 + 1): mesh(m_index + 7) = norm(vn_r1 + 2)
                                m_index = m_index + 8
                                mesh(m_index) = vert(v_r2): mesh(m_index + 1) = vert(v_r2 + 1): mesh(m_index + 2) = vert(v_r2 + 2)
                                mesh(m_index + 5) = norm(vn_r2): mesh(m_index + 6) = norm(vn_r2 + 1): mesh(m_index + 7) = norm(vn_r2 + 2)
                                m_index = m_index + 8
                                mesh(m_index) = vert(v_r3): mesh(m_index + 1) = vert(v_r3 + 1): mesh(m_index + 2) = vert(v_r3 + 2)
                                mesh(m_index + 5) = norm(vn_r3): mesh(m_index + 6) = norm(vn_r3 + 1): mesh(m_index + 7) = norm(vn_r3 + 2)
                                m_index = m_index + 8
                                REDIM _PRESERVE mesh(UBOUND(mesh) + 24) AS SINGLE
                            NEXT
                            'add additional new vertices
                            mesh_part(mp_index).length = mesh_part(mp_index).length + 3 * (n - 2) '3*(X - 2) - 3 => 3*(X - 3), now here X = n+1, so, 3*(n-2)
                        ELSE
                            FOR j = 0 TO 2
                                v_r1 = (VAL(LEFT$(dat(j), z_ref(j, 0) - 1)) - 1) * 3: vn_r1 = (VAL(RIGHT$(dat(j), LEN(dat(j)) - z_ref(j, 1))) - 1) * 3
                                'v
                                mesh(m_index) = vert(v_r1): mesh(m_index + 1) = vert(v_r1 + 1): mesh(m_index + 2) = vert(v_r1 + 2)
                                'vn
                                mesh(m_index + 5) = norm(vn_r1): mesh(m_index + 6) = norm(vn_r1 + 1): mesh(m_index + 7) = norm(vn_r1 + 2)
                                m_index = m_index + 8
                            NEXT
                            REDIM _PRESERVE mesh(UBOUND(mesh) + 24) AS SINGLE
                        END IF
                    ELSE 'v, vn and vt data given
                        IF (n + 1) > 3 THEN
                            'reference for first vertex of a polygon
                            v_r1 = (VAL(LEFT$(dat(0), z_ref(0, 0))) - 1) * 3
                            vn_r1 = (VAL(RIGHT$(dat(0), LEN(dat(0)) - z_ref(0, 1))) - 1) * 3
                            vt_r1 = (VAL(MID$(dat(0), z_ref(0, 0) + 1, z_ref(0, 1) - (z_ref(0, 0) + 1))) - 1) * 2
                            FOR i = 3 TO (n + 1)
                                v_r2 = (VAL(LEFT$(dat(i - 2), z_ref(i - 2, 0))) - 1) * 3: vn_r2 = (VAL(RIGHT$(dat(i - 2), LEN(dat(i - 2)) - z_ref((i - 2), 1))) - 1) * 3: vt_r2 = (VAL(MID$(dat(i - 2), z_ref(i - 2, 0) + 1, z_ref(i - 2, 1) - (z_ref(i - 2, 0) + 1))) - 1) * 2
                                v_r3 = (VAL(LEFT$(dat(i - 1), z_ref(i - 1, 0))) - 1) * 3: vn_r3 = (VAL(RIGHT$(dat(i - 1), LEN(dat(i - 1)) - z_ref((i - 1), 1))) - 1) * 3: vt_r3 = (VAL(MID$(dat(i - 1), z_ref(i - 1, 0) + 1, z_ref(i - 1, 1) - (z_ref(i - 1, 0) + 1))) - 1) * 2
                                mesh(m_index) = vert(v_r1): mesh(m_index + 1) = vert(v_r1 + 1): mesh(m_index + 2) = vert(v_r1 + 2)
                                mesh(m_index + 3) = texcoord(vt_r1): mesh(m_index + 4) = texcoord(vt_r1 + 1)
                                mesh(m_index + 5) = norm(vn_r1): mesh(m_index + 6) = norm(vn_r1 + 1): mesh(m_index + 7) = norm(vn_r1 + 2)
                                m_index = m_index + 8
                                mesh(m_index) = vert(v_r2): mesh(m_index + 1) = vert(v_r2 + 1): mesh(m_index + 2) = vert(v_r2 + 2)
                                mesh(m_index + 3) = texcoord(vt_r2): mesh(m_index + 4) = texcoord(vt_r2 + 1)
                                mesh(m_index + 5) = norm(vn_r2): mesh(m_index + 6) = norm(vn_r2 + 1): mesh(m_index + 7) = norm(vn_r2 + 2)
                                m_index = m_index + 8
                                mesh(m_index) = vert(v_r3): mesh(m_index + 1) = vert(v_r3 + 1): mesh(m_index + 2) = vert(v_r3 + 2)
                                mesh(m_index + 3) = texcoord(vt_r3): mesh(m_index + 4) = texcoord(vt_r3 + 1)
                                mesh(m_index + 5) = norm(vn_r3): mesh(m_index + 6) = norm(vn_r3 + 1): mesh(m_index + 7) = norm(vn_r3 + 2)
                                m_index = m_index + 8
                                REDIM _PRESERVE mesh(UBOUND(mesh) + 24) AS SINGLE
                            NEXT
                            mesh_part(mp_index).length = mesh_part(mp_index).length + 3 * (n - 2) '3*(X - 2) - 3 => 3*(X - 3), now here X = n+1, so, 3*(n-2)
                        ELSE
                            FOR j = 0 TO 2
                                v_r1 = (VAL(LEFT$(dat(j), z_ref(j, 0) - 1)) - 1) * 3: vn_r1 = (VAL(RIGHT$(dat(j), LEN(dat(j)) - z_ref(j, 1))) - 1) * 3: vt_r1 = (VAL(MID$(dat(j), z_ref(j, 0) + 1, z_ref(j, 1) - (z_ref(j, 0) + 1))) - 1) * 2
                                'v
                                mesh(m_index) = vert(v_r1): mesh(m_index + 1) = vert(v_r1 + 1): mesh(m_index + 2) = vert(v_r1 + 2)
                                'vt
                                mesh(m_index + 3) = texcoord(vt_r1): mesh(m_index + 4) = texcoord(vt_r1 + 1)
                                'vn
                                mesh(m_index + 5) = norm(vn_r1): mesh(m_index + 6) = norm(vn_r1 + 1): mesh(m_index + 7) = norm(vn_r1 + 2)
                                m_index = m_index + 8
                            NEXT
                            REDIM _PRESERVE mesh(UBOUND(mesh) + 24) AS SINGLE
                        END IF
                    END IF

                    ERASE dat, z_ref
                END IF
                p(c) = x + 1
            ELSE
                IF c = 4 THEN EXIT DO ELSE c = c + 1
            END IF
            x = 0
        LOOP

        mdl_info.num_of_vertices = v(0)
        mdl_info.num_of_tex_coords = v(1)
        mdl_info.num_of_normals = v(2)
        mdl_info.num_of_objects = v(4)
        mdl_info.num_of_faces = v(3)
        mdl_info.num_of_materials = UBOUND(materials) + 1
        mdl_info.materialPresent = materialPresent
        mdl_info.mode = 1
        ERASE vert, norm, texcoord 'not require now. So save memory whenever possible.
        a$ = ""
    END SUB

    '################# Internal Functions ##################################

    FUNCTION feedGLTexture& (img AS LONG)
        IF img < -1 THEN
            DIM m AS _MEM
            m = _MEMIMAGE(img)

            _glGenTextures 1, _OFFSET(feedGLTexture&)
            _glBindTexture _GL_TEXTURE_2D, feedGLTexture&

            _glTexImage2D _GL_TEXTURE_2D, 0, _GL_RGBA, _WIDTH(img&), _HEIGHT(img&), 0, _GL_BGRA_EXT, _GL_UNSIGNED_BYTE, m.OFFSET

            _MEMFREE m
            _glTexParameteri _GL_TEXTURE_2D, _GL_TEXTURE_MAG_FILTER, _GL_LINEAR
            _glTexParameteri _GL_TEXTURE_2D, _GL_TEXTURE_MIN_FILTER, _GL_NEAREST

        ELSE
            PRINT "FUNCTION feedGlTexture&() : invalid image handle passed"
        END IF
    END FUNCTION

    SUB selectTexture (tex&)
        _glTexParameteri _GL_TEXTURE_2D, _GL_TEXTURE_MAG_FILTER, _GL_LINEAR
        _glTexParameteri _GL_TEXTURE_2D, _GL_TEXTURE_MIN_FILTER, _GL_LINEAR
        _glBindTexture _GL_TEXTURE_2D, tex&
    END SUB

    FUNCTION glVec4%& (x, y, z, w)
        STATIC internal_vec4(3)
        internal_vec4(0) = x
        internal_vec4(1) = y
        internal_vec4(2) = z
        internal_vec4(3) = w
        glVec4%& = _OFFSET(internal_vec4())
    END FUNCTION
    '>>>>>>>>>>> OBJ_LOADER_LIB.BAS CONTENT END >>>>>>>>>>>>>>>>>>>>>>>>>>>

    '============================================================
    '=== This file was created with MakeDATA.bas by RhoSigma, ===
    '=== you must $INCLUDE this at the end of your program.   ===
    '============================================================

    '=====================================================================
    'Function to write the embedded DATAs back to disk. Call this FUNCTION
    'once, before you will access the represented file for the first time.
    'After the call always use the returned realFile$ ONLY to access the
    'written file, as the filename was maybe altered in order to avoid the
    'overwriting of an existing file of the same name in the given location.
    '---------------------------------------------------------------------
    'SYNTAX: realFile$ = Writetree.basData$ (wantFile$)
    '
    'INPUTS: wantFile$ --> The filename you would like to write the DATAs
    '                      to, can contain a full or relative path.
    '
    'RESULT: realFile$ --> On success the path and filename finally used
    '                      after applied checks, use ONLY this returned
    '                      name to access the file.
    '                   -> On failure this FUNCTION will panic with the
    '                      appropriate ERROR code, you may handle this as
    '                      needed with your own ON ERROR GOTO... handler.
    '=====================================================================
    FUNCTION Writetree.basData$ (file$)
        '--- separate filename body & extension ---
        FOR po% = LEN(file$) TO 1 STEP -1
            IF MID$(file$, po%, 1) = "." THEN
                body$ = LEFT$(file$, po% - 1)
                ext$ = MID$(file$, po%)
                EXIT FOR
            ELSEIF MID$(file$, po%, 1) = "\" OR MID$(file$, po%, 1) = "/" OR po% = 1 THEN
                body$ = file$
                ext$ = ""
                EXIT FOR
            END IF
        NEXT po%
        '--- avoid overwriting of existing files ---
        num% = 1
        WHILE _FILEEXISTS(file$)
            file$ = body$ + "(" + LTRIM$(STR$(num%)) + ")" + ext$
            num% = num% + 1
        WEND
        '--- write DATAs ---
        ff% = FREEFILE
        OPEN file$ FOR OUTPUT AS ff%
        RESTORE tree.bas
        READ numL&, numB&
        FOR i& = 1 TO numL&
            READ dat&
            PRINT #ff%, MKL$(dat&);
        NEXT i&
        IF numB& > 0 THEN
            FOR i& = 1 TO numB&
                READ dat&
                PRINT #ff%, CHR$(dat&);
            NEXT i&
        END IF
        CLOSE ff%
        '--- set result ---
        Writetree.basData$ = file$
        EXIT FUNCTION

        '--- DATAs representing the contents of file tree.binobj
        '---------------------------------------------------------------------
        tree.bas:
        DATA 2056,7
        DATA &H0000002F,&H00000026,&H00000000,&H00000005,&H00000025,&H00000002,&H03000101,&H00000000
        DATA &H2A000000,&H01000000,&H614D0001,&H69726574,&H302E6C61,&H20203130,&H20202020,&H20202020
        DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
        DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
        DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
        DATA &H20202020,&H20202020,&H00002020,&H00003F80,&H00003F80,&H2B563F80,&H8B593E33,&H00003F07
        DATA &H00000000,&H999A0000,&H00003F19,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H28280000,&H000042C0,&H00003F80,&H7E020000,&H000040A9,&H00000000,&H0000002A,&H0000002A
        DATA &H4D000101,&H72657461,&H2E6C6169,&H20313030,&H20202020,&H20202020,&H20202020,&H20202020
        DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
        DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
        DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
        DATA &H00202020,&H003F8000,&H003F8000,&H563F8000,&H593E332B,&H003F078B,&H00000000,&H9A000000
        DATA &H003F1999,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H28000000,&H0042C028
        DATA &H003F8000,&HD5000000,&H00408258,&H00000000,&H00005400,&H00002A00,&H00010100,&H6574614D
        DATA &H6C616972,&H3130302E,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
        DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
        DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
        DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H3F800000
        DATA &H3F800000,&H3F800000,&H3E332B56,&H3F078B59,&H00000000,&H00000000,&H3F19999A,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H42C02828,&H3F800000,&H00000000
        DATA &H402F8672,&H00000000,&H007E0000,&H00540000,&H01010000,&H74614D00,&H61697265,&H30302E6C
        DATA &H20202032,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
        DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
        DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H20202020
        DATA &H20202020,&H20202020,&H20202020,&H20202020,&H20202020,&H80000020,&H8000003F,&H8000003F
        DATA &H3A09033F,&HB0CDC83F,&H1DBCA93E,&H0000003D,&H0000003F,&H0000003F,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&HC0282800,&H80000042,&H0000003F,&H00000000,&H00000000
        DATA &HA7000000,&H66000006,&H36BF782E,&H00408A78,&H00000000,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H00BEB1DE,&HCF000000,&H0040C883,&H00000000,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H95BEB1DE,&H36BF2F7D,&H95408A78,&H00BF2F7D,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H00BEB1DE,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H00BF56B5,&HCF000000,&H0040C883,&H00000000,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H95BF56B5,&H363F2F7D,&H95408A78,&H00BF2F7D,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H95BF56B5,&H36BF2F7D,&H95408A78,&H003F2F7D,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H003EB1DE,&HCF000000,&H0040C883,&H00000000,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H663EB1DE,&H36BF782E,&H00408A78,&H00000000,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H003EB1DE,&H36000000,&H66408A78,&H003F782E,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H003F56B5,&HCF000000,&H0040C883,&H00000000,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H953F56B5,&H36BF2F7D,&H95408A78,&H003F2F7D,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H953F56B5,&H363F2F7D,&H95408A78,&H003F2F7D,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H003F56B5,&HCF000000,&H0040C883,&H00000000,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H003F56B5,&H36000000,&H66408A78,&H003F782E,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H663F56B5,&H363F782E,&H00408A78,&H00000000,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H003EB1DE,&HCF000000,&H0040C883,&H00000000,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H953EB1DE,&H363F2F7D,&H95408A78,&H003F2F7D,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H953EB1DE,&H36BF2F7D,&H95408A78,&H00BF2F7D,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H00BF56B5,&HCF000000,&H0040C883,&H00000000,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H00BF56B5,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H95BF56B5,&H363F2F7D,&H95408A78,&H00BF2F7D,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H00BEB1DE,&HCF000000,&H0040C883,&H00000000,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H66BEB1DE,&H363F782E,&H00408A78,&H00000000,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H00BEB1DE,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H95000000,&H363F2F7D,&H95408A78,&H00BF2F7D,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H66000000,&H363F782E,&H00408A78,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H66000000,&H363F782E,&H00408A78,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H95000000,&H363F2F7D,&H95408A78,&H003F2F7D,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H95000000,&H363F2F7D,&H95408A78,&H003F2F7D,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H003F782E,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H003F782E,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H95000000,&H36BF2F7D,&H95408A78,&H003F2F7D,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H95000000,&H36BF2F7D,&H95408A78,&H003F2F7D,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H66000000,&H36BF782E,&H00408A78,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H36000000,&H66408A78,&H00BF782E,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H66000000,&H36BF782E,&H00408A78,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H95000000,&H36BF2F7D,&H95408A78,&H00BF2F7D,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H05000000,&H29BFC353,&H00402308,&H00000000,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H00BEB1DE,&H95000000,&H0040B32D,&H00000000,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H75BEB1DE,&H29BF8A1D,&H75402308,&H00BF8A1D,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H00BEB1DE,&H29000000,&H05402308,&H00BFC353,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H00BF56B5,&H95000000,&H0040B32D,&H00000000,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H75BF56B5,&H293F8A1D,&H75402308,&H00BF8A1D,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H75BF56B5,&H29BF8A1D,&H75402308,&H003F8A1D,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H003EB1DE,&H95000000,&H0040B32D,&H00000000,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H053EB1DE,&H29BFC353,&H00402308,&H00000000,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H003EB1DE,&H29000000,&H05402308,&H003FC353,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H003F56B5,&H95000000,&H0040B32D,&H00000000,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H753F56B5,&H29BF8A1D,&H75402308,&H003F8A1D,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H753F56B5,&H293F8A1D,&H75402308,&H003F8A1D,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H003F56B5,&H95000000,&H0040B32D,&H00000000,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H003F56B5,&H29000000,&H05402308,&H003FC353,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H053F56B5,&H293FC353,&H00402308,&H00000000,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H003EB1DE,&H95000000,&H0040B32D,&H00000000,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H753EB1DE,&H293F8A1D,&H75402308,&H003F8A1D,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H753EB1DE,&H29BF8A1D,&H75402308,&H00BF8A1D,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H00BF56B5,&H95000000,&H0040B32D,&H00000000,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H00BF56B5,&H29000000,&H05402308,&H00BFC353,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H75BF56B5,&H293F8A1D,&H75402308,&H00BF8A1D,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H00BEB1DE,&H95000000,&H0040B32D,&H00000000,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H05BEB1DE,&H293FC353,&H00402308,&H00000000,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H00BEB1DE,&H29000000,&H05402308,&H00BFC353,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H75000000,&H293F8A1D,&H75402308,&H00BF8A1D,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H05000000,&H293FC353,&H00402308,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H00BFC353,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H05000000,&H293FC353,&H00402308,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H75000000,&H293F8A1D,&H75402308,&H003F8A1D,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H00BFC353,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H75000000,&H293F8A1D,&H75402308,&H003F8A1D,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H003FC353,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H00BFC353,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H003FC353,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H75000000,&H29BF8A1D,&H75402308,&H003F8A1D,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H00BFC353,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H75000000,&H29BF8A1D,&H75402308,&H003F8A1D,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H05000000,&H29BFC353,&H00402308,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H29000000,&H05402308,&H00BFC353,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H05000000,&H29BFC353,&H00402308,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H75000000,&H29BF8A1D,&H75402308,&H00BF8A1D,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H38000000,&HEBC00587,&H003F27FC,&H00000000,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H00BEB1DE,&HD5000000,&H00409A86,&H00000000,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H5EBEB1DE,&HEBBFBCD6,&H5E3F27FC,&H00BFBCD6,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H00BEB1DE,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H00BF56B5,&HD5000000,&H00409A86,&H00000000,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H5EBF56B5,&HEB3FBCD6,&H5E3F27FC,&H00BFBCD6,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H5EBF56B5,&HEBBFBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H003EB1DE,&HD5000000,&H00409A86,&H00000000,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H383EB1DE,&HEBC00587,&H003F27FC,&H00000000,&H00000000,&H0B000000,&H99BF56B5
        DATA &H6A3ED6BB,&H003EB1DE,&HEB000000,&H383F27FC,&H00400587,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H003F56B5,&HD5000000,&H00409A86,&H00000000,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H5E3F56B5,&HEBBFBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H5E3F56B5,&HEB3FBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H003F56B5,&HD5000000,&H00409A86,&H00000000,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H003F56B5,&HEB000000,&H383F27FC,&H00400587,&H00000000,&H6A000000,&H993EB1DE
        DATA &H0B3ED6BB,&H383F56B5,&HEB400587,&H003F27FC,&H00000000,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H003EB1DE,&HD5000000,&H00409A86,&H00000000,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H5E3EB1DE,&HEB3FBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H5E3EB1DE,&HEBBFBCD6,&H5E3F27FC,&H00BFBCD6,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H00BF56B5,&HD5000000,&H00409A86,&H00000000,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H00BF56B5,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H6A000000,&H99BEB1DE
        DATA &H0B3ED6BB,&H5EBF56B5,&HEB3FBCD6,&H5E3F27FC,&H00BFBCD6,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H00BEB1DE,&HD5000000,&H00409A86,&H00000000,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H38BEB1DE,&HEB400587,&H003F27FC,&H00000000,&H00000000,&H0B000000,&H993F56B5
        DATA &H6A3ED6BB,&H00BEB1DE,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H5E000000,&HEB3FBCD6,&H5E3F27FC,&H00BFBCD6,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H38000000,&HEB400587,&H003F27FC,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H38000000,&HEB400587,&H003F27FC,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H5E000000,&HEB3FBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H5E000000,&HEB3FBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00400587,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00400587,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H5E000000,&HEBBFBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H5E000000,&HEBBFBCD6,&H5E3F27FC,&H003FBCD6,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H38000000,&HEBC00587,&H003F27FC,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&HEB000000,&H383F27FC,&H00C00587,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H38000000,&HEBC00587,&H003F27FC,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H5E000000,&HEBBFBCD6,&H5E3F27FC,&H00BFBCD6,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H41000000,&H003EC3F1
        DATA &HB6000000,&H00BF6C84,&H00000000,&H3D3F8000,&H00BF2161,&H00000000,&H41000000,&H003EC3F1
        DATA &HB6000000,&HBDBF6C84,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H41000000,&H003EC3F1
        DATA &HB6000000,&H00BF6C84,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H41000000,&H003EC3F1
        DATA &HB6000000,&HBDBF6C84,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H41000000,&H003EC3F1
        DATA &HB6000000,&HBDBF6C84,&H003EE439,&HBDBF8000,&H00BEE439,&H00000000,&H41000000,&H003EC3F1
        DATA &HB6000000,&HBDBF6C84,&H003EE439,&HBDBF8000,&H00BEE439,&H00000000,&HB6000000,&H003F6C84
        DATA &H41000000,&HBDBEC3F1,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&HB6000000,&H003F6C84
        DATA &H41000000,&H3DBEC3F1,&H003F2161,&H003F8000,&H00000000,&H00000000,&HB6000000,&H003F6C84
        DATA &H41000000,&HBDBEC3F1,&H003EE439,&HBDBF8000,&H00BEE439,&H00000000,&HB6000000,&H003F6C84
        DATA &H41000000,&H3DBEC3F1,&H003F2161,&H003F8000,&H00000000,&H00000000,&HB6000000,&H003F6C84
        DATA &H41000000,&H3DBEC3F1,&H003F2161,&H00BF8000,&H00000000,&H00000000,&HB6000000,&H003F6C84
        DATA &H41000000,&H3DBEC3F1,&H003F2161,&H00BF8000,&H00000000,&H00000000,&HB6000000,&H003F6C84
        DATA &H41000000,&H3D3EC3F1,&H003F2161,&H003F8000,&H00000000,&H00000000,&HB6000000,&H003F6C84
        DATA &H41000000,&HBD3EC3F1,&H003EE439,&HBD3F8000,&H003EE439,&H00000000,&HB6000000,&H003F6C84
        DATA &H41000000,&H3D3EC3F1,&H003F2161,&H00BF8000,&H00000000,&H00000000,&HB6000000,&H003F6C84
        DATA &H41000000,&HBD3EC3F1,&H003EE439,&HBD3F8000,&H003EE439,&H00000000,&HB6000000,&H003F6C84
        DATA &H41000000,&HBD3EC3F1,&H003EE439,&HBDBF8000,&H003EE439,&H00000000,&HB6000000,&H003F6C84
        DATA &H41000000,&HBD3EC3F1,&H003EE439,&HBDBF8000,&H003EE439,&H00000000,&H41000000,&H003EC3F1
        DATA &HB6000000,&HBD3F6C84,&H003EE439,&HBD3F8000,&H003EE439,&H00000000,&H41000000,&H003EC3F1
        DATA &HB6000000,&H003F6C84,&H00000000,&H3D3F8000,&H003F2161,&H00000000,&H41000000,&H003EC3F1
        DATA &HB6000000,&HBD3F6C84,&H003EE439,&HBDBF8000,&H003EE439,&H00000000,&H41000000,&H003EC3F1
        DATA &HB6000000,&H003F6C84,&H00000000,&H3D3F8000,&H003F2161,&H00000000,&H41000000,&H003EC3F1
        DATA &HB6000000,&H003F6C84,&H00000000,&H3DBF8000,&H003F2161,&H00000000,&H41000000,&H003EC3F1
        DATA &HB6000000,&H003F6C84,&H00000000,&H3DBF8000,&H003F2161,&H00000000,&H41000000,&H00BEC3F1
        DATA &HB6000000,&H003F6C84,&H00000000,&H3D3F8000,&H003F2161,&H00000000,&H41000000,&H00BEC3F1
        DATA &HB6000000,&HBD3F6C84,&H00BEE439,&HBD3F8000,&H003EE439,&H00000000,&H41000000,&H00BEC3F1
        DATA &HB6000000,&H003F6C84,&H00000000,&H3DBF8000,&H003F2161,&H00000000,&H41000000,&H00BEC3F1
        DATA &HB6000000,&HBD3F6C84,&H00BEE439,&HBD3F8000,&H003EE439,&H00000000,&H41000000,&H00BEC3F1
        DATA &HB6000000,&HBD3F6C84,&H00BEE439,&HBDBF8000,&H003EE439,&H00000000,&H41000000,&H00BEC3F1
        DATA &HB6000000,&HBD3F6C84,&H00BEE439,&HBDBF8000,&H003EE439,&H00000000,&HB6000000,&H00BF6C84
        DATA &H41000000,&HBD3EC3F1,&H00BEE439,&HBD3F8000,&H003EE439,&H00000000,&HB6000000,&H00BF6C84
        DATA &H41000000,&H3D3EC3F1,&H00BF2161,&H003F8000,&H00000000,&H00000000,&HB6000000,&H00BF6C84
        DATA &H41000000,&HBD3EC3F1,&H00BEE439,&HBDBF8000,&H003EE439,&H00000000,&HB6000000,&H00BF6C84
        DATA &H41000000,&H3D3EC3F1,&H00BF2161,&H003F8000,&H00000000,&H00000000,&HB6000000,&H00BF6C84
        DATA &H41000000,&H3D3EC3F1,&H00BF2161,&H00BF8000,&H00000000,&H00000000,&HB6000000,&H00BF6C84
        DATA &H41000000,&HBD3EC3F1,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&H00000000,&H00000000,&H3D3F8000,&H00BF2161,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&HBD000000,&H00BEE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&HBD000000,&H00BEE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&H3D000000,&H00BF2161,&H003F8000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&H3D000000,&H00BF2161,&H003F8000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&HBD000000,&H00BEE439,&HBD3F8000,&H003EE439,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&HBD000000,&H00BEE439,&HBD3F8000,&H003EE439,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&H00000000,&H00000000,&H3D3F8000,&H003F2161,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&H00000000,&H00000000,&H3D3F8000,&H003F2161,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H003EE439,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H00BEE439,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&HBD000000,&H003EE439,&HBD3F8000,&H003EE439,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&H3D000000,&H003F2161,&H003F8000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H003F8000,&HBD000000,&H00BEE439,&HBDBF8000,&H00BEE439,&H00000000,&H41000000,&H00BEC3F1
        DATA &HB6000000,&HBDBF6C84,&H00BEE439,&HBD3F8000,&H00BEE439,&H00000000,&H41000000,&H00BEC3F1
        DATA &HB6000000,&H00BF6C84,&H00000000,&H3D3F8000,&H00BF2161,&H00000000,&H41000000,&H00BEC3F1
        DATA &HB6000000,&HBDBF6C84,&H00BEE439,&HBDBF8000,&H00BEE439,&H00000000,&H41000000,&H00BEC3F1
        DATA &HB6000000,&H00BF6C84,&H00000000,&H3D3F8000,&H00BF2161,&H00000000,&H41000000,&H00BEC3F1
        DATA &HB6000000,&H00BF6C84,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H41000000,&H00BEC3F1
        DATA &HB6000000,&H3DBF6C84,&H00BF2161,&H00BF8000,&H00000000,&H00000000,&HB6000000,&H00BF6C84
        DATA &H41000000,&H3DBEC3F1,&H00BF2161,&H003F8000,&H00000000,&H00000000,&HB6000000,&H00BF6C84
        DATA &H41000000,&HBDBEC3F1,&H00BEE439,&HBD3F8000,&H00BEE439,&H00000000,&HB6000000,&H00BF6C84
        DATA &H41000000,&H3DBEC3F1,&H00BF2161,&H00BF8000,&H00000000,&H00000000,&HB6000000,&H00BF6C84
        DATA &H41000000,&HBDBEC3F1,&H00BEE439,&HBD3F8000,&H00BEE439,&H00000000,&HB6000000,&H00BF6C84
        DATA &H41000000,&HBDBEC3F1,&H00BEE439,&HBDBF8000,&H00BEE439,&H00000000,&HB6000000,&H00BF6C84
        DATA &H41000000,&H00BEC3F1,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&HBD000000,&H003EE439,&HBDBF8000,&H00BEE439,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H3D000000,&H003F2161,&H00BF8000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H3D000000,&H003F2161,&H00BF8000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&HBD000000,&H003EE439,&HBDBF8000,&H003EE439,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&HBD000000,&H003EE439,&HBDBF8000,&H003EE439,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H003F2161,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H003F2161,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&HBD000000,&H00BEE439,&HBDBF8000,&H003EE439,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&HBD000000,&H00BEE439,&HBDBF8000,&H003EE439,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H3D000000,&H00BF2161,&H00BF8000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H00000000,&H3DBF8000,&H00BF2161,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H3D000000,&H00BF2161,&H00BF8000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&HBD000000,&H00BEE439,&HBDBF8000,&H00BEE439,&H00000000,&H00000000,&H00000000
        DATA &H00BF8000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000,&H00000000
        DATA &H00,&H00,&H00,&H00,&H00,&H00,&H00
    END FUNCTION

    PS: All the programs in this thread were amazing... I enjoyed each of them!



     
    Screenshot_1.png
    « Last Edit: December 23, 2020, 01:30:20 pm by Ashish »
    if (Me.success) {Me.improve()} else {Me.tryAgain()}


    My Projects - https://github.com/AshishKingdom?tab=repositories
    OpenGL tutorials - https://ashishkingdom.github.io/OpenGL-Tutorials

    Offline johnno56

    • Forum Resident
    • Posts: 1270
    • Live long and prosper.
      • View Profile
    Re: 🎄🎁✨ Holiday Season - are you ready to code?
    « Reply #112 on: December 23, 2020, 04:58:45 pm »
  • Best Answer
  • Very nicely done!
    Logic is the beginning of wisdom.

    Offline bplus

    • Global Moderator
    • Forum Resident
    • Posts: 8053
    • b = b + ...
      • View Profile
    Re: 🎄🎁✨ Holiday Season - are you ready to code?
    « Reply #113 on: December 23, 2020, 05:30:58 pm »
  • Best Answer
  • Another gift from the GL master! Nice one @Ashish :)

    You know I was kinda expecting something like this from Fellippe:
    Code: QB64: [Select]
    1. OPTION _EXPLICIT ' bplus mod of Fellippe's Pendula 2020-12-23
    2.  
    3. SCREEN _NEWIMAGE(1000, 600, 32)
    4. _DELAY .25
    5.  
    6. CONST maxPendulum = 15
    7. f& = _LOADFONT("Arial.ttf", 20, "MONOSPACE")
    8. DIM theta(maxPendulum), accel(maxPendulum), speed(maxPendulum)
    9. DIM length(maxPendulum), mass(maxPendulum)
    10. DIM px, py, bx, by, rr, btx, bty, btx2, bty2
    11.  
    12. DIM a, x1, y1, x2, y2, x3, y3, x4, y4 'try one more time for ornament tops
    13.  
    14. g = 9.81
    15. FOR i = 0 TO maxPendulum
    16.     theta(i) = _PI / 1.5
    17.     speed(i) = 0
    18.     length(i) = 100 + i * 30
    19.     mass(i) = 1 - i * .01
    20.  
    21. px = _WIDTH / 2
    22. py = -5
    23.  
    24. _TITLE "Pendula by FellippeHeitor with alittle mod by bplus"
    25. COLOR , &H000000
    26.     CLS
    27.     FOR i = maxPendulum TO 1 STEP -1 'reverse som lines aren't drawn over previous ones
    28.         accel(i) = mass(i) * g * SIN(theta(i)) / 100
    29.         speed(i) = speed(i) + accel(i) / 100
    30.         theta(i) = theta(i) + speed(i)
    31.         bx = px + length(i) * SIN(theta(i))
    32.         btx = px + (length(i) - 30) * SIN(theta(i))
    33.         btx2 = px + (length(i) - 32) * SIN(theta(i))
    34.         by = py - length(i) * COS(theta(i))
    35.         bty = py - (length(i) - 30) * COS(theta(i))
    36.         bty2 = py - (length(i) - 32) * COS(theta(i))
    37.         LINE (px, py)-(bx, by), &HAAFF8800
    38.         FOR rr = 25 TO 0 STEP -.25
    39.             IF i MOD 2 THEN CIRCLE (bx, by), rr, _RGB32(255 - rr * 7, 0, 0) ELSE CIRCLE (bx, by), rr, _RGB32(0, 255 - rr * 7, 0)
    40.         NEXT
    41.         CIRCLE (btx2, bty2), 3, &HFFFF8800
    42.         a = _ATAN2(py - by, px - bx) - _PI / 2
    43.         x1 = btx + 5 * COS(a): y1 = bty + 5 * SIN(a)
    44.         x2 = btx + 5 * COS(a + _PI): y2 = bty + 5 * SIN(a + _PI)
    45.         x3 = x1 + 7 * COS(a - _PI / 2): y3 = y1 + 7 * SIN(a - _PI / 2)
    46.         x4 = x2 + 7 * COS(a - _PI + _PI / 2): y4 = y2 + 7 * SIN(a - _PI + _PI / 2)
    47.         IF i MOD 2 THEN
    48.             ftri x1, y1, x2, y2, x3, y3, &HFF660000
    49.             ftri x3, y3, x4, y4, x2, y2, &HFF660000
    50.         ELSE
    51.             ftri x1, y1, x2, y2, x3, y3, &HFF007700
    52.             ftri x3, y3, x4, y4, x2, y2, &HFF007700
    53.         END IF
    54.         _PRINTSTRING (bx - 5, by - 9), MID$("Merry Christmas", i, 1)
    55.     NEXT
    56.     _DISPLAY
    57.     _LIMIT 60
    58.  
    59.  
    60. SUB ftri (x1, y1, x2, y2, x3, y3, K AS _UNSIGNED LONG)
    61.     DIM D AS LONG
    62.     STATIC a&
    63.     D = _DEST
    64.     IF a& = 0 THEN a& = _NEWIMAGE(1, 1, 32)
    65.     _DEST a&
    66.     _DONTBLEND a& '  '<<<< new 2019-12-16 fix
    67.     PSET (0, 0), K
    68.     _BLEND a& '<<<< new 2019-12-16 fix
    69.     _DEST D
    70.     _MAPTRIANGLE _SEAMLESS(0, 0)-(0, 0)-(0, 0), a& TO(x1, y1)-(x2, y2)-(x3, y3)
    71.  
    72.  

    ;-))

    I confess being stymied trying to give the pendula little ornament like tops, the trig system used here is backwards from everything I've ever done in Basic. I will try one more time because I think I was going wrong trying to use this system, stick to what I know and all that... :)

    BTW I posted a translation of this at JB and was informed that mass should not be needed but might compensate for some other thing... I think STx said similar. But got Wows, anyway. So Cheers @FellippeHeitor :)

    Update: Yeah! Got it fixed to how I wanted it, using regular trig system. Reposted code above 7:55 PM my time.
    « Last Edit: December 23, 2020, 07:58:23 pm by bplus »

    FellippeHeitor

    • Guest
    Re: 🎄🎁✨ Holiday Season - are you ready to code?
    « Reply #114 on: December 23, 2020, 05:43:50 pm »
  • Best Answer
  • Lol, I had a hard time remembering what pendulum code you were talking about until I ran it. Great mod!

    FellippeHeitor

    • Guest
    Re: 🎄🎁✨ Holiday Season - are you ready to code?
    « Reply #115 on: December 23, 2020, 07:40:27 pm »
  • Best Answer
  • Thanks to everyone who submitted their code! Here's our annual Holiday Season Code Sampler video:


    Offline Petr

    • Forum Resident
    • Posts: 1720
    • The best code is the DNA of the hops.
      • View Profile
    Re: 🎄🎁✨ Holiday Season - are you ready to code?
    « Reply #116 on: December 24, 2020, 05:05:13 am »
  • Best Answer
  • Nicely done, Fellippe. Merry Christmas!

    Offline Dimster

    • Forum Resident
    • Posts: 500
      • View Profile
    Re: 🎄🎁✨ Holiday Season - are you ready to code?
    « Reply #117 on: December 24, 2020, 08:10:41 am »
  • Best Answer
  • What a beautiful Christmas butterfly you QB64 coders have created. Thanks for same. Hope you all get a good poke in the arm in the New Year and have a Merry Christmas.

    Offline bplus

    • Global Moderator
    • Forum Resident
    • Posts: 8053
    • b = b + ...
      • View Profile
    Re: 🎄🎁✨ Holiday Season - are you ready to code?
    « Reply #118 on: December 24, 2020, 11:13:49 am »
  • Best Answer
  • Well I think it's way too short, most samplers let you at least taste the candy, not just smell it ;-))

    But I blame Dav, his music track ran too short! Poor Fellippe had to jam everything into 2 minutes of sound track and a good job at that.

    Next year I suggest a whole album from Dav so Fellippe can make a movie ;-))


    FellippeHeitor

    • Guest
    Re: 🎄🎁✨ Holiday Season - are you ready to code?
    « Reply #119 on: December 24, 2020, 11:25:04 am »
  • Best Answer
  • I did have to extend the original track though... Can you spot the patch?

    Dav, don't spill it 😂