Fork me on GitHub
-- title:   Affine Sprites
-- author:  congusbongus, MypkaMax
-- desc:    draw sprites with affine transformations
-- license: Unlicense
-- version: 0.1
-- script:  moon
-- tags:    draw transform affine sprite skew shear rotate scale
  
aspr=(
  id,x,y,colorkey=-1,sx=1,sy=1,flip=0,rotate=0,w=1,h=1,
  ox=w*8//2,oy=h*8//2,shx1=0,shy1=0,shx2=0,shy2=0
)->
  -- Draw a sprite using two textured triangles.
  -- Apply affine transformations: scale, shear, rotate, flip

  -- scale / flip
  if (flip%2)==1
    sx=-sx
  if flip>=2
    sy=-sy
  ox*=-sx
  oy*=-sy
  -- shear / rotate
  shx1*=-sx
  shy1*=-sy
  shx2*=-sx
  shy2*=-sy
  rr=math.rad(rotate)
  sa=math.sin(rr)
  ca=math.cos(rr)
  rot=(x,y)->
    return x * ca - y * sa, x * sa + y * ca
  rx1, ry1 = rot(ox + shx1, oy + shy1)
  rx2, ry2 = rot(((w * 8) * sx) + ox + shx1, oy + shy2)
  rx3, ry3 = rot(ox + shx2, ((h * 8) * sy) + oy + shy1)
  rx4, ry4 = rot(((w * 8) * sx) + ox + shx2, ((h * 8) * sy) + oy + shy2)
  x1 = x + rx1
  y1 = y + ry1
  x2 = x + rx2
  y2 = y + ry2
  x3 = x + rx3
  y3 = y + ry3
  x4 = x + rx4
  y4 = y + ry4
  -- UV coords
  u1=(id%16)*8
  v1=id//16*8
  u2=u1+w*8
  v2=v1+h*8

  ttri(x1,y1,x2,y2,x3,y3,u1,v1,u2,v1,u1,v2,0,colorkey)
  ttri(x3,y3,x4,y4,x2,y2,u1,v2,u2,v2,u2,v1,0,colorkey)

t=0

export TIC=->
  cls 13

  -- Common params
  id=1+(t%60)//30*2
  textcolor=12
  colorkey=14
  sx,sy=2,2
  flip=(t%160)//40
  ox,oy=8,8
  xstart=32
  dx=56

  w,h=2,2
  x,y=xstart,24

  -- Basic sprite (drop-in spr replacement)
  print "base",x-4,y+24,textcolor,false,1,true
  aspr id,x,y,colorkey,sx,sy,flip,0,w,h
  x+=dx

  -- scale x
  sx1=math.abs(t%60-30)/10+0.25
  print "scale x=#{sx1}",x-24,y+24,textcolor,false,1,true
  aspr id,x,y,colorkey,sx1,sy,flip,0,w,h,ox,oy
  x+=dx

  -- scale y
  sy1=math.abs(t%60-30)/10+0.25
  print "scale y=#{sy1}",x-24,y+24,textcolor,false,1,true
  aspr id,x,y,colorkey,sx,sy1,flip,0,w,h,ox,oy
  x+=dx

  -- rotate
  rotate=t%360
  print "rotate r=#{rotate}",x-20,y+24,textcolor,false,1,true
  aspr id,x,y,colorkey,sx,sy,flip,rotate,w,h,ox,oy

  y+=64
  x=xstart

  -- shear x1
  shx1=(math.abs(t%60-30)-15)/5
  print "shear x1=#{shx1}",x-24,y+24,textcolor,false,1,true
  aspr id,x,y,colorkey,sx,sy,flip,0,w,h,ox,oy,shx1
  x+=dx

  -- shear y1
  shy1=(math.abs(t%60-30)-15)/5
  print "shear y1=#{shy1}",x-24,y+24,textcolor,false,1,true
  aspr id,x,y,colorkey,sx,sy,flip,0,w,h,ox,oy,0,shy1
  x+=dx

  -- shear x2
  shx2=(math.abs(t%60-30)-15)/5
  print "shear x2=#{shx2}",x-24,y+24,textcolor,false,1,true
  aspr id,x,y,colorkey,sx,sy,flip,0,w,h,ox,oy,0,0,shx2
  x+=dx

  -- shear y2
  shy2=(math.abs(t%60-30)-15)/5
  print "shear y1=#{shy2}",x-24,y+24,textcolor,false,1,true
  aspr id,x,y,colorkey,sx,sy,flip,0,w,h,ox,oy,0,0,0,shy2
  x+=dx

  print "flip=#{flip}",100,124,textcolor,false,1,true

  t+=1


-- <TILES>
-- 001:eccccccccc888888caaaaaaaca888888cacccccccacc0ccccacc0ccccacc0ccc
-- 002:ccccceee8888cceeaaaa0cee888a0ceeccca0ccc0cca0c0c0cca0c0c0cca0c0c
-- 003:eccccccccc888888caaaaaaaca888888cacccccccacccccccacc0ccccacc0ccc
-- 004:ccccceee8888cceeaaaa0cee888a0ceeccca0cccccca0c0c0cca0c0c0cca0c0c
-- 017:cacccccccaaaaaaacaaacaaacaaaaccccaaaaaaac8888888cc000cccecccccec
-- 018:ccca00ccaaaa0ccecaaa0ceeaaaa0ceeaaaa0cee8888ccee000cceeecccceeee
-- 019:cacccccccaaaaaaacaaacaaacaaaaccccaaaaaaac8888888cc000cccecccccec
-- 020:ccca00ccaaaa0ccecaaa0ceeaaaa0ceeaaaa0cee8888ccee000cceeecccceeee
-- </TILES>

-- <SCREEN>
-- 000:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccccccccccddccccccccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 001:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccc000000cccccc000000ccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 002:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccc000000cccccc000000ccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 003:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccc000000cccccc000000ccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 004:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccc000000cccccc000000ccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 005:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccc8888888888888888888888ccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 006:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccc8888888888888888888888ccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 007:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccc8888888888888888888888ccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 008:ddddddddddddddddddddddddccccccccccddccccccccccdddddddddddddddddddddddddddddccccccccccccccccddddccccccccccccccccdddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccddddddddddddddddddddddddddddddddccccccccccddccccccccccdddddddddddddddddddddddddd
-- 009:ddddddddddddddddddddddddccccccccccddccccccccccdddddddddddddddddddddddddddddccccccccccccccccddddccccccccccccccccdddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccddddddddddddddddddddddddddddddddccccccccccddccccccccccdddddddddddddddddddddddddd
-- 010:ddddddddddddddddddddddcccc000000cccccc000000ccccddddddddddddddddddddddddcccccc0000000000cccccccccc0000000000ccccccddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccddddddddddddddddddddddddddddddcccc000000cccccc000000ccccdddddddddddddddddddddddd
-- 011:ddddddddddddddddddddddcccc000000cccccc000000ccccddddddddddddddddddddddddcccccc0000000000cccccccccc0000000000ccccccddddddddddddddddddcc00aaaaaaaaccccccaaaaaaaaccddddddddddddddddddddddddddddddcccc000000cccccc000000ccccdddddddddddddddddddddddd
-- 012:ddddddddddddddddddddcccc8888888888888888888888ccdddddddddddddddddddddcccccc888888888888888888888888888888888888cccddddddddddddddddddcc00aaaaaaaaccccccaaaaaaaaccddddddddddddddddddddddddddddcccc8888888888888888888888ccdddddddddddddddddddddddd
-- 013:ddddddddddddddddddddcccc8888888888888888888888ccdddddddddddddddddddddcccccc888888888888888888888888888888888888cccddddddddddddddddddcc00aaaaaaaaccccccaaaaaaaaccddddddddddddddddddddddddddddcccc8888888888888888888888ccdddddddddddddddddddddddd
-- 014:ddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddccc000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacccddddddddddddddddddcc00aaaaaaccaaaaaaccaaaaaaccddddddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddd
-- 015:ddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddccc000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacccddddddddddddddddddcc00aaaaaaccaaaaaaccaaaaaaccddddddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddd
-- 016:ddddddddddddddddddddcc00aaaaaaaaccccccaaaaaaaaccdddddddddddddddddddddccc000aaaaaaaaaaaaaccccccccccaaaaaaaaaaaaacccddddddddddddddddddcc00aaaaaaccaaaaaaccaaaaaaccddddddddddddddddddddddddddddcc00aaaaaaaaccccccaaaaaaaaccdddddddddddddddddddddddd
-- 017:ddddddddddddddddddddcc00aaaaaaaaccccccaaaaaaaaccdddddddddddddddddddddccc000aaaaaaaaaaaaaccccccccccaaaaaaaaaaaaacccddddddddddddddddddcc00aaaaaaccaaaaaaccaaaaaaccddddddddddddddddddddddddddddcc00aaaaaaaaccccccaaaaaaaaccdddddddddddddddddddddddd
-- 018:ddddddddddddddddddddcc00aaaaaaccaaaaaaccaaaaaaccdddddddddddddddddddddccc000aaaaaaaaaacccaaaaaaaaaacccaaaaaaaaaacccddddddddddddddddcccc00aaaaaaaaaaaaaaaaaaaaaaccddddddddddddddddddddddddddddcc00aaaaaaccaaaaaaccaaaaaaccdddddddddddddddddddddddd
-- 019:ddddddddddddddddddddcc00aaaaaaccaaaaaaccaaaaaaccdddddddddddddddddddddccc000aaaaaaaaaacccaaaaaaaaaacccaaaaaaaaaacccddddddddddddddddcccc00aaaaaaaaaaaaaaaaaaaaaaccddddddddddddddddddddddddddddcc00aaaaaaccaaaaaaccaaaaaaccdddddddddddddddddddddddd
-- 020:ddddddddddddddddddcccc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddccccccc000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacccddddddddddddddddcccc00aaaaaaaaaaaaaaaaaaaaaaccddddddddddddddddddddddddddcccc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddd
-- 021:ddddddddddddddddddcccc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddccccccc000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacccddddddddddddddcccc0000aaccccccccccccccccccaaccddddddddddddddddddddddddddcccc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddd
-- 022:ddddddddddddddddcccc0000aaccccccccccccccccccaaccddddddddddddddccccccc000000aaaccccccccccccccccccccccccccccccaaacccddddddddddddddcccc0000aaccccccccccccccccccaaccddddddddddddddddddddddddcccc0000aaccccccccccccccccccaaccdddddddddddddddddddddddd
-- 023:ddddddddddddddddcccc0000aaccccccccccccccccccaaccddddddddddddddccccccc000000aaaccccccccccccccccccccccccccccccaaacccddddddddddddddcccc0000aaccccccccccccccccccaaccddddddddddddddddddddddddcccc0000aaccccccccccccccccccaaccdddddddddddddddddddddddd
-- 024:ddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddccc0000ccc000aaaccccccc000cccccccccc000cccccccaaacccddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddddd
-- 025:ddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddccc0000ccc000aaaccccccc000cccccccccc000cccccccaaacccddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddddd
-- 026:ddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddccc0000ccc000aaaccccccc000cccccccccc000cccccccaaacccddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddddd
-- 027:ddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddccc0000ccc000aaaccccccc000cccccccccc000cccccccaaacccddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddddd
-- 028:ddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddccc0000ccc000aaaccccccc000cccccccccc000cccccccaaacccddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddddd
-- 029:ddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddccc0000ccc000aaaccccccc000cccccccccc000cccccccaaacccddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddddd
-- 030:ddddddddddddddddcccccc00aaccccccccccccccccccaaccddddddddddddddcccccccccc000aaaccccccccccccccccccccccccccccccaaacccddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddcccccc00aaccccccccccccccccccaaccdddddddddddddddddddddddd
-- 031:ddddddddddddddddcccccc00aaccccccccccccccccccaaccddddddddddddddcccccccccc000aaaccccccccccccccccccccccccccccccaaacccddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddcccccc00aaccccccccccccccccccaaccdddddddddddddddddddddddd
-- 032:ddddddddddddddddddddcc00aa888888888888888888aaccdddddddddddddddddddddccc000aaa888888888888888888888888888888aaacccddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddddddcc00aa888888888888888888aaccdddddddddddddddddddddddd
-- 033:ddddddddddddddddddddcc00aa888888888888888888aaccdddddddddddddddddddddccc000aaa888888888888888888888888888888aaacccddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddddddcc00aa888888888888888888aaccdddddddddddddddddddddddd
-- 034:ddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddccc000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacccddddddddddddddcccccc00aaccccccccccccccccccaaccddddddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddd
-- 035:ddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddccc000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacccddddddddddddddcccccc00aaccccccccccccccccccaaccddddddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddd
-- 036:ddddddddddddddddddddcccc88888888888888888888ccccdddddddddddddddddddddcccccc888888888888888888888888888888888ccccccddddddddddddddcccccc00aaccccccccccccccccccaaccddddddddddddddddddddddddddddcccc88888888888888888888ccccdddddddddddddddddddddddd
-- 037:ddddddddddddddddddddcccc88888888888888888888ccccdddddddddddddddddddddcccccc888888888888888888888888888888888ccccccddddddddddddddddddcc00aa888888888888888888aaccddddddddddddddddddddddddddddcccc88888888888888888888ccccdddddddddddddddddddddddd
-- 038:ddddddddddddddddddddddccccccccccccccccccccccccddddddddddddddddddddddddddcccccccccccccccccccccccccccccccccccccccdddddddddddddddddddddcc00aa888888888888888888aaccddddddddddddddddddddddddddddddccccccccccccccccccccccccdddddddddddddddddddddddddd
-- 039:ddddddddddddddddddddddccccccccccccccccccccccccddddddddddddddddddddddddddcccccccccccccccccccccccccccccccccccccccdddddddddddddddddddddcc00aa888888888888888888aaccddddddddddddddddddddddddddddddccccccccccccccccccccccccdddddddddddddddddddddddddd
-- 040:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 041:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 042:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 043:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 044:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccc88888888888888888888ccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 045:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccc88888888888888888888ccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 046:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccc88888888888888888888ccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 047:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccccccccccccccccccccccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 048:ddddddddddddddddddddddddddddcdddddddddddddddddddddddddddddddddddddddddddddddccddddddddddddddddccddddccddcccdddddddddddddddddddddddddccccccccccccccccccccccccccddcccddddddddddddddddddddddddddcdddddddcdddddddddddddddddccddddddddddddddddddddddd
-- 049:ddddddddddddddddddddddddddddccddccdddccddccddddddddddddddddddddddccddccdccdddcdddccdddcdcdcccdddcdddddcdcddddddddddddddddccddccdccdddccccccccccccccccccccccccccdcdddddddddddddddddddcdcddcddcccdccddcccddccdddcdcdcccdcdcddddddddddddddddddddddd
-- 050:ddddddddddddddddddddddddddddcdcddccdccddcdcdddddddddddddddddddddccddcddddccddcddcdcddddcdddddddcdddddcddccddddddddddddddccddcddddccddcddcdcdddcdcddddddcdddddcddccddddddddddddddddddccddcdcddcdddccddcddcdcdddccddddddcdcddddddddddddddddddddddd
-- 051:ddddddddddddddddddddddddddddcdcdcdcdddcdccddddddddddddddddddddddddcdcdddcdcddcddccddddcdcdcccdddcdddcdddddcdddddddddddddddcdcdddcdcddcddccdddddccdcccdddcdddcdddddcdddddddddddddddddcdddcdcddcddcdcddcddccddddcdddcccdcdcddddddddddddddddddddddd
-- 052:ddddddddddddddddddddddddddddccddcccdccdddccdddddddddddddddddddddccdddccdcccdcccddccdddcdcdddddccddcdcccdccddddddddddddddccdddccdcccdcccddccdddddcdddddccddcdcccdccddddddddddddddddddcddddcddddcdcccdddcddccdddcdddddddccdddddddddddddddddddddddd
-- 053:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 054:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 055:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 056:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 057:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 058:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 059:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 060:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 061:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 062:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 063:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 064:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 065:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 066:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 067:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 068:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 069:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 070:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 071:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 072:ddddddddddddddddddddddddccccccccccddccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccccccccccddccccccccccdddddddddddddddddddddddddddddddddddddddddddddddddcdddddddddddddddddddddddddd
-- 073:ddddddddddddddddddddddddccccccccccddccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccccccccccddccccccccccddddddddddddddddddddddddddddddddddddddddddddccccccdddddddddddddddddddddddddd
-- 074:ddddddddddddddddddddddcccc000000cccccc000000ccccddddddddddddddddddddddddddddddddcccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddcccc000000cccccc000000ccccddddddddddddddddddddddddddddddddddddddccccccccccccdddddddddddddddddddddddd
-- 075:dddddddddddddddddddddddcccc000000cccccc000000ccccdddddddddddddddddddddddddddddccccccccccccdddddddddddddddddddddddddddddddddddddddddddddddddcccc000000cccccc000000ccccddddddddddddddddddddddddddddddddcccccddcccc0000ccccdddddddddddddddddddddddd
-- 076:dddddddddddddddddddddcccc8888888888888888888888ccdddddddddddddddddddddddddddddcccc000cccccddccccdddddddddddddddddddddddddddddddddddddddddcccc8888888888888888888888ccdddddddddddddddddddddddddddccccccccccdccc000000c8ccdddddddddddddddddddddddd
-- 077:dddddddddddddddddddddcccc8888888888888888888888ccdddddddddddddddddddddddddddcccccc000000cccdcccccccccddddddddddddddddddddddddddddddddddddcccc8888888888888888888888ccdddddddddddddddddddddddddddccccc000cccccc00888888ccdddddddddddddddddddddddd
-- 078:dddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddddddcccc88888000cccccc00ccccccdddddddddddddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddddddcc000000ccc8888888888accdddddddddddddddddddddddd
-- 079:dddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddddddcc0088888888888ccc000000ccdddddddddddddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddddcccc00088888888888aaaaaaccdddddddddddddddddddddddd
-- 080:ddddddddddddddddddddddcc00aaaaaaaaccccccaaaaaaaaccddddddddddddddddddddddddddcc00aaaaa888888888880000ccccddddddddddddddddddddddddddddddddcc00aaaaaaaaccccccaaaaaaaaccddddddddddddddddddddddddddcc88888888888aaaaaaaaaaaccdddddddddddddddddddddddd
-- 081:ddddddddddddddddddddddcc00aaaaaaaaccccccaaaaaaaaccddddddddddddddddddddddddddcc00aaaaaaaaaaa8888888888cccddddddddddddddddddddddddddddddddcc00aaaaaaaaccccccaaaaaaaaccddddddddddddddddddddddddcccc88888aaaaaaaaaaaaaaaaaccdddddddddddddddddddddddd
-- 082:ddddddddddddddddddddddcc00aaaaaaccaaaaaaccaaaaaaccddddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaa888888ccddddddddddddddddddddddddddddddddcc00aaaaaaccaaaaaaccaaaaaaccddddddddddddddddddddddddccccaaaaaaaaaaacccaaaaaaaaccdddddddddddddddddddddddd
-- 083:ddddddddddddddddddddddcc00aaaaaaccaaaaaaccaaaaaaccddddddddddddddddddddddddddcc00aaaaaaaacccaaaaaaaaaa8ccddddddddddddddddddddddddddddddddcc00aaaaaaccaaaaaaccaaaaaaccddddddddddddddddddddddddcc00aaaaaaaaccccccaaaaaaaaccdddddddddddddddddddddddd
-- 084:ddddddddddddddddddddcccc00aaaaaaaaaaaaaaaaaaaaaaccddddddddddddddddddddddddcdcc00aaaaaaaaccccccaaaaaaaaccddddddddddddddddddddddddddddddcccc00aaaaaaaaaaaaaaaaaaaaaaccddddddddddddddddddddddddcc00aaaaaaaacccaaaccaaaaaaccdddddddddddddddddddddddd
-- 085:dddddddddddddddddddddcccc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddcccc00aaaaaaccaaacccaaaaaaaaccdddddddddddddddddddddddddddddcccc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddddcc00aaaaaaccaaaaaaccaaaaaaccdddddddddddddddddddddddd
-- 086:dddddddddddddddddddcccc0000aaccccccccccccccccccaaccdddddddddddddddddddddcccccc00aaaaaaccaaaaaaccaaaaaaccdddddddddddddddddddddddddddcccc0000aaccccccccccccccccccaaccdddddddddddddddddddddddddcc00aaaaaaccaaaaaaaaaaaaaaccdddddddddddddddddddddddd
-- 087:dddddddddddddddddddcccc0000aaccccccccccccccccccaaccdddddddddddddddddddddcccc0000aaaaaaaaaaaaaaccaaaaaaccdddddddddddddddddddddddddddcccc0000aaccccccccccccccccccaaccdddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaccccaaccdddddddddddddddddddddddd
-- 088:dddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddcc0c0000aacccaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddddddcc00aaaaaaaaaaacccccccccaaccdddddddddddddddddddddddd
-- 089:dddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddcc00cc00aacccccccccaaaaaaaaaaaccdddddddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddccc00aaaaacccccccccccccccaaccdddddddddddddddddddddddd
-- 090:dddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddcc00cc00aaccccccccccccccaaaaaaccdddddddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddddcccc00aacccccccccccc00ccccaaccdddddddddddddddddddddddd
-- 091:ddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddcc00cc00aacccc00ccccccccccccaaccddddddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddcc0000aacccc00cccccc00ccccaaccdddddddddddddddddddddddd
-- 092:ddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddcccc0000aacccc00cccccc00ccccaaccdddddddddddddddddddddddd
-- 093:ddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddccc0cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddddd
-- 094:ddddddddddddddddddddcccccc00aaccccccccccccccccccaaccddddddddddddddddddddccc0cc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddddcccccc00aaccccccccccccccccccaaccddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddddd
-- 095:ddddddddddddddddddddcccccc00aaccccccccccccccccccaaccddddddddddddddddddddcccccc00aacccc00cccccc00ccccaaccddddddddddddddddddddddddddcccccc00aaccccccccccccccccccaaccddddddddddddddddddddddcc00cc00aacccc00cccccc00ccccaaccdddddddddddddddddddddddd
-- 096:dddddddddddddddddddddddddcc00aa888888888888888888aaccddddddddddddddddddddddccc00aacccc00cccccc00ccccaaccdddddddddddddddddddddddddddddcc00aa888888888888888888aaccdddddddddddddddddddddddcc00cc00aacccc00ccccccccccccaaccdddddddddddddddddddddddd
-- 097:dddddddddddddddddddddddddcc00aa888888888888888888aaccdddddddddddddddddddddddcc00aacccccccccccc00ccccaaccdddddddddddddddddddddddddddddcc00aa888888888888888888aaccdddddddddddddddddddddddcc00cc00aacccccccccccccc8888aaccdddddddddddddddddddddddd
-- 098:dddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddcc00aa888cccccccccccccccaaccdddddddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddcc00cc00aaccccccccc888888888aaccdddddddddddddddddddddddd
-- 099:dddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddcc00aa888888888cccccccccaaccdddddddddddddddddddddddddddddcc00aaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddcc0ccc00aaccc88888888888aaaaaaccdddddddddddddddddddddddd
-- 100:dddddddddddddddddddddddddcccc88888888888888888888ccccdddddddddddddddddddddddcc00aaaaa88888888888ccccaaccdddddddddddddddddddddddddddddcccc88888888888888888888ccccdddddddddddddddddddddddcccccc00aa888888888aaaaaaaaaacccdddddddddddddddddddddddd
-- 101:ddddddddddddddddddddddddddcccc88888888888888888888ccccddddddddddddddddddddddccccaaaaaaaaaaa888888888aaccddddddddddddddddddddddddddddcccc88888888888888888888ccccddddddddddddddddddddddddcccdcc00aa888aaaaaaaaaaa8888ccccdddddddddddddddddddddddd
-- 102:ddddddddddddddddddddddddddddccccccccccccccccccccccccddddddddddddddddddddddddcccc88888aaaaaaaaaaa8888aaccddddddddddddddddddddddddddddddccccccccccccccccccccccccddddddddddddddddddddddddddddddcc00aaaaaaaaaaa888888888ccdddddddddddddddddddddddddd
-- 103:ddddddddddddddddddddddddddddccccccccccccccccccccccccddddddddddddddddddddddddddcc88888888888aaaaaaaaaaaccddddddddddddddddddddddddddddddccccccccccccccccccccccccddddddddddddddddddddddddddddddcc00aaaaa88888888888ccccccdddddddddddddddddddddddddd
-- 104:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccccccc88888888888aaaaaaccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcc0088888888888ccccccccccddddddddddddddddddddddddddd
-- 105:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccccccccccc888888888caccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccc88888cccccccccccdddddddddddddddddddddddddddddddd
-- 106:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccccccccccc8888ccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccccccccccccccddddddddddddddddddddddddddddddddddddd
-- 107:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccccccddddddddddddddddddddddddddddddddddddddddddd
-- 108:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccdddddddddddddddddddddddddddddddddddddddddddddddd
-- 109:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 110:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 111:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 112:ddddddddddddcddddddddddddddddddddddcddddddccdddddccdddddddddddddddddcddddddddddddddddddddddcddddddccdddddccdddddddddddddddddcdddddddddddddddddddddccddddddccdddddccdddddddddddddddddcddddddddddddddddddddddcddddddccdddddccddddddddddddddddddddd
-- 113:dddddddddccdccdddccdccddcdcdddcdcdccddcccdddcdddcdcddddddddddddddccdccdddccdccddcdcdddcdcdccddcccdddcdddcdcddddddddddddddccdccdddccdccddcdcdddcdcdddcdcccdddcdddcdcddddddddddddddccdccdddccdccddcdcdddcdcdccddcccdddcdddcdcddddddddddddddddddddd
-- 114:ddddddddccddcdcdcdcddccdccdddddcdddcdddddddcddddcdcdddddddddddddccddcdcdcdcddccdccddddcdcddcdddddddcddddcdcdddddddddddddccddcdcdcdcddccdccdddddcdddcdddddddcddddcdcdddddddddddddccddcdcdcdcddccdccddddcdcddcdddddddcddddcdcddddddddddddddddddddd
-- 115:ddddddddddcdcdcdccddcdcdcdddddcdcddcddcccdddcdddcdcdddddddddddddddcdcdcdccddcdcdcddddddccddcddcccdddcdddcdcdddddddddddddddcdcdcdccddcdcdcdddddcdcdcdddcccdddcdddcdcdddddddddddddddcdcdcdccddcdcdcddddddccddcddcccdddcdddcdcddddddddddddddddddddd
-- 116:ddddddddccddcdcddccdcccdcdddddcdcdcccdddddccddcdccddddddddddddddccddcdcddccdcccdcdddddddcdcccdddddccddcdccddddddddddddddccddcdcddccdcccdcdddddcdcdcccdddddccddcdccddddddddddddddccddcdcddccdcccdcdddddddcdcccdddddccddcdccdddddddddddddddddddddd
-- 117:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcdddddddddddddddddddddddddddddddddddddddd
-- 118:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 119:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 120:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 121:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 122:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 123:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 124:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcdccddcdddddddddccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 125:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcdddcddddccddcccdddcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 126:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccddcddcdcdcddddddcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 127:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcdddcddcdcdcdcccdddcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 128:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcddcccdcdccddddddccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 129:ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 130:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 131:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 132:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 133:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 134:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- 135:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
-- </SCREEN>

-- <PALETTE>
-- 000:1a1c2c5d275db13e53ef7d57ffcd75a7f07038b76425717929366f3b5dc941a6f673eff7f4f4f494b0c2566c86333c57
-- </PALETTE>