Post by hedgehog7777 on Mar 6, 2020 16:51:59 GMT -5
last edit: 2023 (5.5) ,find 05:angle and circle_02.17
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
01) 3D window openGL_09.10.fin
02) rotate_triangle_02c.04
03) www.mediafire.com/file/s6b8pobvk587mno/hedgehogs_fractalsponger_and_bezier_curve.zip/file
04) mouse_wait mb(0)_mb(1)
05) angle and circle_02.17
06) feel free to Upload here:
www.opendrive.com/
CHUCK001001@protonmail.com
01:3D window openGL_09.10.fin (3:39 PM 3/6/2020)
Lately i found an older 4gl window in the basic4gl-demo-programs between pages 1 and 30 and we could improve and accomplish v1.0:
manual:
every window keeps its number
window 1- 5: box turn left
window 7-10: box turn right
window 6 : box turn with mouse_x() and mouse_y()
'
'4glB-window v1.01 'found in :basic4gl-demo-programs between pages 1-30 and improved)
'
'3D window openGL_09.10.fin :
declare sub draw_all_windows() :declare sub one_Window(i0,p0,p1,s0,s1) :declare sub draw3D_box(i1,i0) :declare sub draw_border(i0,i1)
declare sub gln_v3f(i0,i1,i2,i3,i4,i5) :declare sub draw_minimize(i0,i1) :declare sub draw_menu_bar(i0,i1) :declare sub draw_if_not_mini(i0,p0,p1,s0,s1)
declare sub w(i0) :declare sub info(i0) :declare sub f01_()
declare sub f11() :declare sub win_minimized(i0)
'*****************************************************************************************************************************************************************
dim LightAmbient#(3): LightAmbient# = vec4 (.5, 1, .5, 1) ' Lighting
dim LightDiffuse#(3): LightDiffuse# = vec4 (.5, 1, .5, 1)
dim LightPosition#(3):LightPosition# = vec4 (0, 10, 20, 1)
'------------------------------------------------------------------------------------------------------------------------------------------------
glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient#) ' light thats always there.
glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse#) ' light coming from a source.
glLightfv(GL_LIGHT1, GL_POSITION,LightPosition#) ' where the light source is.
glEnable(GL_LIGHT1) ' enable the light source.
'------------------------------------------------------------------------------------------------------------------------------------------------
dim a$
dim b,c
dim i0,i2,i2#
dim f01,f02,f03
dim i,i7,i8,i9
dim lmb,lmb2
dim md,mx2,my2
dim win_nr(10)
'------------------------------------------------------------------------------------------------------------------------------------------------
struc swindow ' Structure to hold information about the window-
dim frames ' how many times the window has been drawn
dim minimized ' state of the window
dim size#(1) ' x and y size (in pixels)
dim pos# (1) ' x and y position (in pixels, starting at lower left hand corner)
dim normalSize# (1) ' used to store size when minimized
dim mouse# (1) ' position of the mouse cursor on the window
dim nr#
endstruc
'------------------------------------------------------------------------------------------------------------------------------------------------
dim mouse# (1) ' mouse position
dim lastMouse# (1) ' mouse position previous frame
'dim mouseDown (2) ' true if mouse is down
dim lmcl ' true if mouse is clicked
'
dim swindow window (10) ' array of windows
dim swindow &win ' pointer to a window structure- for simplifying code.
'
dim drawArray (10) ' array used to draw windows in order- recently used are drawn last (over the top of previous ones).
dim windowCount ' how many windows there are
dim activeWindow ' which window is currently active
dim ClosestClickedWindow' used to determine if another window was clicked on other than the active window.
'------------------------------------------------------------------------------------------------------------------------------------------------
for i = 0 to 10:window (i).pos# = vec2 (100+i*40,50+i*20):window (i).size# = vec2 (400, 300):drawArray (i) = i:window (i).nr#=i:next:windowCount = i
'
TextMode (TEXT_OVERLAID)
'******************************************************************************************************************************************************************
do
lastMouse# = mouse#
mouse#(0) = Mouse_X () * WindowWidth ()
mouse#(1) =(1-Mouse_Y())*WindowHeight()
lmb = Mouse_Button(0)
'
f11()
'
if lmb then
&win = &window (activeWindow)
if lmb then win.mouse# = mouse# - win.pos# :endif
'
f01_():
if f01 then
if win.Mouse#(1) > win.size#(1)-20 then
if win.Mouse#(0) <= win.size#(0)-20 then win.pos# = win.pos# + mouse#-lastMouse#
else
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
win_minimized(win.minimized)
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
endif
endif
else 'if f01
closestClickedWindow = -1
for i = 0 to windowCount-1
&win = &window (drawArray (i))
win.mouse# = mouse# - win.pos# '-
f01_():if f01 then closestClickedWindow = i :endif
next
'
if not closestClickedWindow = -1 then ActiveWindow = DrawArray (closestClickedWindow)
for i = closestClickedWindow to WindowCount-2 :DrawArray (i) = DrawArray (i+1):next :
DrawArray (WindowCount-1) = ActiveWindow
endif
endif'if f01
win.mouse# = mouse# - win.pos#
endif'if lmb
'
draw_all_windows()
loop
sub win_minimized(i0)
if lmcl then f03=true
if i0=0 then
win.normalSize# = win.size#
win.size#(0) = 150
win.size#(1) = 20
win.pos# = win.pos# - win.size# + win.normalsize#
win.minimized = true
endif
if i0 =true then
win.pos# = win.pos# + win.size# - win.normalSize#
win.size# = win.normalSize#
win.minimized = false
endif
endif
end sub
'*********************************************************************************************************************************************
sub f11()
if f02=0 and lmb then lmcl = true:f02=true:endif
if f02 and f03 then lmcl=0 :endif
if f02 and not lmb then f03=0:f02=0 :endif
end sub
'*********************************************************************************************************************************************
sub f01_():f01 = win.mouse#(0)>=0 and win.mouse#(1)>=0 and win.mouse#(0)<=win.size#(0) and win.mouse#(1)<=win.size#(1):end sub
sub draw_all_windows()
glClearColor (0, 0, 0, 0)
glClear (GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT)
glEnable (GL_SCISSOR_TEST)
for i = 0 to windowCount-1 : w(i):one_Window(i2,win.pos#(0),win.pos#(1),win.size#(0),win.size#(1)) :: next
glDisable (GL_SCISSOR_TEST)
SwapBuffers ()
end sub
sub w(i0):&win = &window (drawArray (i0)):i2=win.nr#:end sub
'
sub one_Window(i0,p0,p1,s0,s1): info(1)
'
glLoadIdentity () :glScissor (p0, p1, s0, s1) :glViewport (p0, p1, s0, s1)
glClearColor (.5, .5, .5, 1):glClear (GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT) ' Clear out all previous information from the scissor rectangle.
'
glMatrixMode (GL_PROJECTION)
glLoadIdentity ()
glOrtho (0, s0, 0, s1, -1, 1) ' Set 2D mode
glMatrixMode (GL_MODELVIEW)
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
draw_menu_bar( win.size#(0),win.size#(1) )
draw_minimize( win.size#(0),win.size#(1) ) ' Minimize button
draw_border( win.size#(0),win.size#(1) )
draw_if_not_mini(i0,win.pos#(0),win.pos#(1),win.size#(0),win.size#(1))
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
end sub
sub info(i0):if i0=1 then
' Only draw a rectangle the size of the window. This is done
' by using glScissor, which makes it so only the scissored
' part of the screen is drawn to. Also reset the viewport so
' the coordinates behave the same way they would if they were
' drawn in a normal opengl window.
endif:end sub
'
sub draw_if_not_mini(i0,p0,p1,s0,s1)' Draw what's inside the window if it's not minimized.
if not win.minimized then
glScissor (p0+2,p1+2, s0-4, s1-22) ' Clip the draw area to within the window border- two units on each
glViewPort (p0+2,p1+2, s0-4, s1-22) ' side, 2 units on the bottom and 20 units for the top.
'
glclearColor (.1, .1, .1, .1)
glClear (GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT)
'
glMatrixMode (GL_PROJECTION) ' Set 3D mode
glLoadIdentity ()
gluPerspective (60, (1.0*s0)/s1, 1, 1000)
glMatrixMode (GL_MODELVIEW)
'
draw3D_box(i0,win.frames)
endif
end sub
'
sub draw_menu_bar(i0,i1)
if drawArray (i) = ActiveWindow then
glBegin (GL_QUADS)
glColor3f (0, 0, .5) : glVertex2f ( 0, i1-20)
glColor3f (0, .1, .5) : glVertex2f (i0, i1-20)
glColor3f (0, .5, .2) : glVertex2f (i0, i1)
glColor3f (0, .2, .2) : glVertex2f ( 0, i1)
glEnd ()
else
glBegin (GL_QUADS)
glColor3f (.1, 0, .1) : glVertex2f ( 0, i1-20)
glColor3f (.1, .1, .1) : glVertex2f (i0, i1-20)
glColor3f (.1, .1, .2) : glVertex2f (i0, i1)
glColor3f (.1, .2, .2) : glVertex2f ( 0, i1)
glEnd ()
endif
end sub
'
sub draw_minimize(i0,i1)
glBegin (GL_QUADS)
glColor3f (.5, .5, .5): glVertex2f (i0 -18, i1 - 18)
glColor3f (.3, .3, .3): glvertex2f (i0 - 2, i1 - 18)
glColor3f (.5, .5, .5): glVertex2f (i0 - 2, i1 - 2)
glColor3f (.3, .3, .3): glVertex2f (i0 -18, i1 - 2)
glEnd ()
end sub
'
sub draw_border(i0,i1)
glBegin (GL_QUADS) :glColor3f (0, 0, .5)
glVertex2f (0, 0) :glVertex2f (2, 0)
glVertex2f (2, i1 - 20) :glVertex2f (0, i1 - 20)
glVertex2f (2, 0) :glVertex2f (i0-2, 0)
glVertex2f (i0-2, 2) :glVertex2f (2, 2)
glVertex2f (i0 -2, 0) :glVertex2f (i0 -2, i1 - 20)
glVertex2f (i0,i1 - 20) :glVertex2f (i0 , 0 )
glEnd ()
end sub
'
sub draw3D_box(i1,i0):
ResizeText (25, 15) :printr "3D OpenGL Windows:";i1;" "
locate 0,2:print "lmc:";lmcl
locate 0,3:print "md:" ;
locate 0,4:print "lmb:";lmb
locate 0,5:print "i8:" ;i8
locate 0,6:print "i9:" ;i9
locate 0,7:print "i1:" ;i1:a$=str$(i1)
locate 0,8:print a$
b=val(a$)
locate 0,9:printr b
'
if b=5 then print"this is my 5th window":endif
'
DrawText ():
glTranslatef (0, 0, -10)
if b=6 then mx2=mouse_x()*720:my2=mouse_y()*720:
glRotatef (mx2, 0, 1, 0) : glRotatef (my2, 1, 0, 0)
else glRotatef ( i0, 0, 1, 0) : glRotatef ( i1, 1, 0, 0)
endif
'
glEnable (GL_LIGHTING)
glBegin (GL_QUADS)
if b<6 then win.frames = win.frames + 2 :endif
if b>6 then win.frames = win.frames - 2 :endif
'---------------------------------------------------------------------
gln_v3f( 0, 0, 1,-1, -1, 1) ' Draw a lighted cube
gln_v3f( 0, 0, 1, 1, -1, 1)
gln_v3f( 0, 0, 1, 1, 1, 1)
gln_v3f( 0, 0, 1,-1, 1, 1)
'---------------------------------------------------------------------
gln_v3f( 0, 0, -1, 1, 1, -1)
gln_v3f( 0, 0, -1, 1, -1, -1)
gln_v3f( 0, 0, -1,-1, -1, -1)
gln_v3f( 0, 0, -1,-1, 1, -1)
'---------------------------------------------------------------------
gln_v3f( 1, 0, 0, 1, 1, 1)
gln_v3f( 1, 0, 0, 1, -1, 1)
gln_v3f( 1, 0, 0, 1, -1, -1)
gln_v3f( 1, 0, 0, 1, 1, -1)
'---------------------------------------------------------------------
gln_v3f(-1, 0, 0,-1, 1, 1)
gln_v3f(-1, 0, 0,-1, -1, 1)
gln_v3f(-1, 0, 0,-1, -1, -1)
gln_v3f(-1, 0, 0,-1, 1, -1)
'---------------------------------------------------------------------
gln_v3f( 0, 1, 0,-1, 1, -1)
gln_v3f( 0, 1, 0, 1, 1, -1)
gln_v3f( 0, 1, 0, 1, 1, 1)
gln_v3f( 0, 1, 0,-1, 1, 1)
'---------------------------------------------------------------------
gln_v3f(0, -1, 0,-1, -1, -1)
gln_v3f(0, -1, 0, 1, -1, -1)
gln_v3f(0, -1, 0, 1, -1, 1)
gln_v3f(0, -1, 0,-1, -1, 1)
'---------------------------------------------------------------------
glEnd ()
glDisable (GL_LIGHTING)
'
end sub
'
sub gln_v3f(i0,i1,i2,i3,i4,i5): glNormal3f (i0, i1, i2) : glVertex3f (i3, i4, i5) :end sub
'
'v1.01 somewhere found in :basic4gl-demo-programs between pages 1-30
'PCNew, public and combination
'3D window openGL_09.10.fin
'*****************************************************************************************************************************************************************************
02: rotate_triangle_02c.04
'
dim a#,z#=-3.5,mx#,my#,mx1#,mx2#,mxd#,myd#
dim c#(3)(3)
dim x#,x0#(10000),x1#,x2#,x3#,x4#
dim xc1,ct,f08,i
dim p1#(2),p2#(2),p3#(2)
dim s,f01,f02,f03,f04
'
c#(0) = vec4 ( -1, 0, 1, 0) 'all value x '0 ,2,-10
c#(1) = vec4 ( -1, 2, -1, 0) 'all value y
c#(2) = vec4 ( -10,-10, -10, 0) 'all value z
c#(3) = vec4 ( 5, 5, 5, 5) '0123 = 4325 'c(3) should move c# vector
'
declare sub triangle() :declare sub keys() :declare sub txt() :declare sub m_xd() :declare sub m_yd()
'
textmode(texT_OVERLAID)
xc1=20:for i=0 to xc1-1:x0#(i)=x#:next
do
glClear (GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT)
glLoadIdentity ()
'glTranslatef (0, 0, 0)
'glRotatef (a#, 0, 0, 1)
'------------------------------------------------------
keys()
if f01 then :c# = c# * MatrixRotateY (mxd#)
else :c# = c# * MatrixRotatex (myd#)
endif
'
m_xd():m_yd()
triangle()
txt()
'------------------------------------------------------
drawtext():SwapBuffers ()
loop
'
sub triangle()
glBegin (GL_TRIANGLES)
p1#=vec3( c#(0,0) ,c#(1,0) ,c#(2,0) ):p2#=vec3( c#(0,1) ,c#(1,1) ,c#(2,1) ):p3#=vec3( c#(0,2) ,c#(1,2) ,c#(2,2) )
glVertex3fv ( p1# ):glVertex3fv ( p2# ):glVertex3fv ( p3# )
glEnd ()
end sub
'
sub keys()
while SyncTimer (5)
if ScanKeyDown (VK_LEFT) then a# = a# + 3: endif
if ScanKeyDown (VK_RIGHT) then a# = a# - 3: endif
if ScanKeyDown (VK_UP) then z#=z#+.2 :c#(2) = vec4 (z# ,z# ,z#, 0):endif
if ScanKeyDown (VK_DOWN) then z#=z#-.2 :c#(2) = vec4 (z# ,z# ,z#, 0):endif
wend
end sub
'
sub m_xd():mxd# = Mouse_XD ()* 50:if mxd#<>0 then f01=true:f02=f02+1: else f01=0:endif :end sub 'x# = x# - mxd#
sub m_yd():if f01=0 then myd# = Mouse_YD ()* 50:if myd#<>0 then f03=true:f04=f04+1: else f03=0:endif :endif:end sub
'sub m_zd():myd# = Mouse_ZD ()* 50:end sub
'
sub txt()
locate 0,0:
printr "mxd#:";mxd#;" "
printr "f01:";f01;" "
printr "f02:";f02;" "
printr "f03:";f03;" "
printr "f04:";f04;" "
end sub
'
'please can anybody explain why the triangle start to circle
'can you correct this demo?
'
'PCN 2.2022
'*****************************************************************************************************************************************************************************
03: www.mediafire.com/file/s6b8pobvk587mno/hedgehogs_fractalsponger_and_bezier_curve.zip/file
'*****************************************************************************************************************************************************************************
04: '1st mouse_wait:
function mb(b):dim n:n=mouse_button(b):return n:end function
printr "wait mb(0)" :do:loop until mb(0):do:loop until mb(0)=0
printr "wait mb(1)" :do:loop until mb(1):do:loop until mb(1)=0
color (255,0,0):printr "end"
'
'2nd shorter mouse_wait:
function mb(b):dim n:n=mouse_button(b):return n:end function
sub wait(x):do:loop until mb(x):do:loop until mb(x)=0:end sub
printr "wait mb(0)":wait(0):printr "wait mb(1)":wait(1)
color (255,0,0):printr "end"
'*****************************************************************************************************************************************************************************
'05:new: angle and circle_02.17:
'
manual :
draw many points with left mouse_button and measure angle between points:
'
'angle and circle_02.17 (2023,may6) (line1)
dim angle#
dim l1#,l2#
dim a31(99),i,beta1#,beta3#,beta4#,beta5#,b#(10,1000,2),hmf,i11,rad,x8#,z8#
dim v0(1) as single,v1(1) as single,mx#,my#,m0(1) as single
dim c = GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT
dim f01
'
declare sub compute_basic_circle(i00,r0,st,beta2#)
declare function vL(va() as single,vb() as single) as single
declare sub lines():declare sub txt() 'declare sub mouse(x,y) :
declare sub circle(co,nr,v() as single) 'declare sub debug() :
'
textmode(texT_OVERLAID):resizetext(80,30)
rad=5 :hmf=36:compute_basic_circle(0,rad,10,hmf*10)
rad=10 :hmf=18:compute_basic_circle(1,rad,10,hmf*10) '360/10=36 steps
v0=vec2(10,10)
'------------------------------------------------------------------------------------------------
'2023,may.4
dim bt(1),mt(1),fm(1)
'declare sub cmb(m)
sub mbt(m1)
if mt(m1)=0 and (bt(m1)) then mt(m1)=true:fm(m1)=not(fm(m1)): :endif 'cmb(m1):check
if mt(m1) and not (bt(m1)) then mt(m1)=0 : :endif
end sub
'sub cmb(m):if m=1 then if a9(120)=0 then a9(122)=not(a9(122)):if a9(122)=0 then a9(116)=true:endif:endif:endif:end sub
sub m(b):bt(b)=mouse_button(b):mbt(b)::end sub
declare sub window(x,y)
'1000 gl_colors
dim a,i1,i2,i3,i4 'all integer
dim cr(10) as single,gc(999,2) as single,cb#
for a=0 to 9:cb#=a:cr(a)=cb#/9:next
for i=0 to 999:i1=i/100:i2=i1*100:i3=(i-i2)/10:i4=i-i2-i3*10:gc(i,0)=cr(i1):gc(i,1)=cr(i3):gc(i,2)=cr(i4):next'1000 gl_colors
sub glC(a as integer):glColor3f(gc(a,0),gc(a,1),gc(a,2)):end sub
'
const am=1000000
dim p(am,1) as single,glp,i0,angle(am)
glp=-1
dim mx1 as single,my1 as single,m1(1) as single
dim v2(2) as single
v2=vec3(50,50,0)
'
dim u(99),pct0,pct1
sub pct(i0):u(i0)=PerformanceCounter():end sub
dim mx2 as single,my2 as single,angle0 as single
declare sub mouse_xy()
dim s0 as string:for i=0 to 5:s0=s0+chr$(32):next
'2023,may6
dim at as single
'****************************************************************************************************************************
window(1800,800)
resizetext(100,60)
glTranslatef (0, 0, -100)
glPointSize(3)
'
do
glClear (c)
mouse_xy()
m(0):m(1)
lines()
circle(444,0,m1)
circle( 90,1,m1)
txt()
'
if pct0 then pct(1) :if u(1)>u(0)+100 then pct0=0:endif :endif
'
if pct0=0 then
if mt(0) then
glp=glp+1
p(glp)=m1
if pct0=0 then pct(0):pct0=true:endif
if glp>-1 then
if glp>0 then
mx2=p(glp-1,0)-p(glp,0) :my2=p(glp-1,1)-p(glp,1)
'
if mx2=0 and my2=0 then f01=f01+1:glp=glp-1 else at=atand(my2/mx2):angle0=90-at:angle(glp)=angle0:endif
'
endif 'if glp>0
endif 'if glp>-1
endif 'if mt(0)
endif 'if pct0=0
if glp>-1 then glc(900):glBegin (GL_points):for i0=0 to glp:glVertex2fv (p(i0)):next:glEnd () :endif
'--------------------------------
drawtext():SwapBuffers ()
loop
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
sub compute_basic_circle(i00,r0,st,beta2#):'xz...horizontal
i11=-1:beta1#=0:beta3#=360/beta2#:beta4#=st*beta3#:beta5#=360+beta4#
do: i11=i11+1:
x8#=cosd(beta1#) *(r0) :z8#=sind(beta1#) *(r0)
b#(i00,i11)=vec3(x8#,z8#,0)
beta1#=beta1#+beta4#
loop until beta1#>=beta5#
a31(i00)=i11
end sub
'
sub mouse_xy():mx1=mouse_x()*260-130:my1=-(mouse_y()*115-57.5):m1=vec2(mx1,my1):end sub
'for angle# = 0 to 2 * m_pi step 2 * m_pi / 360 :glVertex2f (sin (angle#), cos (angle#))
sub circle(co,nr,v() as single):glc(co):glBegin (GL_LINE_LOOP):for i=0 to a31(nr) :glVertex2fv (v+b#(nr,i)) :next:glEnd ():end sub
sub lines():glc(990):glBegin (GL_lines):glVertex2f (-50,0):glVertex2f (50,0):glVertex2f (0,-50):glVertex2f (0,50):glEnd ():end sub
sub window(x,y):SetWindowWidth(x):SetWindowHeight(y):SetWindowBorder(true):UpdateWindow():end sub
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
sub txt()
'locate 60,0:printr "f01:";f01;" /pct1:";pct1;" "
locate 0,0:
printr "vM1:";mx1;"/";my1;s0
'
locate 0,2
printr glp;s0
if glp>-1 then
i1=-1
for i0=0 to glp
i1=i1+1:if i1=56 then i1=0:cls:endif
locate 0,i1+3:print i0;":";p(i0,0);"/";p(i0,1);s0:if i0>0 then printr chr$(9);angle(i0) else printr:endif
next
endif
end sub
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function vL(va() as single,vb() as single) as single:dim a#:a# = pow ( pow(vb(0)-va(0),2 ) + pow(vb(1)-va(1),2 ) + pow(vb(2)-va(2),2 ),0.5 ):return a#:end function
L1#=vL(v0,v1):printr l1# :l2# = Length(v1-v0):printr l2#
'*****************************************************************************************************************************************************************************
09:Battle load runner
'
09a:have the following files and folders ready (on: desktop/)
'
{
Battle_loderunner_start_PB14.gb
Battle_loderunner_add_file/
.convert_photo_PB_16.gb
.Loderunner_L001/
(is empy_folder to be filled with .txt below)
.Loderunner_debugging_L000-L001_subs_0002.txt
.Loderunner_L001_quad_0002.txt
.Loderunner_L001_steer.0010.txt
.Loderunner_L001_vector_(size and pos).txt
.Loderunner_sub_f01 to f99_L000-L001.txt
text/
(is empy_folder but to be filled with .txt below)
2nd row, small ladder_b.png.txt
2nd_row_b.png.txt
3rd_row_b.png.txt
4th_row_b.png.txt
5th_row_b.png.txt
2022-07-01 11_42_28-Window_b.png.txt
2022-07-01 11_44_03-Window_b.png.txt
2022-07-01 11_46_04-Window_b.png.txt
2022-07-01 11_47_08-Window_b.png.txt
2022-07-05 10_59_57-left_run_32_b.png.txt
2022-07-05 11_01_47-left_run_32_b.png.txt
2022-07-05 11_03_35-left_run_32_b.png.txt
2022-07-05 11_06_50-right_run_32_b.png.txt
2022-07-05 11_10_58-right_run_32_b.png.txt
2022-07-05 11_12_00-right_run_32_b.png.txt
2022-07-05 11_15_43-stand_b.png.txt
2022-07-05 11_16_33-stand_look_left_b.png.txt
2022-07-05 11_17_24-stand_look_right_b.png.txt
Angel_01b.png.txt
Angel_03b.png.txt
empty 512x464 and all y and x.png.zip.txt
file_settings_512x_20y.png.txt
ground_brown_brick.png.txt
ladder_l.png.txt
Level_1_Australia_06.png.zip.txt
score_512x36y.png.txt
texture2/
(folder is empty before conversion)
font.03.png
{ from a different ProBoards_folder:
basic4gl.proboards.com/thread/3658/diverse-projects-keys-inside-polygon
29 a: convert text into font
29 b: font.03.txt
}
'
09b:here 26 texts to copy into notepad and save with the name.txt into: text/ '( press Ctrl and - for smaller text in html)
'
*** 09.01:
2nd row, small ladder_b.png.txt '(716 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d49484452000000180000006008060000000706b254000000017352474200aece1ce90000011c494441546843ed9ac10dc3200c4561938cc2288cc2281e8551d8a455919c0308e1400c42fdb93407e88fcd7fb129b529a58f
31c610d1efc384106cbe19bccaefb3cb04061fb8398d337247a0264044790d628c59e3baae292def7d9e7f47b05c8088de75511901042ad038456c1de7dc948b7872e5227501e680854679e872a02e009b366dca8bac96a2d2fcb33c3439788b87e6ebba
8ce4290f620e4679e80aa82db2ba8bce1700079c81ae4dd5410307a807e2a60cf5a099aa7d2e423d2817057d51d3a6dd82837ab08f64f445e88bc4b5789f4dd50b0e380007e0a0ce007e2fdab701415fb4bee0b0a2f85d201cb8ee1c8d230821e89ca32d
1338ff34f6fc0884f6160f0307f27df2b23f0d9c6f53f508c406170e04077fc4c11765d8a82edfab14fd0000000049454e44ae426082
'*** 09.02:
2nd_row_b.png.txt '(5078 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d49484452000002000000004008060000006cbfcfbf000000017352474200aece1ce90000098b49444154785eed9de195a338108471260e85501c8a43712884e24ceede18c4ae596ba09b3625a16fffccbb7ba036d5d5a5a2
01e972bfdfffebbaaebb3e879f3f5ffbf77c3e5f630fd3df6b7f7bfdf7f57a1dff361afff1785cbe06fa86811f8fc72bff47ff4b7c48f957c5bfdfef52fca9bfb6eb5fad7f6afd81ff5afe5f48803601ea02c40060005a36e0ea09581d5fad3fcc3fdaf9
e71f0390eecca2efc8d2b8631fa0eb721d80d6e2ab0b30198061f86e0768c9a794e7db6dec04a9e20fc3505407a035fe2f2740ae3f2964ac02e7f457ad3f4b0340fe8fcd3f0660f108e26802aa0b10038001f8bb037034ff3100ef778047e3afd61f0c80
36ff18000cc0eb1d8074073e0bf284cb7ce730bdbbb1f5be646d9c5c0760edbce8f87400b4028401d0e28f01d0e2afe63f0600038001d8ea2abe701c77406d0bb07a02c000b4cd3f0c0006e0cd00f47dfff64cdefbb6feda38b90ec0da795be7e0b571e6
af527807e0ed2b9ca35bd0ea09b0f5f818000cc0db678008c0b12f61a80b70f90ec0dac4193d012f5f023c3a3e8f00da16400c80f633643a60dafaa3034007e0e32380e55bf9d6eff5d3f1b971d6de01382a3e06402b40ad4fc0eaeb57df806000b4f587
01c0006000b6b635be701c02a81540f504ac8e8f01689b7f18000cc09b01f8c21cf77148d6011861c100b42dc01880f7956879047dec23680c000600037094ebf9100703800150aec34007a06dfe5d6eb7db6b02780e8f436530ad049882b61a5f5d802c
04a45d0888fa1b15a0d5fa57eb9f5a7fe0bf96ff1880a9025502a42e400c00068009b85d03a2d61f0c402106e0d0db7f82cd08a80b1003508601a024404081805a7f9201505c3b31bb6eee00008606017501620030001ae613b50404d4fa8301d0b2e0f2
b8f5a6fde0e715d4a6b5e173bbfa7debb26a8d9ffbddea02c400680d80753bd45af91fa5075cfff896f860d4df52f507fedb2a239aff18001bfe9d3701a516200600036029012fff2d317e3b96f818008f01827f9f11b8dcfbabab0390be56cc7500f89e
f3fd7bce52f7e3c600946500d6ea26c723f5f7e4c42ffb73b252f5c7fa192cfc1fe795a8f9170360b4865e02965a8018000c80a504bcfcb7c4d8d201881240ebefaaf5fa4bd51f0c808d81d1fcc300d8f09f1f015805a8d402c40060002c25102d4096d8
af3b9fe9d9b7b5feac7172c7d71abf54fdc100d89819cd3f0c800d7fb700955a8018000c80a504a205c8121b03e03740a5ea0f06c05601d1f58701b0e17f7a03303fcb9d96489e0937dd796d856b6d9c34ee723be0b5f3a2e3d7b61b60b4006cc5331d47
fcd867b047e18f01b022fdf9f8b3f11f0360e4859700a516e0b20370f4048c01b06d86e2e59f91e6d9c3898f0188e2d2cf3874006c6846d71f06c086ffe93b007ddfbf101986e1f537112e1983ad70ad8d93eb00ac9d171d9f0ec05644c7e3a205c8169d
f85efc4bbd01c100d82ac09bff5c140c800d7fb700965a80cb0ec0d113f0b20370747c0c80ad00a205c8161d03e0c5bf54fdc100d82ac09b7f0c800de7f01668a905987b04903a0009086b07201d9f1b67ed1d80a3e263006c85112d40b6e818002ffea5
ea0f06c05601defc63006c386300a64700188020e2648641006df8460ba02d7abd06040360cdf4e7e3cfc6bf4b7fed4c2b012e61492b01a6ffafda56b7b6f80937f602b8bd52b7bce38f29d7fc28a990d51d80bddba1527f237f6aabff287e7bf35f8afe
c0ff7d4cf0e63f45c500ecc3bff326a09402641d00ed3a0008e0be02f4d6dfbea87fceae357e29fa03fff731712fffd80e781ffebbcf567700520bfae83bf004dcf2a5bfdd801a0728a50360fcd91c0e022108a8f587ed8043d2e81e0403e0862ee64475
016200cae800c4b0895140c086805a7f3000b67c451f7db1eec7ecfd01f33357e33ed6de78cbf34a8daf2ec0d6f30ffeefbbd845d55b2df5b7dcc5b0b5eb87ff6df31f03302d797b7d8e0bdf7ceb5fce805080da02047f2dfead4fc0eaeb87ff6df3ff1f
039026aae889f06c9f4f58f139cb6738d6eb4ec7979affd20490fa4bfbfc7999f6f9bc52f9b7340047e71ffebf1b80a3f157e71f03b0e8001c4d000a505b80e0afc55f2d80adc787ff6df31f03800178ad03911e811c6d80d4028c00b62d806afea9e3c3
ffb6f98f01c000600062bbcda6d1ac2b019a06ffeb605ae075eee2e7cd77ee25ccf480a5947500e0bfd6806000300018802895758c83006a05507d07ae8e4f07a06dfe610030001800c7c41d750a06a06d01c600dc9bd61f75fe31001880a60b903b2026
60de8189b2b3f67130c0dafac3006000300076dd0a3b0301d40aa0fa0e4c1d1f03dc36ff300018000c40d8746e1f0803d0b60063007804a0ec40610030001800fbbc1d7606060003a09c00e800b4cdbf7933a0e7f00813b52d03edddc6704b8cdf8e2925
beba00f76ec7e9cd03f88fc8b58e7fe20ffaa3d15ff4676460abfcc3004c0aa4220005a82d40f0d7e28f01d0e20fffb5f8abf9cf76c0de5bd8a0f34a29c0a0cba96e18f0af2e65fce04004e07f2098150e850110278d02d42600fcb5f8135d8b00fcd7e2
af8e7e79dcfad74b605bffe5b6b5556f6b597afcb36c075c6bfec17f6b85ff7e5cadf98fb9faaeabf5fae17f0c036acd7feeea3100465e780940011a81ce1c0efee36aeec373fc9b5ea62cdd00c764bfde09587dfde84f4c06bcfa13133d9eff977b7f75
7500969b4aa8bf672d3d7e6e3316750bcefa195aad9bca807f8c04d59aff98abff23c0b5e91ffc8f61c0d9f88f0130f2c24b000ad008f44a07c02ac0e0afc53f267abd13b0fafae17f4c06bcfa1f133d9eff18006366bc04a0008d4063003e22e0e55f0c
faf10264fd5d5cbf6f5b63f4c7cab4cfc79f8d7f1800232fbc04a0008d40630030001f10f0d65f0cfbea3540e84f0c03cec63f0c8091175e02508046a0310018000cc03f08a03fbe0e488cfad46b0073d78f0130328302acb300316046a2071bb098e8e7
13602b2ee84f9dfa63cd73ee786ffe31004119f0268009282601e08f00fe30c9fa12680cfbea3520e84f0c03bcfa13133d9e7f74008c99f112800234021d7c070afe5afc63a2c70ba0f57779ebdf1a27fa0e10fec764a0d6fcd30188c9ffbc1298f50e84
028c4980b700c15f8b7f4c740c00fca70316d901a3036054260ab0ce02c40018891edc8189898e01407fead49f52f97fe9af9d6925c0e58594b2af7bfa5daa6d7dadf1136eea9500f7ee475f6bfec13f46926acd7fccd5ff598ad95affeaf8f03f2603b5
f31f03b093075e0250803b819f4e07ffdb1b90b518e098ecd73b01abaf1ffd89c980577f62a2efe73fdb014765c2394e291d00e7cfaffe34f0af3e855cc00e04e0ff0ef04e702a06409c440a509b00f0d7e24f742d02f05f8bbf3afaffec1a0a34fa13dc
ca0000000049454e44ae426082
'*** 09.03:
3rd_row_b.png.txt '(2920 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000200000000200806000000644bc0e5000000017352474200aece1ce90000055f49444154785eed9dedd59b300c85934d1825a3641446c9288c924ddad318bbc529473238be7a736f7e1b833efd5808e7fa78
3c7e5d00bfe7f3b9b9ebf45c3efa14f97ecb7adfe9767fddef76bb7df4be7b93e7e799e7f90a7980f5a6b23fd6fed9f628ff9fa6e9f508a8fba3e30fad7fb4fcca3fc90358fdffaa0500bb002800b90310bd000900b8fd4ff987dbfe050096e5b33bf07a
979b77c099803381d595815ebbe33c6fae3bd4150094fccbb284a800a0e467b73f5afe1a00d8e20fadff7c7f54fc29ffa40d20ebfa2300585f0128000580bd60d3334f14001600702f0002006efbbf01404908ebbbc1b273aeded95b49ce9a274a02ac09
dc7a6e4bee52d2cdef5677f4587a1282550046cb1f6d07c6267f340060d3bff24fea41cb1b30d97fedc919b4fe0a00aa0ac068078c46e0a3e517006077200200acfe050002002400bd0140ed9079a79a138577076ccd13b502603d776ff9a301c068f9a3
01009bfcd100804dffb5bca3e557fe890580a3ed2f00a82a00a30da000e40e4034000900b8fd4ff987dbfebbaf00eaa6b8d60a401ebf374fd40a80f5dcde0a80354ff41e00d97fdb14f9adfe1f0d00acb8e91d7f6800db7b05302afea20180ec9f7a0046
d95f00b0d30330ca000ac05804ce96800400dcfea7fcc36d7f7d06a8cf00375db8de1dd6d971512b4067e5f25e1f45fe6800e0d5dfd97151f4af7300b64d8067edeabd5ef64f27e2080004000280ff94dcbc89e4e8b828094800106b0778d49f5aaf8bfa
0ab2558ea3e3a3c41f1a00e1009013d073791cb5e5a1eb741260525b3e0a1a751012bbfdd1f2e7e0618d3fb4fed10b40b457008792f9818beaafdb58fd5f00a00a00b402c09e80d1f20b0052d315eb022000e0b67f18003800715d2e118163dfc1b576d7
7731fa3f93a0ed8f96bfb73e5be763d73f5a7e01400200d40f6d7f01802a00212a00ac01280048efe0d1afa058fd4f002000802e00f746fd97e695f5bf09f2bbfcba99c91dd0b73b3401b10720bbfde1f2bb03250dfcb6f883eb5ff947eb0f1080e11500
0520f7df01b3db1f2ebf00a04903df0640da803499ffeb00180e00b74bfa1ed1fb2bff4eb85eb05701f0feaff9749f5501001228bbfdd1f27be32e8ffbb6f843eb5ff907db83c46e7f018000005a82630f40b4fc02006d405a7da0e778f467c8e8f84303
a0004000200020ae80b4267355001230646c5005b2d583b6e30500d80ab400400020001000b8b3b8004000e07616c7400140300028ddf4d37a40c2da6def7da79e6d6ecd538e620cd603603db7c3a75f43ac79a21ec5693d776ff9a395e0d8e4f7da7354
0f009bfeeb12f068f9a335018e969f3dffecfe1b6039a14c00904a7eab1ebc09d372640140da49b107205a7eaf3f0b0092063e5d01b1f286d75ed63cca3fca3f7f7ce90d00ea9389ea3393bd0e68cd13b502603d776ff9a311f868f9d10b60bd036393df
ebcfa300804dff68ff53fe89d5043adaff0500550fc068032800b903100d4002006eff53fee1b6ffee2b80fa68ced6234bf3f8bd79a25600ace7f6264c6b9ee82538d97fd998fa5bfddfebcfa32a0056dc789fd79a47f9272d7cd100c0b29becefd380a5
c7ecff0280aa026029cea7febf4d80160029006311f868fbab02b0ed8266d3ff5e13e0280057fee1ce3ff0cf002fcfed4ecbbbc0e671f93bdcb243591e4d53dce7341ef56724d102b04979270697a64a72fba3fdff84095f97fef4f843eb5ff9077b1220
bbfd05000200e83900ec0188965f00a00dc8591f38733dfa1c0074fca101f03acf336401283bf8f5bc81334e74e6dabd92e399395bae45570064ff74dec5e80a5014ff6ff1d54f8c45c75f6b6f476f1da0e557fe69fc3bdace0e80b6bf00600510d402a0
00e40e40f402d4399f354f874e8068fda3e557fee1ce3fbf01565f2071b7e821280000000049454e44ae426082
'*** 09.04:
4th_row_b.png.txt '(5110 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d49484452000002000000004008060000006cbfcfbf000000017352474200aece1ce90000099b49444154785eed9dd175eb380c44ed4e5c8a4a71292ec5a5a81477b27b628b7a31138602046b28f1e62767f7514438188023
9022cfb7dbedbfd3e974ba3cc6af5f1ffb793c1ecfbec7e9f765b83efffb72b9bc7e776aff7ebf9f3f06fa828ef17fdffc53c79f9afff7fbfd99ffb6fe49f930e1afb27fbbddc83f1dcf3f672600ed04a04e80f85feb7ff504acb6afe63f020001d0f30b
e80f01909469b4224dfdbeea00a753a902d09b7d7502cc05406ff8e71320e34f111a9b014af1afe67f1200e3f8d90a688e66c2e37a7d554255f6c7716caa0240fc6d1b7f08806c09626b02aa132002e0bd02b0b5ff7b17206afe23001000df2b00bdc53f
020001f0b607a4b700e87d02568fbf350130e331e585b97231ed5d5a5a17a9f553aa00d49e8bb64f05a0ef17000400020001f06d13100268db122402e07d090001b02dffd402586d1f01800040002000e6af70b61640ad09806118ded6e4bdbbf56bfd94
2a00b5e79656006afdcc5f65b107e0ed2bb4adf98f00104fc06a07a813207b00fa2e01f6ceff7c0f406de28c9e80f34d805bdb6709a0eff8a7022016200880be03503d01abedabf99f0b808447be2bdffabd7ead9fda1e80adec2300face3f080004004b
002c01b004307d06589bb89756006afd20005e485281d40a10040002000180004000700ec0526d13da0e018000e87a1386ba044a006a03505d8257db57f39f73003807a0eb7300aed7ebf30df031de43955dadb37412606ad7ab7d7502c4ff2f06f6ca3f
75fca9f98f00d00a00f28f36ff9c7180d601ea0488ffb5fe574fc06afb6afe230010003dbf00cc02a0f6c6cebf7f060175024c02e033a3a35710f81b0135ff11006d0800e2448300024083fb6c559d0011006202746e5ecd7f040002a0e7103cdfaf83e9
3eecf904a9e96cecd2ad7e9f0275aff64b7fb73a015aaf03de2bfe517c64fcafa35a4763fcb7ca7f04805600907f6c99293aff20006cf89fbc0e6835011280360278fd6fb3526ebd57fbadf21f018000b0c4e65ee3af34c6f36db8b82a00e9ca865205a0
b733956b9f53b57a1fbaf533c0d2386ae3b704d95f6db1ff8abcbdc55fabfc4700b425006af306f11f1bff0800e3cce42560ab091001602380d7ff362bf50a0002200651040002c0c2a4a3c53f02c0e2fdaf37af69edd39a80110046a00bcdbdf8c758f7
fbbf77fbadf21f018000b0c4e6d1f20f02c0e27d04805b0019612e363f5a005a71d9ebf81100ef9e4e78e4b7015af9e06d3faf65efec3ae0bdf2dfeba7fcb9e8f123008c9ef13aa0d504c812808d005effdbacb004108557ad9fd26d80694fcbecefa9f2
57eb2ffdfbbc2766ba6b24efa724006acf45dbdfdb6d80c41f7b00d804b5340b2c6887005800d2b72624205f026a550023005802b06480a3c53f15008bf759026009c0b907c448b3c32d81ec45000cc3f0c47e9c6e074c7f777a335feac75a3fa50a40ed
b968fb54009622fa6a87002001ba2a10ad26402a007d2700dbe8fd09b055fee71580ad27e07c0fc0d6f61100b6084000200010003bfc0edd16e6c75b83578f7f2f0220bde9a70a40bea6bf14c75a3fb53d005bd947002cf52815804396406cee3fde1b10
15001b038ef606601bfdf1f85fda03b0d5049c57006ac261a9bf6afdf015c05224dfdb1d2dfecfc3e5643a0930872d9d0498fe3ff7aadf17312be1a6be0b60ed75c0f8fffae66ff8bf2ffe730e80761320f967d174516cb436ff2200d6e17ff23a0001b0
12f8e9712ffe31d64f6efff76ebf15fe230010006b6271eff987eb80d7783fe0d9562a000143a10b103023a0e67f5a02cb4bfee681381fc837fd39bb713fa6de03c075e46ed7853c88000881d1df893a0112807edff1e47a04d4fc4700b4510158cf247a
f02070b65e07eb31f2f5ccbce9c4788fb8d75efe5cabf65b498097c71805f5affdb48a7f7e8be1a74060fcaf0384c62cfee1ffe5898b2afec05f8bbf3aff2000a6a33a094004c0a7267f0470f9058009483b0181bf16ffe604407a53894e8647fb7cc28a
4fabdf415b3f03b48e3bb5c7ffbe2374bd78972a60d65b2c3f6dbfb509a8b7fc07feef02a037ffffa800f40640aec0b61e3f01d87700aaf9a7b60fffb5fc077f2dfeeaf84300644b000880f48e18f5eef7ea870a001580270f265ab5f21960ef15300400
02e07910505a03df7a02542b20b57d02b0ef0054f34f6d1ffe6bf90ffe5afcd5f14705800a000210012c7b016002d24e40e0afc51f01209e80d50e2000fb0e4035ffd4f6e1bf96ffe0afc55f1d7f5400c4028400ec3b00d509406d1ffe6bf90ffe5afcd5
f187004000b004c012004b00d34158bded8142002000980084130001d87700aadf00d4f6e1bf96ffe0afc55f1d7f5400a80020008502509d00d4f69980b41310f86bf157c7df7c1910f7982fbbc73ceaebf856be835e7b1fb7178fbd5fa3e91d777a8ef1
5f9f50a827a0def90ffed33925a326ffcf27a58aec2300260fa8041001d87700aa1380da3efcd7f21ffcb5f8abe38feb80d7becaad7cbe95005c390c1e07011702f0df055bd843e01f06e52e3b420088dd46008a1d80792902f05f0a7f334b305a14fab5
7ebe5f87e726b0a53fdc6bfefbbde6b56b1d4bb8a913607e167a8d07f8dfe7ff1aae4bff7daff8c3ffa51efebb9dd7ffe0afc53fc67af95aeddafc53b28f00307a86006402fca2ccf878e19036f37903d048bff952a5bdd96702b27afaf7f6e41ff24f64
fe39df868bab02d0dabde2eacf296af64bb7e1b55601a81d84c2ad7edceaf79580acf10fff630500f8bff02c09f05a1ef37ae368f90f016064829700244023d085e65efc63ac73adb1177ff81fc340f047807b04787109800a802d300940023032006dec
dbaf004100583dfdf7120015002a001115102a00c6b84400200010002c01582760639a293627ff907f22f30f02c0189904200118198046facd9b009980acc8fdde3eff0aa6b676ec8dff98bfd65f01a20213e381bdfa9f258018ffbb13300118e380a305
a01595bd8e1ffe5b3dcd12c06f08ec95ff31def70b4004409007bc042401c638c08b7f8cf5f800b4fe5d7b1d3ffcb77a1a018000f8894074fcb304608c4baf03488046a00bcdbdf8c758470078f187ff310c047f96202397201100c6b8240009c0c80034
d2cfbd0465b5536a0ffff7c97f04584c0478f91f633dfe05040160f48c970004a011682a00bf22e0e55f0cfafe0404ff633ce0f53ff86bf18fb1ee8fbfe21e80e172329d049877c4bde6af7bcdd3cfd26b85136eea9300d7de878eff7dfe8f4a087bc51f
fec730c0eb7ff0d7e21f63fddf4988d6f927b53f2300d6b982006402f408c075acfbf7b4977f6afb4c40311ef0fa1ffcb5f8c7580f1000e90d30ea0fa21f1b02ad54006c7f35ad41200601f81f83a3b717f0f722778ce7ce0800ad2309402dfe58d72200
ffc15f8b40dfd6ff07e2420a34ed45053c0000000049454e44ae426082
'*** 09.05:
5th_row_b.png.txt '(5110 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000200000000200806000000644bc0e5000000017352474200aece1ce90000042549444154785eed9ded71f320108451272ac5a5a81497a2525c8a3a4926c67262470cdce99213ba277f3cef3b08c4b2bb2ce8
6bb85eaf1f29a5342eb7af9f3ffb5b96e55ef7edf13b5ea6fbbfc771ccbf41db9fe779f833d01b2a66fc63f32fbafea2f71fff89adff8109c0970008d017ffe81300fd8fcd3ffc27f6f8ff0a00eb4abd61f1282ab2d69bf701522aed00446bff68028c86
fffb0448ff57858ae45d2d8cfe33ae47f33ffce7350044d33f01e0ed12c47f130001c616200184f1ff790914ff218056d3b4a2402980130008002ff780fcb701310132017a4e80d1f9c70224b6fe0800040002c08f9b500940acc0140bacea2147bd0442
0020003001384e000830b600a3af40e9bf2ffff11f5ffcbdf9cf0e003b000440c700e86d00b41f7b022000c41e7f0200018000400078be87834b20b12e81100008004c008e1300028c2d4056e08cbfe74d90f84f6cfeb103c00e0001d031001200621bb0
f7f8130062f38f00400020001000b804f0781579b44b200480e001609aa6fb04b0dce6eaa32c9605d63701ae75466ddf5b808c7f666054fe45d75ff4fee33fb1f53f3001f8120001fae21f7d02a0ffb1f987ffc41eff6700b05cdd53573b02471160fb19
53120440e02c08e03f6719495d3f08003adccc8e4280665052110880801001fc4708d8c98a0ff374b9df03d0fab7de24735bf2f3b2a5affab5d6272dd76bfba5f3f616a0f473d0bde22fe559a93cfdcfba47ff7df91ffe63e30067d33f0140c80b2d0110
a010e842712dfe36ada744fb04801e0310fe63e30067d3ff70bd8caa1d80a37dd7dafb79da5afba58f811c6d07a0f618d4513f6a52c3df46fedf0100fe67444b3b80351e69c703fe65e649f987ff6819f77adcd9f8470010f2424b00042804bab2032035
409bd609005afe83bf0d025afcf11f5ffc6d5ab7f71f0280706410a06e052284b9585c8b3feddb2000fe7df29f0000ffb71020000879a135400428049a1d804d04b4fcb341df7e05223d2ffaaf0b20f88f9469dbe5cfc63f028090175a02204021d00400
02c006025afdd9b0afdf0084ffd830e06cfc23000879a125000214024d00200010007e2180ffe876406cdca7df0058ea3f0140c80c048800bf28c34d8859383c0530651c9c3f2a566b9f0588d0e8832c400800425e10000800040002506f01900020347a
02408c9b20a4b420001000080004000280d439b7cbbfbf89b4f6fe08adffda9c2d97009e6f42eb4d00de042081db8c000640002380c90318fe83ff6c21305cc6247a13e07b25eb35c0f5fff9aefadcc4b41537ef3701eefd1c34e39faf01c3ff8c00fa6f
d37f93493414d2ea0fff6900b7a18816ff86aa9b8aec6d9f00d00473b990760010e04ee01f876bf1b769fdfb2638020001a0a70084ffd83840effec3e7806d78a0aee5283b00ea0e7020088040b708e03fdd0e9dc98913004c60d4578200f5d871240880
c03e04f09f7df8f57ef427b28a61139d2e9fae0000000049454e44ae426082
*** 09.06:
2022-07-01 11_42_28-Window_b.png.txt '(894 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000174494441545847cd57fdbdc32008b49b641447c9288c92511c259bb4bf27392354032fef83e61f9b06f1380ed447f23f4fbf69
b57c78ec5d4687a3300075e19c73c5718eab08b094adbe9752c46831e161200c405d98888ec865c4567ec108e6cf98b862e0df01089121d7449cdbbb0f1133076d747e6af03d0361007e44f57799d1daf862e03300fc56ce2d46b4261a03e100ba7abdac
7be4701669cee37ea1e761bd370dc0b1d79106e29df706604ddceb771eda83d40ceaf832ddb3790b6f15694bfca331100ea024993bcafbb083813acd888e18df9bb8cb22994ddc611b03e10090823531523080bd00f5abdf1196654707035b6266a71a88
008020c4c1e32c472e0be4f42e03f0d76967bc1b42341100864c68355f167ff751cfd391c374742212a90807609d82cf54dd3b259b0c8401405f5808f70119e1a676bdf5b8179c6ae74eb713f77cd4bd3e1d4f19f81800684c5afde868f8dfb2bbcd80e5
f82f00887ee0ad7b87ddf01264de8c1c8ebd26c3b55e60ae3a24e7bb09d50000000049454e44ae426082
'*** 09.07:
2022-07-01 11_44_03-Window_b.png.txt '(894 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000174494441545847cd57fdbdc32008b49b641447c9288c92511c259bb4bf27392354032fef83e61f9b06f1380ed447f23f4fbf69
b57c78ec5d4687a3300075e19c73c5718eab08b094adbe9752c46831e161200c405d98888ec865c4567ec108e6cf98b862e0df01089121d7449cdbbb0f1133076d747e6af03d0361007e44f57799d1daf862e03300fc56ce2d46b4261a03e100ba7abdac
7be4701669cee37ea1e761bd370dc0b1d79106e29df706604ddceb771eda83d40ceaf832ddb3790b6f15694bfca331100ea024993bcafbb083813acd888e18df9bb8cb22994ddc611b03e10090823531523080bd00f5abdf1196654707035b6266a71a88
008020c4c1e32c472e0be4f42e03f0d76967bc1b42341100864c68355f167ff751cfd391c374742212a90807609d82cf54dd3b259b0c8401405f5808f70119e1a676bdf5b8179c6ae74eb713f77cd4bd3e1d4f19f81800684c5afde868f8dfb2bbcd80e5
f82f00887ee0ad7b87ddf01264de8c1c8ebd26c3b55e60ae3a24e7bb09d50000000049454e44ae426082
'*** 09.08:
2022-07-01 11_46_04-Window_b.png.txt '(878 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce90000016c494441545847cd57dbb50221101b3bb1144ad95228654ba1143bd12363d4090ce0bdc71df9c107ec262113e024ebedba3ed4
8c3c8de60dffa4896100ea8b534a15cfabdfbac44ad9ebefa514d38b4897ec8a026100ea8b73ce0fe67dc6335f40113c8795182970380063b2ff326765725605e10d28f1ae40180063b29cd5c5df6aec89bb02bf0500cc67f5fe5785a60a840300f31790
71fd8391a7484a70bff516aaacf1401880228a74974bed2f1afd4df673d6cfbcc084788f782a100e6013a5bcc9d9904aa26bc74cd8ac6086716f89679ed74bc29a03910080b00fa4e86ec80dd98ee4f4beb322673d26c82efaa1d90b1a258e06305b6bd4
f5a70aa4acd5f5f4cec35b8d0291008c173c377b00677980b54795a1ba7a2722b33b72391d0e80eb1d1e60c64848cefecee918532bf9a9026100508e00c009c97b86e7014e3e1ee72af073003c8648b441157c7c3734913c2baf6f0030793003e0ddf916
e6357b01cf59bd0dafdc2f5d3c376acd14229a6e32810000000049454e44ae426082
'*** 09.09:
2022-07-01 11_47_08-Window_b.png.txt '(872 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000169494441545847dd57ed1583200c8c9b380aa3380aa3380aa3b849fb9af4b04402f8da9abefac7874df1eef2713251ffbaf543
aa11d3c8ff4682dc00f08b43084c64bf2f556229adfc3ca554dc89a849b2f5a31b007e718cf1c9bcceb8975f28827d2c256a0ab80128248f5172faee5551025b32f95705dc007c44f251a562949a42b73c14f86f007a3e40a9cb14380d00084340aedadd
8038ab0600403337157003a067be46dcab72ed155afa592c82169a65c292289bbbc01300c8158348330640e44eaf757c76452abd64a58d43571249cc4978250066be90f8fe26b7ecff60026fc024b3d6875a09e2aa9a39c8e71a70079054ae52946a3dab
8035782a5d95dd9053f03300902bd442afffadeac7f34ab7141f417991686125dc00c09635726bc2591ed0331ffd6d7898039e00743a9b9311c17ac6e33952b9af9f66a0ce09c3e702ab18bf09a0f0080b000658af5b30fb5b3560edd13c1b5e01a0476e
f4f05a4df7c8e9f8ab00eef7df3026c77899fe0000000049454e44ae426082
'*** 09.10:
2022-07-05 10_59_57-left_run_32_b.png.txt '(982bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce9000001a0494441545847cd57dbadc3200c7537c9288cc2281e855118854dee55b00f8d5d08a8524bfb8342209c87b1dd07cd7f7ff325
dd158f957d2b8bb601a80787102a91e718bbc4724e753ee76c4622ba2579f7721b807a30332bf33ee399bf5004df1929d153601b807783cd888158619698601605111b97c595fc55816d008ce417cfba36a724cc621466fe199b722eca5cd63fe7ed2d39
15f80d00f0aee3d56dc07b057c0cf8fce095680a6c07e0bdf7cff1382a781d88d5632f8fcf1f50603906b0f09b0070a6b986b0e42812cd3188028d89ceeb403121ba6d4df0cc97f3c00e00de4eb99e8e79b3c8c50000fb8f5c6e55b7f04dabe10e00a60c
8ff2c2ac4f58ed0f86d57096173e0e60d60fa460fb8483a573c22fe8fb595ff0763ff00900d5fb43ab5cd1aad7a2de35462509e3482e3fb03ccfaa2a5a81977e600780ca3c92304a2419cd3380a750c45b80f9a2a130ca0b85e5fb38a755c39f01004fb3
7ae933db28b77bc6fe1604969a9208a328f1a2c00e0020656261c41cde8dde3785c85e9b93b9dbdbef8a110b3b0018256e18aefca13db78fda7cb37f9809bf05e01f0ace5026de3f9e7a0000000049454e44ae426082
'*** 09.11:
2022-07-05 11_01_47-left_run_32_b.png.txt '(920bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000181494441545847cd56db71c4200cd475e252288552540aa5508a3b49260871d60eaf7392d3f987b101b3bb5a493c68fd7cad97
74573c76f6ed2c7203500e0e211422cf317689e59ccaf79cb31989684a7236e906a01ccccc95799ff12abeaa88fe67a4444f01370077cd66c450af308b27984541f5c66571217f55c00d8091fc12b36e98531266310a337cd74d399f95b9ac7f7eb759f2
a3c06700d0d8756235353c2a801ec0fa804a3405dc0160ecf13d1e47015f07e21a639407eb872ab0ed015df84e007aa649430dc9718a9b6310051a93fabd0e1493badbf60464be5d073c006038253d81790b11784001e34f2e59d56d7ccb6ee801c0b4e1
515d1855cc106cf7ecf402437ad80d5775e1df01ecde0730cf5181d5bde0d7f781bf0450621f49ee808924af9bebe16254db7d9bd77da3c671f9dfd0039f05e0605162f468ac31c699ac5489a492beac800700256b2e28a8c0c9d61b087472a3daae846e
008c0923d9eea74a684c47f3a8d86d0f7800301e98a6c0bdc9d73c70ef8ce9ae2e806fd3e4322a50b697c60000000049454e44ae426082
'*** 09.12:
2022-07-05 11_03_35-left_run_32_b.png.txt '(962bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000196494441545847cd57d11583200c4c3771144661948cc2288ce226ed2b21d1dc03a1fd10f9e189a077974b80178ddb7b3ca539
e335b36e66d23200e5c7218442e4e8639358cea98ce79c5d4f449724af5e2e03507ecccc95799bf128beaa887ea7a7444b816500fe359b1343bdc22c9e601605d51ba7c985fc598165009ce4a79835c39c92308b5198e1b32eca79afcc65fe31eeb3e4ab
c0330068ec1ab1ba343c2a801ec0fa804a9802cb0160ecf1396e5b015f3be21a639407eb872a30ed019d783b0064a221d97671730ca28031a9e3b5a398d4dd7e4f40e6f81ff3c04a003d974b7a02730b11784015c38ff52aa0ce1bee86770270a5789496
bd8a1982df3d350b028b97025965bcde0bee0450986702e42cae47463dc360bedbba20e70a6d89448944923596058f018008cdf57030aadb7d4f101b8f24674a6c5d05560050702e0b46e7025dd473bdbe6f9c925d09e89e885600c030358fe53b8b7bb5
c57a1f3818ff763f185642bc98dc09c07903dd1cc9ef8e6ade23df4da9bf6f468f01d0cc92610118dc095d2a4c7cec3be5d77bc3cccd9b3e467540242b3ec5bc0000000049454e44ae426082
'*** 09.13:
2022-07-05 11_06_50-right_run_32_b.png.txt '(926bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000184494441545847cd57ed9584200c643bb1144aa194944229946227776f4966351130ebbd13f9e30741668609c457f0b71f7fa8
8a7c8dc60d3bcdc06900eac431c68a67bba626b152727d5f4a51d7104293ac47816900eac44424ccdb8ccf7c0145f01dabc44881db01289361ad89784d895801aced1973477f25bf57601a80a6c9c02046661ee3a248e5cccaa4c4fdf6b9a700bc80eb5b
816701d89823ef99a1f58097b15502de82970e0a4c070084d6038d7c56e4483cb2aefc3ae346a276fb8028cafb8bdb03ff09004c9a69d85b929cd8238b2447c48d0cc885a558e57d63fff0ed037702b08655e9693b2d2378c0c6912871e5349c06404d8c
b300cc60c603533935cff2de731a3e0340af0eb00ae0ace8edfd57ea81611d701b801438cf7b2d07aef9d0a45cd89ef9b0fc347c6f37eeb00f20b82af0180029e83a20065448ba56ec650758adc48a7dadc00c006a29cef21dcc10b750db3b97abe21900
9409ed12f4b3824fbf5e7c0edcff670fdc0160e881fecee0ee513f43a77f46eecffa03d59cbf5106122abf695ad80000000049454e44ae426082
'*** 09.14:
2022-07-05 11_10_58-right_run_32_b.png.txt '(942bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce90000018c494441545847cd57ed95c3200c7337c9281e85513c0aa3304a36b97bc5561a5c08eebb6b69fe90f01124211bb851fcf98977
6d7adeaec65d36ba81cb00d48999b9e27994a94bac945ceb4b294d49445db211059601a8138b8831ef339ef9028ae03f5e892b053e0ea03119d65a44d7544415c0dace9807da2bf9b302cb00744d0606ccca9c796b48e5accaa4a4edfe7ba400bc80f2ae
c07701783047dc2b43ef812863af04bc052f3d29b01c00107a0f74e2b92127e6917dd7ea8c17eb75ca03a6a8e697b007de0e60b456a325c9493db25970305e6c402e2ac56ef5a3fc7128b012809fbb9b907c27cf081ef0fdc4947865375c06a04e5cc872
bee8e222138219ccf8c4d476cd59dc9fdafb7bc10a009579227575a236e753d178f5ccbd329eb9578cc512843530e95e7244c1d700f04c32e9d96ef6d871e1e866c788e3db131c2ab00200e6ec86df686f984545204a6227a24f02f0a043c7f16c27260c
de44a3e93fee05cb0134de808b51e9f345a636ce4fd1f3e7bb6193a85600e846c92c2f8c763f3f2e72377c2b805f3e9a1024f02dadff0000000049454e44ae426082
'*** 09.15:
2022-07-05 11_12_00-right_run_32_b.png.txt '(986bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce9000001a2494441545847cd57ed1583200ca49b380aa3304a466114466193f695e46c1301f3fa9e45ffa0f2e1dd7149f011fcd7d33f54
8d7ccce64d3bcdc46500da87638c0dcfa74d5d62a5e4f6be94a2da104297ac47816500da87894898f7199ff9028a601dabc44c81bf035026c35e13f19e12b102d8db33e68efe46fe5b816500ba2603831899798c9b2295332b9312f7dbe79102f002dab7
02f702f0618eb86786d6035ec65609780b5e3a28b01c00105a0f74e2599123f148adfc3ae346467de5015194f38bdb03570200936e188eb62427f6c826c111712313726129aabcefe40f5f1ef827006b58159eb6d3328207ec3812257ea986cb00b8caef
a4ee2b116cdc7baae13d00d8730018835e253ef1e04a72123a7a05d594e3deadc00a00d343e70e8824d521de033f6f492b22c7885d904daa66952a0a2586e7814338e168760180c63c05c96cc4ed28ee374d74e801eb192888efe4c00bedb5e0360052e0
e45e885b9c882c239b096d15b50a46d9ba2c9e192ab00200c02a2f00083a63e0783ebbb095a371603e8c022cb0028052a2c3c0f31bf79e76f613abd6e92d3a5ae012002f94a23626184d12d50000000049454e44ae426082
'*** 09.16:
2022-07-05 11_15_43-stand_b.png.txt '(992bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce9000001a5494441545847cd56c111c3200ca39b641446611446611446c926ed155b243626d0bb5e483f2d890bb22c64bfdcfce73d1f5a
225f33f15341bcd13200e560ef7dc1717c079160cea9ac73cee27bc4c40c03cb009483638c9cb9cc78545f3082fff798b862e076004264a8356a3acab8f7fe629f92fc998165004caabddfa6924e89d41f026944afb149ce3bdf0e8a8736be0c3c03006a
1523105246bf6a403330dab732300a9caa875182d1be4d097090f7c4408c361361931a493bd5f8f83f392718852fe07d57032b00e04cf31a6e9c1912f6fc23eb8cd573bcdef19c7bc489a4391fb81dc0c9bbc57d0572d43e289f487ccfb5162ef6b31958
01c06cb75a8c17fdbe84f6e605ad7e3d2f343e808d6e07901d7bb993f739f0a4a38d486706dfd07189fda46ac8917f78478e5b19780c00204dcc447234e3e9bece065913e616d2c405478e1838f35ada1e032b00082704623cdc22a6617b0ad662c51a1a
d92331782456d7b60fac042098d06d74a8eece6d31baa91884ada9581813dae91d00cac13dd53600b45f2895f7e271ab30103753f14a0042033a833faee734f0c703f55602c007aaa360243380f11e0000000049454e44ae426082
'*** 09.17:
2022-07-05 11_16_33-stand_look_left_b.png.txt '(976bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce90000019d494441545847cd57d1b1c42008e43a492996622996622996924eeee6044cd86074e6dd3c931f2706755916302f1a3fefb189
6bf19a593763b40c403d3884501d39c6e83a564aaef3a5143312d1ad93771f9701a807a794c473dfe3517c9511dda7c784c7c033008c3cec7d57ada4c49a488919546d9cd655e7bb0cac0050a92fc48833ed32b2aaf5c9993d8b51ece05ded4ae1f5aa85
63de66c999816500eac19138df9ba7643def850419410d607d4026be0c3c0bc02e44a06ae3b655f0325092182333583f663460185806e054b18c53bbaa3c30032d863bab5c068a59d56d7b02c6fcb445ab03a6f221a5ff0600bb1e32821a50cf5bd6c004
eea776d81b5a16ac04a0e0dcf6ebf477b724f4bae74c163c06800b44bb1a7a82348460ef0d6abf27ce8e489c4581384bb41176bb61afa4bafcd72bdbef001826f4a58974b33d42da7ebb3362de6b8f5106da7ec2c4f04eb81cc0a8b61f00ef4380a1cbd2
6d870cac0060ea8166c1c503105d94ff829e9d7aecf5025cb30c8069cba8da6b0cb91bea336b7f62e2722b5e0ec0cdff5ee1f9c3bc11fecfff0b268099333fd9f85a24da620f4c0000000049454e44ae426082
'*** 09.18:
2022-07-05 11_17_24-stand_look_right_b.png.txt '(960bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000195494441545847cd56dbb5c3200c7337c9281e855118855118259bb4a7d822b50384de7b5ada9fe6059164c9f18de67ff7f947
cd93b7d1bae14db7701980f262662e788effd02496732ad773cee69f889a6467145806a0bc38c6a8ccdb8caf7c0145b08f5762a4c0d7011893a1d6314a4d63140550db2be683fb86f4ebc932004d938101b33067dea648a7248a8520eb02497a02c97a26
b90f2f3c15f82d000773e45e98fcd50350240755c6297152603900b8df7ba09167e389e83c12f36eee63df4d1a242592839a0266365ef83a0098d15bbdf70d48413cb269381807ba41520576bdee954567ecf681b317ac293f06c0336e7cd524d78e314e
772d7dc281320163bfdf49811500a61a114a7295865ee97af3c17427fc2400ec5d94c8249d2f9114738bd67c1e884f8d8f6fa3838ebf862b0018e6600005d0b17c8e51531d13aa107917c51a73437726fc0d00f86efb9abeeb01cc0f57b320de5353b012
8049014eea24a373be5726e9a4549fef3cf7760a9603f0335c2fe748c901783c33fa54bdce84a6042b0134bdd053e01fd7bb9d70098007cce83428410b98fc0000000049454e44ae426082
'*** 09.19:
Angel_01b.png.txt '(1062bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d49484452000000200000002c080600000004b8ba8f000000017352474200aece1ce9000001c7494441545847ed57db9585200cdcdb89a5500aa5a4144aa1143bd93d0b8e9a082478d69bfbb1fe78d41027c3e4c1ebcb7e7d
db4d8be5cb626f32da1cb901283f26224b40bbcdc97e18a485013700e5c721841215ee4434044d44655dceb9acc3bda78991337700d84fb605cbb20cb5b0ae6bf9fe98063c0030262652c122705bb1f0ae031341cf9b9a689a776b5f3103c0ad14bb8bb0
599042888ce79c13ab7c5a05c462cb16b80160155046acc90c8c681551ed0570f00e004ce5e87ea7bdd4826e7e1ff829c19f197003d0dceb10c65d0fe1a654d51f63cd0af90cbb9c6b9794daf865e033001c134f8d88a84634ab01c980e677674033b42a
f03680ded4db7b1fc56494b6494802d5fc5e346075f06700524a2cfd40e131d556f5a658a7e3b865471611878d91b4a93da63a15239bb0c5c896bd17b803401a227299df320b403d98d8edb7c8a5167a9183895d039e00d8c0214f4268428deed6cc4cd9
bcb439e1d20b3c0098060e6b21ead9f598b854c283013e72fd0378920196057890cde92e804157b54d4444b53ddfbda601f4d2500300951f0c629e189f17cc75e0ed0034ea65c43d80a8a48dad686bc02abe270034b341a3fec67776186a9d8c668fe1b3
18d83f7f008e1185eecc417fdb0000000049454e44ae426082
'*** 09.20:
Angel_03b.png.txt '(1072bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d49484452000000200000002c080600000004b8ba8f000000017352474200aece1ce9000001cc494441545847cd57db71c4200c8c3bb952288552540aa5508a3b4926c0fa2c1990f02427fbc773672156cbeac1f6657fbeed
a6c572b3d89b8c9a233700656322b20474d89ceca7415a18700350360e2194a8f026a22968222aeb72ce651dde234dcc9cb903c079b22378bd5e532decfb5ebeff9b063c0030261652c122705bb1f0ae030b41af9b9a685a776b5fb102c0ad14bb8bb05b
9042888ce79c13ab7c5a05c462cb11b80160155046acc90c8c681551ed0570f009004ce5e87ea7b3d482ee7e9ff829c19f197003d03deb10e65d0fe1a654d51f63cd0af91b7639d72e29b5f1cbc03300bc279e1a11518d6855039201cdefc180666855e0
6d00a3a977f47f1493516a939004aaf9bd68c0eae02f01b06623f316ea4db14ec7b16547161187c6486a6a8fa94ec5c8a64e3de8d7010f00250d211e99df320b403d9838ec5be4520b08087502f6f87d68c00d404a8995600079df88500f501fe67744d9
bce49c2099d81e036014b9b500697623260e06dc00a019c95bf0ea00b2ca00b2ebd20ba4f834c7d6efa3a1551d4888aafaef3e93ae6a9b883e0ee0ae164031988286b4fbc2e5081e0340a35e463cd20898e86861de0d3d00b0b9e0aeea0debd865a87733
5abd861bf664266ccf1fb39a89aefa0a21c00000000049454e44ae426082
'*** 09.21:
empty 512x464 and all y and x.png.zip.txt '(15118bytes...1st byte:50, last bytes:1c 00 00 00 00)
504b03041400000008007473ee54e3d68ceb741c00005135000021000000656d707479203531327834363420616e6420616c6c207920616e6420782e706e67ed5a7b38546918ffcecc340825954b9390e822612b2a69a6cb92b564a9542e33b15baceb66
a54d9ca3b68d4a54ebb22533bba956c564c9ad98a9c8eeda725b1132a3562e23a3cc188699b3df61efbbb597fff679ea9fa6d3f31cf37edffbbebf9b04375747cdc9b3260300349d366e700780043f22b5aa54f857536efd46e25f11ee8eeb40eefdd93d
001801a70d6b37eff37df6a82345c4ff60316be1f4c38fdd661c5dffc18229959fdd8c32d2bed16c8cf57684a7fd30d060b8fd92266bbb878fcfecf65963834c5c29c347abe8cae74928de845ae052291b57f0f0d11a5c8136e1fd395cdb1de2c1274fcf
e21f88150d82ae115d8a10edb0563e33e1e04bc6ba1b6de5116b0cbbc5d1dd62ba3e2031802620d7ea1a31015dac3e908804f0ac0b055afb459798bcbd7bf5f68bd9ca35357447a30edb1d47e863d17b5912bcc6c05c211b54df6149efae5949d2600c4e
77b4bce57e682e0709000fd08375a8063fd5c289e9714ea9a3c9e729a5dc4778cd4c61b4a87152b14cd9231e1c6b019fd095626b53a9e765115de169cd9774ad940f5e27b390cc7ce0c4701451d2c174e14df25abc5b307f96d0929c4c3dbc8a62041055
06200d1af1c177f9a96bd4261e708ef3e9f828aaeca277812cefa0cbdc4d9fdaa5d97183571e3b97702ee4a35312d3c69e9a4988dc198d96a421c55fa450cc1ad5b490b97c6a32120c641ac2bda16dd1564d65835d6c5c2ac0156c034c4a5fb8f5646fa0
d8d887be433616417178eed274c750694f5a30347f68b7727598f20dd01401f438eaa440fea555643eb00255aa594afd1c584d53037a842a6cdff6760a266ba7573e5ecd7b000674a35bfcdfeae56e6e42e5dc37b0ee9aa0eea9e4da6bcbd5bc2f4f6790
3682415b1659b89ccab8e1ee24703fa72c4b53262066772faf07242d0c50cc3660487af83b31f35419c403c63ae1d3f9d8790be39290926716b6ee8bdf686c8a4e704970d912fbc6e774c911e5019364c9f2c6263b6be0321943e409fcb292ef1721fa80
8a215fe3bb0e227e58ec1d104903253e258f2ca655a6dee41ee8b8b38ab35f6a1cf2ce8917e63ee2912ed579630ea20174895283c1122eb8d5209d252cd104e8b0ac8f2199355b8186264b0511a3dc6050b1b762efd09767fcd666fbce046377e86337de
34226e95d70232b7a07ad8e329fcabf09ed816e08140eeb997d12dc8a07a6b582de4fc749dac75143d4c4db7d1f120187f308ff22d97ec1b36afd0b470cbc3376678697bb5bc9857b90eb692b7168727919d945703efba798cb4bbabbe554c679182813e
5fe36b6f6ad668243fd0d9b8d2d74194899ee02f28efd93f7c87d7458b6fce88585f78c0497eaa57d29527bf0396cd47e672dafaebfd1c555ab5385593ddb86b31fa987ead3fa57eec7dd1232e39d786d3fc7546de3411733a6bac0ab7bf98e51d3bd1a5
8c2d8a9d60d6b2e5c2f75484f10c4a3cb077c75aa27be80a4754e98a5682860d1e4726aa783b1e90ad3abe906fd4c28807711ff3d390e4d6d4d6f653a695733d62cad29a6bbdf33edfeb53e9802acf3fdc1afedc1037a77f661f44f4d50c7ebe8e7023a3
017389240f1f0488199fbb982f47050cd318e748b967038f46aea5553be51d2a987432d730275ab992747ef8a2a8632a9e89bc8d66d0ae753ad7a76dbe44ef52b502f7a600642e83d24d8b9b772ddb15d3675007f4e2bea79f977e8f32a99c33b4e0b005
852685f9e1eb82c3e9b2cc5956d29a80478341e474e5caa29d490bf36586e4f0478811a008a74f626d16d64b3554c9ee0f110eafa68e69cdcf72ebfda93cb5692c60e6bdd9508d34fe20596b016fcab6bedba23dba6f7c13531d63b93ac03fff4a6dbccf
519fad856395b9cc276dfa54e1b70fde0d773f077cb5ac8006200bf59012b404b7279f7bea7c59608796325532fcd402abff38825446dfd6bebdd5695996d9aea85c720429be08b6366bdf723740465503801ea0f26d494e4c3844b5ec39e476c52a569e
61097e98b507df830736f7359e8e3dfea041b06c3ffe61595713f55ab320c20fb540f5b14fb8d9b73cce012dec28793ec635c69eedb8a0748d54707141365e093caafe6616ad4bee357d1d922b3aed679cdddede15bfc0cfd9cf59dd56c2530adedf307e
1dba944c83b3bbc09919802c998ec05164013d236ab82bb939045414561416ea18579e72b70f79e782c8f1372d8c6bc455b0ebe497069310550d3dd36da5ca06b5ee411a2cd39ae4447710c9c5f9e363985a913ab4c3b4f20bf7b2458ce123e870d431c6
f8ba594eb6baa2b4029506d876350658e305aef2a4dc3e7e2d6fa566b11ecb9d11395107ff63d82dd3975c4ea220e30f36aa7eca54b9d9defdb0e4cd1a59e9c36f532f34d767e499c2f390e2d6a4b2bc10aaf0e88543e64b6eefd960441d388821ef027d
46128d91935bcb564438c63aa337e00516ce70f05fd8b3ff37e841e544accfa07dd5a9ae1859298c1e7d5227af2626d2ece09afd48a60ba8114f0f10d5006b86d400f38df99cd745eda893372856097b0d8d6cded81d5c216fa21a299fe0733cdc97d01b
a56ce515bddacbb03ccd33b3061e3392543760aab52693be84fbb301957489259e1a562ecb5e5ae2017d501258d263b1fda7157a2fe11e5ca19c5f57e81562d9780038e9d3383c5d4efb21e71d3b4fd3f0d6b6156396aaabdf07f4b3b82d95117cde52c7
acf045515e8a6fec458b6b05b1e72361c5ac19820fedc73a04f9e4c62b96e2fb742ae72132bc8c348f94f440cd0a0e7595eaf121cf525fbc87b79452aec1586edbdcfe76b063f0ee8e8f9b85b1fd658bf8f29a1224dadb497ea677d8732960b740508d54
117aa82553de2d70c554ddde5361e0d60c8d5a0b122f87e78705aecb7e598b72c65609b7fb4dad39e1b34f191bbcf0b979a3e7177651fc12720a7b76456c656cd16a623d8a2fd3e14fe8ac275d92dfd0e6286e88972f58834f42a81f233b1927a6157b32
bbc517b87362fadf9489b04ad71fda75e7e60a38f5fca00b46cf77176416de7410b3738949d586f5c3d55b85c5ecef3b3b3e9ef55a9c8843a7078cf910d59b78082a072f46d8d103def0451e8b3f5f052a622b62878a4f0da710951ac937c133f1a29c2a
cf92dfe881287975db0ee166d496343ba44e60677420965cfc1539dc9227611faad2895db9afcf5a252901b9987061cac4b5a66b2154d6ed37a5277f620b6a7167d9e044e1c79dbb3a7715b56dcccbd8cc14a7b853fcd6df77d956bc0eed9eaa187130ea
81b421caefe7e12437031b4c5f8b1aec4a7e0087d32693d60a21a248c7a2f20d0ffb9069178901658e3a9e77ec0ae533833f0aaa8dee2293b5660414dcaa97529241a671f2f0d21d55f4b13b3c7f8ac3a8b90fdea734a7813c83920efbaf2e6edb7ad993
06f081a978e8b48d8a945e397717d8dd6848e51493adcc1155fe6e754c5aa44c310072db4b882ef9edc95fbeb4b01722ac89f64d48f4a3c0f7aadd8203ee37272b9b7039ae171775cc652968ba7e754e0603a81921198ea0d5d2c691d4af5e0b79906d9a
3292376545c8c2ace63bc4b6c7039c42875f68deb4d53d3b9c800e37f983e73525065ee5f3629ca48e2278011994e126f55a73ad2433ac4ba636630c12094e39f9fb2b9612d918ebbca36813bcc72b28f61368d2b0e1243cfa6da792b171b2e3c7b84280
6ec0fb0c318db9a023e649d247827de65bb379ee8fc03260b812448faca4e115a0e1e8cb376c35f83aa43a24ec9b537e27b3cbdb9d8303729bdd6ee4fa41fe71ec2eae4e92e3d747d9b0d1887d1a8fc81d8cf46f6eb6059a0caa50aa599b8868b5761f3b
9c903316127c218d1da8be384700abae99a65769eb33151d668f5f161aa9b48660c910634e948f2249593cb4a07f10b28b03c7f901e805115c3476ebe1d7d81c71e8d93dc8789eeab8c6c365716167bee726b9f58e4d6843b7a2419ac9a4f19fd644dcbf
c702b97640757836c90c31c8816ff17e18570befc556a3f78a28498fb5c3f8554b77f150c4480eb37f7bff471d6b69341f9a4bffc8f5881a47c5598945630e9cc731d452092ff7be8b66662f05035a0cc83e0f7091e6dea132ea731f290ff220bff97bc4
ad617ca781168b2f2178ec6f7931ab0c2d6d87456f1c4e7c0089c2528ac3484a2e6aabb426e8466978609c87e291aab08dac420f597976f85cef7018a0f12718ad6c88393ea757e42af18fe21ff57d600af7c773ae0d2661c3255ba44ab4495403ecdfed
7905fc6c65286545cb17bc28c6f01835bc93262c1bab47a7ccf11aee14e655cd5e6d464d374b7d29f10b8d25ad68d11e2af5e6563fda6332ce933cdf9ad646ab7e7ea06bebe2d911a14722ec74e6ac287ad235b6439a8604b8038dda4d140d610ce24235
69d487645c83d376a053707c9824b763326e6862cde9cdcd853bf155850751888902d56ede60c476ed3581c7564356810e0dea63d748e7d53372511b64353e3b8ed8dce3a4d18afc1da0d78334f886136d03996e1788a155315276182a1fcd4d969b374a
99f7b0fb705f323e50616d853759a30344610a733b2d49982b7909357d869bc10415b2322669f03f3ed66bb276a2b9b5499d4d08d756bb755a6b76b0fed16763aec18e38649051c7b1e63dcce0cf90e23d4ea1adb7acd567ce9efd44987e5865ca8987f4
159f20e7aab1bde3437bfcee17f55262fb385fc11234133443f44f13df87ad143d8ce3d0b939f03b45681b21abe9dbee0048ac30b94e0132dc42be1615b3ab81d7df8478225ab4cf96daf82982a8007f8e262d5c98c6ee852b778bc63e82ae535d34bb63
9ea89bde0c1bb316d3c22a17412e4fc3a842131596257df71336ecde775e85a78424f9054f35efcda4bddfb425d83d780f44b51fa2ef9ae963419331a83ff438619453b79c23217500f0ac3d95f76ee73fad4944ba13df24062b8487ccbb652777b4bd6f
51ac67a5986f53f8ec6416373bb3106b90fe02ae31b7d948c05ea04a80a940755e9c93741ea3475e57dac51b02b37c041f9649e98e1333eb2810565cacb8e89effacd1a32fa8205379b16ef492c89e67837527454c8f5d6f28813cf728437ba06e156916
4811c0dd41ae0537dfc49499ecea53034e838e1a56c659af5ac395b1379744199f6e2b6a93dd26978865dfc5184ac3ea659b992a2e6f211f29cb63e71df050f88ee963e67bd4849b7951488ba83f44ab8667c4c07ec835c79f3ede5e228a1e3dab1c260d
d198fc52b805f61acb780a6a3a35d4fc6e02e4eb059dcbc7292bdb24798096334e84071afc051a7ce96c2c6519a5bb4d38efc0f849fc568642313327d1200bc2552355eb86f68d962793958ad0be8019f070945c4d86dc11d7b968055c78f0f022491bb0
455332c0741655a213070fdb151d25e893b5c34b3bd9968e14e8c6e7dcdc1a1ae1c39ea1fe9674688de3863ce503b4e393e68ca6f7c296cfed71bedcc056272d7c53da4af0bc8580da3d9fc473e1efb6c5baec6c857d5edacaa5fca534612879a0a7c489
2d101d2c22af0f760efed0ce8810a375bf15a33577d988aab95529bf47be7b3a7f903ece64c50f919ee52b24e2eb534f10086b9a77c1fe7302e2b9538c7eab45cf20197fa145c13fd5a236a636508b7e4a4ba3095eccebbcfd272dda5e54e6d6b1401602
a0beb222bf711611c51a84b7b86fcc4baa2b8537667534ac748e72403c429d6bf3b4edb80513529b558a8fae2aa13e73c254875b4ab69006b621dd06b50347e8e47dc719670ccf4b1d65ccdfc32af83dacf22f4fc02abf7a0a7f5a9caa16b23f0b5c97d5
a3f224e5d839e55148882ebeb4612dc94645164565a6ce47dfbc28dfcf7de8b7f4599736ad0df5b92ae51961f89ed114f67799cb51625885dbd585314fda6dcb55294a6ba1c6b02da947dde1f252ce72f27e7fb0df7fedc207c98546f5d2df31de41cd78
e50a5bd64f1aed3ed486670c0089a0e65099b1a0c85a8a6908ad49d9a883281bff89fabafd4a7ded97b37ad9f0e09aa8568a88d03b733c7689e9546129990154f9f327f3bfe45f10416e96f5159981b2cf43e2ebf4f9f7c613954d9fcb076f177fb9467b
e23a8d8cdd620dae351f6eea5cf2eea9e8b468e6bedabb3a9e9f9f841fb9c123c7caca1dfa5290e2af96eb676c9e8fe952340044d2150efc12c3fb8ae6a5b581907f960d5e8270ba3035b970f61f6af40715a195a14513bec2a54da81e3c2bd6618b698b
1ba75d4bc2c6d51d941084f53455d1632d8493a8337a7294a96a26b394b13fb9e76bdf531560af70392fdbd4141d1b028e29ece70f35bd80a0367c66d6ea4635807cb9229c343c8bd49cbba557bc996075e7e44c0dabc8ab7f839ea75b0f24b63d2d5db3
50e754efb39813f1730be7151684afc745788e0344ea4879c45ae1c3bc402ac709b162d0e1d5e811ae901fe85a863da232e0e805054d735fbcb0b141674b696c413f9cbde38fcfe642e556a3b5714c3f075d85eb617cec9d831744f473d81a1e2c73362c
d3bf20175f7303ff16bec1293890bbc57df1a2c62ba48f09d02d82fbe8ad48055430f9bd53c96e6d487a0ab413f227f1e55ef8b7533414671bb06388d9a4cd2f334e1823917c5162e6392fc901eed99ce0ed472deee97bd5e372266e68524b6bdd0572b7
ad2a7e3c77b123c50f58aaea31a0a9272946beef9dac78488ffaa1485234ee0bed5c967aeab7e2643758655b5162ec555ecb6693cb8be8737278046eb2e6769fd7153ea40c8cad892b546a6891370b90ee465d7974a8d69c1c3ae10d29113f9388bb0e57
d110f078dcc1ec7ce1e103f5ca5124079657cbc9462ca748fe83377436f5ecafde5046b377e77cb27c3dda5d4378191e6597791afce59318181c737934d26b5f9c35d3a6e439ef5ee21dfc20ff3c75207f04850d6923f7dbe9678ed2bc7a3a77b7909c45
b6bf334eecdccae42ffac7fce130629b4c18730702ce819733dcbd90e16af677b55f215dc5a1a554950211e104341306b21555c03b0aac498136ad8308d6b9652f80f059011ecd1d68959b4382f7e9abb669a6e9d0405ff3e12e7155aa36cf3dc6b43442
25c3ce6de49bb57d9e7d51d5a7e1c650e6c2c5e6edb9c422fc32cf1c69e18dfa1e7a3cc8d46231f4b4a83fe8c5454b0f2b7de5bd755dbe1f121ed386fe18e3c772cd459a37b74ed6860b25b03a48a2fc9de3a0d17ca9aa5c9f184f534d6495ed0a3543d2
db985ab882367069aa111b2f51a921d450a5f66532a3cfb16f7792790273bcd22f7048702180400ce39d2556f5d10b935ca55126fc3a1d4519f976972d666e07642f9cf195fb823bd20e55cd891848d7639dd9f6524fac78444d18e0bc2d746be8deeac4
19d54e52a9efc2378d6c7e68fbf8b0b9e408b4abc2a0e685fb78fecfc3698569b2c8e9c84efed3652c62389f94e4690edf4183eadc172f8503ba737c40afa3cbf67fd84f1dab4c2da29645adb1026be31c688b7d360135a13e093287480207ed1c5805bc
7a694d3fef2b28874ed2da4d828ebe7761ff7504aad001b14edcf7ccec5cfc7d6af856e86f1eb503f9da18385008b6a1222634fbd08859e1d0ecc35e65f6ed2b3bd956d8746e6ba146e5274f8f6bf6a0d0284a9ab6afa8791939dca7baf7961a94c5dafc
8f28d7147e11f384e5c0470bbeb68740b886d47547ed8f3fb0e70d25a5fef089a5801f1d9197c0868bc39eaa8567b4e68d9b9968c10456a265a08cf43c80b42f96cdb8c586cba7d78e51265f87d64cb5d95fa0840d510c454ae277fab43ce575241e1fe6
557dfa69f5a648c5257c11b580a0eb872e5225e5cf0f6bb7db2ad36589457e29903b43b23770927c2d8d9dff7c938655ce972f6ddf720dacadb06d2875f1429dcf7a4565159f3c3daa795db4c8a6082f0d18e3197170e60dfc8f0417f2c87781af003cd2
037989e5dbd29bbf15dcddba7fe4b3427ebd3cf1813d141def1c68900e1cc1c72f4bead96548aeed039229e91b923de733e4a38ea235f4979b45a11d1f13cb62964db4340b7206896d623b1d12a6eb48b07275579b06819a185663ccd2aead5b05df9262
a00aef05bdc3292f55c6231767babf6ae9fad1d304f2ceccce4cdd39057975d7eb7ec864dac90e7ccf8301c52339538b8fcb1ed3c9e1cfdabe1766bb0255802c031a7cd92c2c275410a425d882df2038ec5c59b9829a41e13e3af816048f4b165c827713
457f2c0830500ed0d7b33e65f6c8a39e40faed825c554fd359d1284804f7edc3071a52f31304d92770ea35e4c071462f14b161f8f89c7e751952a2c4e67b733ce1fe30c0df276f1c974fc718449bd8c2fe3d33d3593da357ec004d5979b4cac73561c0b3
1c69afb6547409f30e33a7cc89feee963f74cbfcb25f6de8eee4564b4bdb7e4e572eccb8559637bb262ab4f2b675d7de1545fe1d711176b1f7b95b2049329bc4078a0d7cd0ae5bfbae95fb39a414c653dfde839226de92c31b9c54d00ae2131312436843
5c7f73c2999525624a3b7a9a69c7e9c2afa19c91eea6ff96d812225d34b1b9ca91a57c8d0113cdf08720fed9d79a62b52dc4d04682c786ca0e8105095a283e78a346f755b82f6744815da600190e46ae291ff0be82b9d9d36542488d90c65750a381fd26
790679e7be4dfdbcf9beb862efb89eaf528db79055a642a192f643a1c1ec7cb75bb7aca79cd8be4f284c571cf2d7ab2dd108181fdadb018b17119d8616144c4e6f4e6eae4db51eff3e3dbc4c0355f960cb44d0a2cd1f3cb47c9c577d19b6968671ed4174
d36e1b05418f6782bc932bfd4d1ef0768101435c967e6acf08dc41126625e6293d8204d47e8f41d2e9767bf4aee160f9f3ad57ddd10ba5305c5cb3070cbd88b05126c0eeddf26fb316b34a335dd77897f2ddc1a7fee016ed86d4c18aaf11de2958bc3a48
d9a687b56f2306ab6d88c6d0be791efdf049dbc1634803eae7df3a87f06303d557fc2695980f65dd2e158c00d3b1448676fae64da44fc77399a0a99c3aa94b93171e3131b3fb249aaec16f052f5adeea6b5f59ee20ea099bb06582c8045feeb095acc5ad
c125d57988618e0907711bd1ac850e9926df8bd22d1e2959acc65e865680e9eb5e9db954fd9ab9248fc6d6b4c9dec1cd623649236bb366247789458eb76d1bc595d02c9b9b065ca5d1ba9cb2fe76eaf331751265637fe98bb025992937ca8b783d49962c
def34957092b49770fde1a86050a0bfd32a04fb6c9cb97a0ac44e6a4c6ab5b354e84e9f643f780770db2cd693d765fd3f5f611e2242686b6147694bda209faf775cd6b215cf986803cf3bc2bf6b94281f8ee09e2f044780bc84225613b27936b25cef0f0
e633285f3ee643877c17236cda4678d892a24d903e4df77f29c90f1f9cce888e6bfe36a8d3a649ea94c7d91c268ed83003da31baa1f1f73ef219da6a32aeb74a8c92dd37f3089e779ac4c262215ba11cd84bde571e41be5f6eda4127afce47fa6d003bf3
ac64a46cc93e3b2b98c9381491bff034acd779b60082278c6418b7c30a94c163bf738d26986ca641b2efa1f5b8efa8b018222c115a4e3f4a407c2fb84dd8c05e14a27f9557f4f9db61732fe807dfbd0548030f492c45ce834f4a5b00988113bf0b80bea7
8229ef05f22bc169d2e55799f952073f0f3f8f148bf5251f943cb7d8e4be64f5cf11b76136a48a335d483fc4b4aacf3cb14700e9f0bb60a951befe35e8fd5cb2383c6354ef77896198919ffffd7bcd2f4cc7a57a55efb8dd1b8f71cf799982a499583ba2
890e2fc5a0a93062bd03fd108ffc3dc462bf87d8ab3f41eccd3e307b1a9199384e768bb684ffd55d23e8e1427214f0d2e61d7e03ec69ddd3eaf555d6b6772f7365672c6c1a6297e4dd523455ee800eefb0651173e49bbeed8369c4e0665e07edb6fd314f
8e318486e4fb186a925cceca5a45deb194634be5d8ea7ceaa719a83ef70fb1a180b07ac83fe7c0b311228d3122687a8c4932c5a651cd8afc359863922c8749865c3c4183352b7fa5c11ee48bd05521945a03bdcba6cffabd21a53f61f2522051fa021c9f
ec5d9a095392457640225b4990e0196fbdcaff3be6b3cfa77f9d59495489ecb04a48f0073367111fbf4de5358b822a7ce1eef53a7d0b1a32fbd6f2c72d3c7f4ac668475bd2eb68f47534fa3a1a7d1d8dbe8e465f47a3afa3d1d7d1e8eb68f47534fa3a1a
7d1d8dbe8e465f47a3afa3d1d7d1e8eb68f47534fa3f8d4687f156ef88929d870f5501f8c7e94dd70db9eb58077f04504b01023f001400000008007473ee54e3d68ceb741c000051350000210024000000000000002000000000000000656d7074792035
31327834363420616e6420616c6c207920616e6420782e706e670a0020000000000001001800002eac8bc897d8010018aeba9e6ed9018053e89ac897d801504b0506000000000100010073000000b31c00000000
'*** 09.22:
file_settings_512x_20y.png.txt '(2052bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000200000000140806000000fba0855e000000017352474200aece1ce9000003b149444154785eed9d4d6eea301446bfaea28245f4a9cd1e5055b187aa1263c6488c2b31665ca9620fa883ec01aac7224ab30a
9ee238e0fc814b928a470ea35638b6efb1a5fbf9de1b73b3dbed76e2030108400002108040a708dc20003ab5de180b010840000210300410006c0408400002108040070920003ab8e8980c0108400002104000b007200001084000021d248000e8e0a263
320420000108400001c01e800004200001087490c00901b0d162fca69503a63f9c6af2e7af66af6b3d4c271adcc66d3ed4337fb74070b3d0f82d9d41a0d1fc5977e70e1385cebccfeda4c9e7aad8f930f569d3e45ce90b0210800004ae8980870038e5dc
5b7444c6616ff5943afd2854180d34a85400f9b9b438b746760102a0118c740201084000023f2670d902203efd7ff4349d0ce4175c4000fc7807f00004200001087492c09902c075b439a76b4eed4b7d199c3543f64a5210db38ed90cf2f14c6b9d7a79b
ae080205abd5217d118c347f9693aeb0f31ef6b45c26290693de48c771faef0f87ea2dd736cd11299cbd6a9918a86034d7f3d93909cf084029d39235183d68fd96b0cfd8d2c9ad8dd11080000420708c808700c8d600240eaf4a00e41cda66a1d9f763d1
79ff684d0e0ef7e06cabc68972f508c72202b6bec108833bc9d41ac8d61824dfc93af7289ce975290de33a8768a1f1e77df24ced4fb1c6e2d0653f192f5f63b167eada6afbe90f9368c9c5d53ad40645071080000420d030010f01505603502100e49efe
ed4c53075b77e2f614dc8b9df26dd538ee093f1ef09400706d73dac676bc4b2ffbd443eebb440dd4143665f34b2115c7b3018734ec501ecd700a31378bb13eefeb4427ea2e18cf4300021080c0251368410038457b0d5b6e4ee2db27cd1fbfb3c581fb71
4ed5001c495db862e19800b0c5084954e0abfd14801155654c8fd992444db64f088086b720dd41000210b81a02cd0a0013aeaec8d99f836c132abc1dd8d70b13a7b67e884fde71f8bb6c9c860480b5a33405e05423c622e05d2f3522013e3500554cf302
c0e1917f7be21cf63c030108400002574da06101202953b066aae46ae4cb733972b7af8a71e2d0b7b936c0b6cdfe5f5204b80f9b17eb0ad2fb07324580710d4053f712145214252980587094da5ab44581b45ad9f2cb5ac58957bde7310e0210800004f8
3540cf3d70f127ea4bbfefc09333cd2000010840e0d7087015b0076a1345d8da0a7b8ff6bfdf0401f0fbcc1911021080c0ff4d000150ba7ed977fdebdf67d0f6264100b44d98fe210001085c1b0104c0b5ad28f6400002108000043c08fc03d24fdde3ac
28b4d70000000049454e44ae426082
'*** 09.23:
ground_brown_brick.png.txt '(2266bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d494844520000020000000028080600000088184288000000017352474200aece1ce90000041b49444154785eeddd51728230148561d9094b71292e85a574292e859db4031145946922a1c6e6eb8bd39914eae1e6e44fb8c9
6dbaaefb3e1c0e87b63f0f1fbbfdf47d3f5efb7cf96c8fa7f1f7b66dc3a7fbefa6fd7061fa8b3ffd8ffff0dfe003c69f30fe360000800030000ac04d80f69c819880943901790080e941e50e86e9ba4186750273ff49a1bc4f80fe4157f1a7fff11ffebb
b60250dbf8030016af206a0b80e52b18df1f80e545cf7035000a400178791310000000ee72300000000000f915004000a844000200000000cc9250011000ca3ffc5b0101406502100000000000005c77e10020000480f22b502a000100000000000000b8
6c4306400028fff05fee0a100000000000000000007097ac997b102c75065c7b1234000000000000000000000066bb556a012000000000000000000000000080dbbb8a5a08a8f62520dffffe2448ef80bd03ceed7dce4128f71d78edfed79c4ea7b11640
7ffeda23ee57af399dc43435707ffaff65008abf7016b8fe1714e03ffca746ff010097a7ce0018408d060000000000aa1700af00f097e6e75e14a000052840010abc570100f05efddd9d0214a0000528f016059aafd371cc0188fd51d6b1ccb28ecb6496
d8e799dacef3f7fc879851575e5df9210ed6aaeaa5fa4a6c7bfe93d77f00406ce45dda09c0bc019828ffb5aa9c01c80064003200039090ccfbea04b0e98eed4b2b00eaaa87a14b5de9e701683b9ded74a97017d3de8972651695a97d3bdda77e7f0010e3
3ab3360c88010de1008001b0098009d0a74f0001000048520000012000040001f0ff0060009034fc39d10a000000000000000000f00e5c0e801c88a31c886749487240e48024ceada29a9b80e49d805801880abb5b230198370013e5bfee023003f91f33
10cf3f4d01fec37f72aec00180b4fe6700ea75c09c1d3031fcc49ff81b43060003e01c49a80020d18111380060c0062003b00138c7009c38fc649f000080c427000000000000000000000000497092e024c18564d8b60d9ffd392cd15e96aa13f9f2d7e6
0014800250009a0b409b637b483a0970e950eaaaabab3e8f0965959555fe95623236e03ffc87ffdc1448f55f00b0d18c1810036240af1bd0c6ee775d819bae936a80eebf4d01fef7d9fea71cf0b6f8f7d714a000052840818f5400007ce463f34f538002
14a00005b629d0745d37e6004cc94bdb2eb7fed7cae82aa33b448732becaf88e7eb3923cca7ff65180fff2df67fe0b0016d9dbfb74bf5b56b801d0006800040000685b1dfb549f0640cf01e801006c5f7286776ae78a696ffb9aed6b439ce4dabe141373
f336e24ffc89bfc7fe0700ecdf1e7dd2fe75fbf74783747e412a5b44b5072000a444000100000000002000e800a7d10700605d2bc00000000000000000000000a81080000000000000000000000000002c015902ab6b09cc19fe6a18c8819103546b0ed4
0fec05b24f05316fed0000000049454e44ae426082
'*** 09.24:
ladder_l.png.txt '(1660bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d49484452000000180000017408060000003936f96d000000017352474200aece1ce9000002ef49444154785eed9dd16dc3300c449d4d324a46c9281e45a364946cd22206d402528493659f88a6af3ff9b14bfb78cf9428c5
b93c9fcfaf655996755d5f1fcbf57add3e47ffeef7fb766a4a69fbbc4c0b9023aeeb7a19bdfad779f982ab3b204096b529d111dddf9d5be5c01e000e6492e1404a64b7a93d001cc824c38194c86e537b0038904986032991dda6f6007020930c075222bb
4ded01e04026190ea444769bda03c0814c321c4889ec36b50780039964389012d96d6a0f000732c9702025b2dbd41e000e6492e1404a64b7a93d001cc824c38194c86e537b0038904986032991dda6f6007020930c075222bb4ded01e04026190ea44476
9bda03c0814c321c4889ec36b50548296dfbae1f8fc716e3f47dd7d303a494cedd775dde0101aa7dd759a26cd3dbed768a637ff65d4f0b9039c8973fca43f5fd83d245f600d8b469d39c649b44a5f98ff2d0e4e02ce0aa002507a376ede6c016c09664bb
8bfe7e0038c80ac0811c10c43daeeda0c1011c48ff3767999f330181033880835a01e607711310e60771032fea01f5807a403df8558079b2e421ee716d9b27e75b92f7bef300dedbd214acf98224967b9b13f1923cdb2b9e76da5c1e0e0770204dd23c20
ee4d64e3d7fcfe4c388083714fc141b776cd76cee87e8aee79b23d00fda2b8094876c1d17e69fe3fec2feaaf079fb30a659bc64e9388be69773d28a5da5b1f64438a7a105f0fceaa0becb3a31e748f71ab03e1a05bbbb8e55eea419c4d6d032fd60f4a5b
f3fb07f25914d7ceb12fb1c87bdf79007dd3fe71d1b44522bb8bfe7e809d369787c3011c4893b08e362e51b331cbf793b3341f387c9fde3765fd40b635b3ddf6f64bbb1bb3f44de34866fda0dba6f48be26c6aeb1795af9360fda0bb1e8cd60519807a10
071af5807ad03d698bb329f5a04c12eb68fddd9669b34cbb4ded01a807d403ea41adc0d1be11fb8bfad70f785c975ac50dbca807d483ff5c0fd85f54669ffd459207f6174989aae5de69a0f1def7e67a321b98e4c06b9a4dbb09ea3cb0dac00407611c7c
03873d2ed384fcb6a90000000049454e44ae426082
'*** 09.25:
Level_1_Australia_06.png.zip.txt '(62958bytes...1st byte:50, last bytes:7900000000)
504b03041400000008001a7fee54f701a255097900007cd70000180000004c6576656c5f315f4175737472616c69615f30362e706e67ec5d095813671ab6a76e0fad56655121dbc656a80aab7843986dabc4d62a4514e54c3d300a6204841020496b0f54
842cf54044980a222a845420dc24dd0a46b9227244ce54628810420c6172cfcc4e500e6fdbb5fbecd13ef02453e69f99ff3bdeeffdbefffbc7839faf23bef9da8cd7c68d1bf7e627ab57ae1f37ee2560dcb89745135ec5fecf4fd2ea77b18f1742d7133f
1a975337ab073b7899fce1da0fc78dbbc87addb4e515ecf84f7b577b868e1b37b1c2fcfbc2b1b913678e1b279afcc9ca0f3744f8f5c10b4e4aae5cefd6ef60641cdebc6682ea50f1373b1587de8bd754f6fd50593fd17b667045fd0aef99172bb35236ff
3c9978f8bda3cb5a8bf7edb73fb2e5cccdb0a223e3de85d128ebe98776edd933eea5abdf5cb2ac5372622ef1f9be7a9d6e5990d88fe4ea4d03505aa04fa3ddc77001721ec059f4baaade80da0c9948b4cf39a0d2a19122070deae0d3c854e1e77c36cad9
8c0275dee3b0ff74ec967fb85adad6c6350748727c2f4b9b2efb961eaece8a2b0db74cdc3493aa5868c759d2dfeaefe317d4cead2e2a6b2d0a4c0ca67183457692817fdf0025775bf778b31ede42226874c22914bda5e4a3a9050281408f72a0cb56bd42
993bdfbeff73a63368a007c718d4fa4665ac632328cc6490da4f23d1ce90b14b7442ff02768dbf7ea3b4a750408fa897b0832fc5931d00b318bedb9ba4d7bf260f113f9bfc088de47b0fb4e755c07fe53e7873d56f99d7bf674069bc83da3cd92f26304d
7a89a0278a11d05cc923d786152bef89662224539f175b50cf01a02bcc2bfa18d647f76a2b87a40ab08607470b279925f6ce5fef1d8b2701ccd41d8cfc177fbe1e96876a5188490862a352e6f22004a0503283aa4bda574db7e056e76b5c617dd1e7cc43
e473e2660092493e826d534f33bcd14690f53a9419f19d210876673adbade91dbe13eae6f26968fa7b167c1b07c75016766902010141c075520f9bf3bc84f25c075027ddb3a23b30b45797df9aecfcb6766020a4d56501821ac5a8b641b3a8347410259c
e22db9fd5d20f5a0e33b4cb961ab5a4833a464b68a9686046716327bddf93f3843de9f838657a0f3cc49d07952b61b9884335ff6e3db482a88ca5003bf0e259f223baf74f84ba2e92dbe1b837c6e8283cd0212d3da5f71413e9ed5ca349f2dffe29e69da
39006c79008927cb0ce9be852ee30c9e4524caae8aa25e81e5746e2c847ddfae4f145bae8faaad998db05023ea8c8ac94de2d0d9a7191a43330fd9f36d6cf333f8c2e211bd2dfd1a5cf8eec9996b6d53b9731d66885803a5f3a56e3b02aaf0d56f5b24b6
86c76b948bf00e6a1b07a74cc1c5205a7b23ff48a8764b9164fd6f96fb731f20a2d598cc32fcf3cf522ac34bd4142e06b7a99b3a4d75b5abce35a4f0ef18e9b7dca00eb9a46b1d056dcc647c48ef2dc494f67aaf3b6a8de9ef469af33d3bb8861200d946
d119c818b8155897dd7052ecbdc9ba69c87f64c3eae1f1ad27823b188396c5849c6adfcff9f3ed1ac12ecbde42e8f1ee529d3a22ebf03bee6627e13ec3a47eb5149ecf005594621871013f3f9290b4c1416f54f233152a55308206963f08d38fc422dde2
1d0cb344df386d8c1afaf2cbdc31e64ddae2db1ff544541996293fc630acd9da5f320f1fc8c1ad29fecd33fbdd078882efcdfa260b609a96d185aeb52537b4d9c5765ac23d613d01b865c383bf52de15ffcbc31733de94091b6a581e7fbba12e697f0552
0abe35b83b3d39e0e93f8592ee2911b5c16714d7afff9726f63b0f18c56141b55c8e05baed4279880566118e4f111b497fcf3a5e14dff3af616bf1ef26c7857139c54f074266af50209d2bba8f182c5a7af23f08dd1e1e505c3742ac746a01ab416bda2e
df81ae9347baa34bc632a987c547cc11d6dce50377087765fed3bde36826619673ada98fe6dbbfdf1034463a8f3337cd86e138f7231640d69f9cc97e8627ffd5537d4e03c481827bf334a9060c9186545c8bd9991e4ba286a9e9e19149fe1275cf3def1d
17d598a2bf3573b187c1ebe180805adf1f6d4b18f3a4ffea947ebf01be82a4e108809854924102b058be559cd75dd2ae7d3c551f1625383cf8659eecae8d8e10f8188c0c3a005e2f6c19726ffe3339661379d8d2d30f1fed7659f32f4dec771ed0411886
1f9c3d8793a9d4271038d5be98c8fa9f2236a6f4716c3d31095cdcdcc4eb7e40468f71cf448e0f386c9e96a6a393ebdb777efa9b67f36f18d0bd8275ef717512210e5827561f6127c38e6cf95ab86dac173e2c3e5cf13067fb497b2f048ce5f28bd479b2
b0e2d77b0b2b9f1e2b5bdce9f722ed3f2632aa56efda93eff1f427ffd5537d4e03181cab47c5caa7f1b12287f5f4c7d18b856af5b466292fe62e783d85cd469d1b8e1fed6f30aa0edc365c3cfaaf4ee9f71b40b5223f10261bb363e9c29358bde07e987f
a47f5a0f0fd6a5deb5d1910c00c7409c6a4d3b5ff966c8bd51c6b338e6481cd1b1ccb172febf34b1df7b8076187e986565bc549e8ca829b3a37e8859c453c4861e7b1cbbf0d9c168debcc978528e52b350866e306ba3b813936290b7c4527a555858a846
d732787cb040a5f3818938e6fbfda402b4ab5760f21246c2565413371f570e69356a6a975ceccd5480fc0a35254bc4d7ea2488401241d0ce449d9a9504240366ad071c0189beb0592f34e294cc554e6841241cc502fa994e133bd1d6aeebee230099a43f
883fbf2c2404cfbe22d55e4e296f645127faf9f99d55e8eb564fdfc4bb2d4cbf6157aace88ee083ed7c16f96087b896ca3b2b15958014f818e547620c4352cbe471f75171dd67b004c584f8cb0f364ae00b6d2ddfcfa5c3503ea36b9986f532d02c9d475
4de29bed88a792efc9a0b4b744d1a9446f7d02638f67b43d93b995cf9651e472f41c1f284383d406a05726308a915e879100805b9ae6bb62ab45a2782655b35e5c9bbd3d581a8b38d5456fa7daf83014488f7e7d0ba3d2605017e1b802d0d30b08a1321a
85797e28379ec901d0cd62c8a21814a723c8d5ebeaa5d6cc5b5deb9442be4697b7a21ce0774a94743a91a34490dbb2e35c77340d600eea137b08280df5d618040c1f861372a532a513642a54e4b008b48d3206453c3dcb2ebd5539f9824b4e5a51bfcd95
eb8e165cfdc58ef5e5b0f30ac03d6a4e608fdc82c424d2d627a3d9b012d6af510a3f3cde4f56aac84c66bb709540754eb207ca965008cc80b62d5606da1d64932867631f70c928de4690ebbc85606b7884f3480e145c01efea26e27dd9f17ff17aeff462
bb3ddcefdc7a4b855d0110eb06abd5d6ced351c1ba2d94a41cdfcdecfa60f61a16d0c6e95be71a844d2003722879e98854b43ea50f12223eed4240a221e9036153fac7e7f02ae89a76fe0103154c8a87f2e0bd8d144de875799ae46aab3f33f5200060ca
dd56aa8bfc4453522249cc5e1754da279bc35a8136da3978c1c98ef5374dd586e076fd11b8f80e82698ddb2c020a6239897790a596e787e3d317e301ff338b967a3de8889f14ab4f97e216071883a406e606384496e1549572256269487caf7dad3dd5ab
9f702a24b3bb73dbf901c23883dd9769ed176d58ad20b3387d83f51a2dd356ab0e53858cef364cd66e629d6b779b374984aed732c2a5f51fb43165861b1c5c822342e43baf69ea071ff6f3bcf07e536c3fdc61cbca884093c5944ef4fd7e1d0e36ccdb58
ca7c183af8a2f87b3eb39a299b533af3da4caacb79907e7903b57c2b6337789056927c3dd99e2d107b91e0f9190c2f75d8a685c6e595a2f7022de4a26e3214c8ed16889872cc88e4d9e1177981f639be72449bcaacf7e0a079ea6389e5e8277295a85781
663509197665e8da2e46010fe11a6ff6923979ad95869cf2a270b611c744b811a877787497b98a433a3f26feefeec3b7dfdc0b52e3150e9e40b9bedc0bbbedaa5e59bd9ecb51e60d60b7271b4559e1800fdc2a720f682bc52e464ab62896785d0843a52d
7a96b35f4d164cab08e70262b25414502bd47036291845062e27b3b180aaf0d2f297d88708b81be448759e1a472fbbb260949ce54eb94a089d6b3bd570d8b766935fe0d323819984d46ccaf92f8ea21fdd62e2703866226aa7d62e9f53ad8c73fca3b8f1
4771e3f90df8a3b8f16b07fcf71437d212b12526419b7c30025e76ca3a41ae2dd1f8fcb6393faf01f26523ee09028c537b84a2312982892c424114424d1a8d8143b1b7c709044c02727550a73230ad7102948e8a0a71620452c03ab158a53b3f2ce58749
32edd4a8a4afddba6350e7c3dc03df3993f5219deb3ac5990a21d80032cbda494d6639462c792c3a4a5b207eb9ab833385d2a0debed46e915a7ddaf2074ca68a7416e02c2cb33e3bedb6f531668350d8035dad8039ecb92d58d0c2222787a95991bd1138
52cee845656dfb185542f59f4c7d86727d1a5ce3248786a2929f9c0caf2a433b58622719acb4c3e8f2902b1c6f248f243ec4eb204336273ebb6b7515460bcd4e438d348aa8dab2b5c9477744af740094b806255296ea789bc008924aa56ae5ac83032ba9
f9a9c7388e1bead3b51875674e6751dfc813ddac87b8c79a45f6fdfc0a49c43e98a860b28bd0720e00018294f22691877518328050d1b0887df4a00c0892c094eb33a9e7c422142f1f36b69e1ad6ccafc8438b70147754e15fa20eb5de2b5e263e507cda
12575f23bc782dff4df7d56bb41c4d7c72d91c6ad7ec6a616f63f71a39624fa8abb98eaddfa97486cb701476733e23a7235d9e05eceae078b11870621ac2ebe5842155e972a5c22483299efc5e572f6d56733a09cd38c7070da3c0fcb527455c9755eabb
e7c7cff0329233eba73ccbbf1c74f8d00b666f2c6b38ebf8e28c9be47d029b6a00295f169451b0ee38d8c32679cba8dac91e9baa184864c7196d989fdc7453c6226f969b6a079b6526f00e327edea5d1b4293f72ffce69afc4d56cf3690f78dd933784ee
342f186c4839dea654bb95f7d4c5eebc4c5430089ba29206ea3ad00183be6ea34225004456a797e5a5332a3a68eb795d6b943e95a63e88031f0ef3202916e630027d7225d7b43e4ea50c935a07cfe897711c637ae76832c3636e4539e66a58ce4c0da21e
5a28e4f66a79a88d9d2792d7ab949aa5913b284b54883619f543ce3f63241827631d09936be3ce4e7d8c571ee2f33e63dd8661a9c90645e5eff8bbc87678c8ceb49f4fea6f9e6a2ff82a82b6926b9461bc388f1b237c25d1719288c52e12b197ec69b39a
b8942a7f2d7993a5b0b5b28485e84b0d51324de9a3ddbee1a42856cb3f589b7598acc0b8ed63cf0b4d110ccb98212382a70f0f2615cfeb2f32751699a30109385b4ad4ee20e75436b5ada4955ca5121cf7add5272a511a1c9d7841a39390731c2ee23aa6
955213fb534f7060ef4fe179b57cfdf224780f96e928e4f6aab046b9b1cf2044f473eda3ca0b57a01a8d9a750e5b745523a2e92cecc1445ea4adce4aa6fa1c281b53fb73a62d77adac106beb3f5b77aaa7fe706db978d207b94ec535ba53f4a2f3efe319
e20f5da8a7d29a4dad65abb11b0a35cc7dd81d4a45700bf42d08a49e864c59b5b18dc2ebd175a8311546247e5ab2c88281dcaebc3f0cde7608095e359dfdf76b332c0a3f7a096a33e71fd5eb8364c2d53b1c56245ace8436b5f8a99649d219ce757c755e
938a021bdc9f182d73e4cfb4bee968eb602f5519c297113a49ce008311e548988a9e25265d5cee3c15d518d4839fa776a9f4d2d38c170bc5bf02c27f35e63f6dc068c2a3934821a841a1e1a34854ab350e2743f9cd33ef45d327174348db1ea81efddfaf
7f92b210d46916af1c15a27a850486072396332f87b00d9e4f6e6511568e594f58eb8c158d50f12d896910a6b7f2e813998ea964196ab6bd827f0c1b396032d14eeaeb5f9b10e59758fa030217399522c69b8373b70a5e6de86ea39d95916fa414aa4166
030892f72f7a6970230b34689fa08824c2b32e42507b4ab3bb3d76d0fde2999badfd77643a558d33e96c1c08a249b03ea36339c794730d52beded42cb4f9d785fddb07dcbf4c2123759db8cb8bd5c1e45da87f41663485350b91df6c93b344147b262fda
a81a90b4f13bd1b0dd9b5f14c4ec88aa4affac7f166a52408ac67e8e88bf8ea694f1aaa82f1e8be14d5aad09374dc6acfa71ea44abc614556b4a4c8c3a5a58e1a5ea456e3a8317e360e66ee15777ca9d0350c4f9158c1409b7593bd7bd1d27d344a366cd
36fffc402df16e280c8793955082b1f488110afcf8c85fd50d91a616d09122b364835bba7b3219736c1bf96513c901da73865ed75c8968493fd96922042a98870592737438506eafe01732ce6a64c95719ebbc45c26cc83014d7bc2009cd3b8a71c1b780
3411c36958db2c6c44a21d5a84bbe48624ae1f6ac63e52fa701562af83fa6de2fae05bb75cbc128652628a1c0d99e3b274dfbe4bab7a1a3826d3c917ae7b34764ad72ebdc2b3aaa3561db76696490607d25e0c6b64deea9f75615d8d92cd29e9eae5a7a2
4e51568bf28e4b054985191c7e91810d9746288440540a3f9227f1e39be3130f017d8154669a7a8dbe0cade523583447ed789051d8ac8f8f822331e91b0dcc1df4d102bfc4a5ddb33d586feedda836f0dbdf69783369d74fd16f4477f2406559596f5d5c
ebc1400b23417ca53ec529d808762c5f0fac51e3a1bcc13a3205eeab3b51b1a245fe7994cca10d2844ebd7a6d421893c46800509ed04c57eea26bbf4682ecb7c57ad2fa8e5dba62ac4d745e8d97564740d09e066d1d1cf7d785ebc56ffa31c8d1b054bd7
18f2b101af389a23a4855ef37849a6fe2c2e151cdf6cfb66d1a4006aaaaa5efdf51e9f94c212778fb99d93abb6530f04a8f11d9f5c4b7945e60949e452432cf56fc7799d51473a26efe3acd1a88d017a122c8b09aa545ff008477644a051f1adda6fb3ad
94cc3f4fbb7f65283da1c883f816fb7b73f4f3ba1bfde81d5bf4cb84ba737ab9be7867b72cfaa5eedc69d25d5149fae5519396eef6132e0ddf372753a3dbead831b9aac2f1ef2de4b31be748fa7dfc8f3753c3ba3ea0052476d81ee95b973d90984a52d1
4cceaf06cbc4d70d177da37d67076622b7b2a46400bde1670d1b5ec75c23b7d05086d2cf9a323894e83aa37885be4508142412f9c8475846d5f7d4b2e15da78ead7af3d8808d8373a627b8f0ef3c871376be75843da78c6e7ce9ab9e2147fab6f730d614
e337584b278aa1748fe2d0c48ef2ac8b1e700647781dde0b935597dada7a4e4734d7edaa3d2226f09f842d154671050456d2d06427c7279ca86d5d304cca9518bd3836a468e75e9207bd8198bb589e9e1c2c5308d5a02044b687577ebe7c601b205b5832
b37050d745be1c584c39114f1def0dcc04691be01beb8c47e8dd8402d6711ee2962def5dc58602855f9fc8848dbdfa2e3f20532b7385391bf91afa7b8199916b5408951408776a599c54fb7e2834928934a22ba03101839ae1004cd9b167e23b8ccfcb16
f2a9e548356277a66401d006667734430e6bda98615c20066be6cb1345ffb04a615cd99ca3298bcb35653cf8b7e98f6838f52dcbdee05ec677a56ec5d02a9cc36920db42a62f9c1bb2236a1ad422d1f9759e96b753d9f1a4271705b59fdfbf660b6db37d
24884778ae920e46d01d09556faca355c8a47985d2043ae7e3e399b22a8b26d136db6740fe5f1d2a9e75c003911f5e7f598c35f98aa5fc6a13bdeeea40d45040889260e1266f52296a6f2f8e97dd28c431e1a6e31427a3ee8f55b87ff72a1c26a3672882
f1424662c80e8cd7af0c4db7adfccdb3f9fd0724c99d1ee49f057b34cafc9ca510652c1b79587ccc5b86c7d55ab5a24b371b6a84a922a9dd39f1f4a7575bfd5d47e0c751676bae4e7b3dfdc97ff5549fd3005d79f8233b569ed6935fb71a7a5c934f758d
70d3e644a33596bc3cbd7f5c797a943f61c24a930bd6ffab53fafd0674869d7aa059c53dcf4e4308cca9a64f1aa6bbcf5600bcafd4aa63e8f46a8c954c7bebae7b1b9fc531d78f382630d4b1b2e15f99d8ef3da0e3d2a3aad3e62ce1c96243373dd4e333
1a843db7f92a027330193dcb8251d533d7a89e3e9b7fc3801cf58907faef5a4a5af80d259d8dfcda272eb49912e48fddf6419a148335df0da5c40cef678895a3496fdf2f99e6ac37f0199efc574ff5390db8cb3f1f8e95bca7c44a7c13f98f32cd1f6dea
cf36e0f75bc9f587038d6a9970579b27b638d3964fd06a1552697eb0a0b049f53ab620020caab306234f308e29dca04267c6d0b6955179ba9c17f2f9db1a45e1dfc8292374ad7b4efc99ae2b57e3f2df4dc44982bfd1d8cca0f140c4587d1d8ed2a89890
412973740e71e2af6b3b816bb31a54ff09ceea902f4745e1bd9b3ac542bdb2c175735b36cfb487c35c09f3cc0a342fbd98fda06e27a4d76af3b824f47656934853af89806b47c9a55f1d5819bb28a4aa2bbe9a154c77b9b39727b9e6b5a9b30e2e4e90f9
c503860fa0b098db709bccf1238ef8acc8177cc1a3b470dbf6d675f00ec53eeb0ac7b5f1fd2b7d07846db7a934d8e1ee3e1d2ccf12a73ba3486761b31cd40740c41264c73d0f0dd7128012c90f09691ec93ba1dbc85ed0e3ebabfd363d79fc804cc70d00
7f2dc0026fa67ee9ec9d2d9c585865a847c68dbb734ca5b4b7de7266544e46f9cd3b585b1198109be5bcf3d837cd45454d33accbed8a0a7a851d821b061d3f921e379827b42653cf76916349240a904e63317254791991764aa50c76005721bd1ce06163
ff8c4247e0725c22998f90ca91d522f13d8defb7321d4db80eedb4bd80199a5b71e8dec859c4bd5237973352b7fedd476390f6caa86238678c11dac7260aa7c8d515a22aabcc8103aa81a45fe4d8e288f035b9fae7d07da9dbb70217e3b18a57da6f30e7
270c48acd46ba90f5ef30c9855ca0b57f9ede107de9fefe7e7942abad65912a607b21dac83e826129761a9b0307c167c46f867a2a126d87478e0e2a586f78d7d2aef7320fbdd2940e0bc7e07014901590c6f9e43039b6562f1550f0e3f1a32e07d996382
98f5bbc6d4af6e77cafeaed42f13ff14597cf8966b328523430f82e2c3cc9c3b31885374dd09a5e5b871a6893aad05ebafd7a1a5a324e1aac78e0378d36af062ac9edf3f6e5e6c60e9a0c37e4fd4f046baa161fe1b85cc5c8d8a48cae095aacf38ae6b01
89f631e77174cd86414f49e11dcf5ba04c385de0f8fa0280d1acc30cf2bc2b1cd8082a8723665f066695765174ac6b0ab583b856370dc9a38d85c178b64d7cf656e47ac4acd3844f977c1f669439998d09be443b83db9472be5c724638435efac2605c83
2af9b443a2e39a775c075bb605412d12b114ca4472c7badc440890a9316333614ec7f123b511db2463e7b8cb57e88dcf22b2abcb352b247bd053441cba3e8acdd9e81cd913f5625a04f113eac934f0a6306cfc6762ca0f8eaefc36b9fda86be561935887
75484ab39a703d86e4518afa63a057a50bf86133f9db49375d1ab6048437d879c3ef77d25e1c378e7f47a9dcec32ec87a389f8b497e92e7639865fbaba3c02f7c240a4ef9d1ba04bea1a1687cb686c4577426102db1c6b3ca6f943cc59ceccaa4199de3d
53a046f28f955b01d8d6c9b8317b13eb7bb1099fb8ebeca3bbee46979ead1239095de9fe78618640db27c195f39cf117841371835bba7ed9312d69ef9c4f27ca26cd1131383f350b8610f87e0c8bafc68c8d5794a71d6b6a3d35aed5252d8b7d782ea942
2fb20f5ed82cc19092e545a29eca6dda92a67bb389ab809224121ab3d5c5db8a3f66bfa7538959882e1c0033bd51befac5a6fcaa9abc3be598c0dabbc4e28b71fb4680321a38c594c9a4db0cf3baf36ee7857ba5dc9496791d70d91fa3b67a81ddf516f1
90417d85ad794b64898623d93f0c34ca3d041ca1dd7ad0205c49efb5b8ab3cb0a0112cf8ba19a71f6b76f5137aea1b39912cbc2b7b2eda177659a25b18ef247246960d643a43e057864620c815cd70c69ebb753df683e65bb1912b23d0f4b3b93b68bb87
b534f9cbeaf46c073f6bff8a1b6af35ff606568c20e616aa03e0a6ff6cab10bf3e25dbda1cb9f7f745ea3a1743df13f7d115744ee7c961ea5a8b1530b9b172e2d1caea12898835cfda571bd6611ef1e7af4aadebba44a24e694265ba9c97d346194e856e
287ec9cc76c46edca1920b8c37f746fab05654e363cd0abae35234c616cacbe1529350602c090c91cfdc2159cab3ae4bafcc6dd6719b85e3ad59cafca693928b9dd5b4ca83e6e29b2bbcd80d3488463ef96be1040e3f69345ff5e8f2fa451afaf5b72ea9
dae6d7f8dd1816ab63b0838b0063ee04ec1cbce5a890758c65b3d63900f638554384b6c7db532cf4a6877f8eff291b9ce78aff476eee4a55783f112f2c293fd93c8d7f76c58cab01b768edf50d2ec1fe04a30ef7ada1d11e7b8cfd66459cc77e98adceaf
43fc1df03cca51b9328a3642216b582eab2d2b9b3e9849ab64e496edbe6569dbf98177d0bbf14e609889f59159f999e87a70f42a66d3b8b3514ea6a5fb30c5d5db86e3a339a5ce93d77be96b6e4292bd58bf8dffcbc5b7ccb3fea5f9c018ad931967a2df
5719826dd2af65110f0b8867567812cc2ef1720bb4b72c1549c9e1278d51e9b4830336598b77567e17e8e9c3f46bb6e033cef9eec69d27984ff8becfe0955b84980cada54e8d7605ac46c69ae1bb747f0df6e5311313a4c1839bad9531977a542ab5acc7
8db7bcc0298798223d0d885e323fb43d9e34e29162716727e28bc824e5416bf7d02f5d68d4a497e9e2383192db176d0263c50edae53f47c50ba8ad01b5c1ecbf9dc6b887103375e269678883a939306df893e14d97c645c2be0327eed7b8e1d40fc30a4f
93861e5a358bf69abc1c3be38bd9639f6152cca55ddd32a904219bac57cdfdb40c2c3464a7baecf7f73f98963dcfad2221b36bcdaed95909b2e07391ad3b01b3aba2f23c5623f37d2cb4dddb629c9f81603fbb8cf3a2d8c0c028723ba8d3275f4f3f4f82
fa5d52dde457dc170d1c96542f1bf031ea245730dd325f350f25c08986c64c64d71a18fb6908cf378c79b6524b8c4ab440e738d1dd770cc1985db216eef71978c8610b1d80f5ce47b07eaba36eb79bf09725631d77999f2bba4e241ea3a4dcd64a08ff41
d667478987e542711debcf22901860d166be237eafe8125f3d32811fdbfe21f4df4e9b65757cc855a3b145d7c8a394f8f993e2fe0af9287213e698b1ce1beff3b03ee91d8b8ba137f35433499364f55b3dbd4da919e0db4ed6e25d598b05db38f6b26973
0a5630303d8a30b823a50f7f224b20220fd9319a9e791f0cfc2a51f8e6f419b44eefb9a693330f1e17e2b083cb888efd17ec9cc3db6f8df23cec0997d59acaa2dbd1c3a433147f3a40815a3e8c1b97c7c8758a7bb9ba6aca2a4fcfb46b571a14c77a79df
4d3ed7bbd3acd20537f3ddb03840c6a1e977d19e847d64ce87b01fd736f26944940d4ae34260ba3d6b2c02dba61779f9e339375c8f27c639e12bbdfdb3d65624c8f2e25137ccf31b3483a45ef791ab78632ab6e4050cfbff7d381c4ef09a0b2e2f63cc9a
18d3907ef82f894ee6bfb5cf50199247c0b286755438db0f98e83f35123aa0d21dd830276bbc79e27f29b58e1735f01b4655a5c770f55d376b7feeabec1b7be7c7629afdf963c556e36ac50b988e12b68b44df57423233229f0ebf483fa3f1de7a4fca4b
70a6ed205c7a781e2b5d3010016026c6c2b6f0b1066a2f4a8309bdf326c1c5d6e61b30c62224a2d1689403004e196406678f8c029cb492124d984564ad32abba5838b933d489d7e011181ff8ca6b903a84c1d3a880d786084023e9ed91cfb6deb99446b9
f27bc16876513045f4a248f6f2e281b2420fdde2a553e683eef3baaeb86f56bef93894d60212ad8d975b175cd64486164d993777cd54cc7331209d46fa14ef19e7c4fab8a9c1c578daaf70054202e9671007b78715dd1238365c60b788fbbbf55af80275
e9c0612f626a5a027916e97282ac5580232298a73a98872a7af88d99ce66fd623f60417ad398307dc35c20a8c921d2a50e3122d625cc738e4ebef5fdf8bbcee237eadc29fa8481a40ab9e0f4e18f38d60bac7109bddb21f34993b78b2ea9220d548c1a8d
2ae968935d0ececdd33fcd69ab0f1309675414214eeb4b6f0c475b246574021d131976f86ac9ed1f9d3a27c534482458ce9e1e1dba9bb6f39bf3b200cc645f1832b39b8fd0a73ce72a9b72224eac8b5cc69a5edddaa59d079ffa45a55be7cd5e6e1d455f
ce5976d19cad9ee7bf8f59f58c91cfc2f363412f49dff2a9cfeb65d17b7ebc7645dde97553d4be3a3f1ac10e1c3402ca2b4f42df77e973e5465a967062c0cb27a023d25db3377b1cb7a9aa9a8205ea3d9c0ddac587ffb69138a4d23f65c675cda039ff2f
865b64ba3586c5c48049662f9f5dca3b3e2f07e0f3347693b8b10a3c573c65d4dde718fbc46670263c00ce2cb91b99765b0899cfbb533d86fb690b0b0bb1967e7d04c5fb88b7f8c70fb8b08d3d4322bfb92c725e15a6ea1a7afc9d54892aa5c02bd467ee
e7e7c044b59acb1a82b440cce84f8e7c8a3d48b4743f66a2d368ef41deb1a2e945ce73ce25c8cab93f738a1376ea4f6d9d4c4cfd399262bef1d5b1cf8079c3493d4d5f845af289f587a628656ce7accc842f306cb6c13c37f8d679ddfa214635eb42ea92
d6495049930a35f4e121f0e0c38aaef693b3a24718777b8d69e737833b7b37959726901b570c4c8d73fa2ddc389cd0fb7c31393c183e50f5c1dbd2c91283ba508dbf0cc9125a2b3566739ad00edd518e4ea02ffc4ea8a5a7353146aa62609685c35ee183
f1f46dd51fe33f236c2add7deb4f436636e111fa2451cde469b7e9b2e8122d7f73f3743eb947f6326b8836a96ec87f33474e7b068e8ca1afc5a338b21be6b98b06f645659470b6bc7ce12e49fe6c59d054d115758b00b5b99be0588cd21e8d27d63889b9
5bbfc1f172626b35a42d771aad7311f1670e77051c8b2bdb0a78fa2d19c2e4efd94b300313ae182283ae6d0dccf3aef71226b37db8c264dd0528afcc2d87af942eb89f4bed643f572e756825ed68d38cfcad97b898a3325fbfeba6667370e9ca490ce4f0
b73995f23c4a6f305e7f9825ef7b90252ffab9f16366ce78f379941ea830352b0589168eecaca75028a81daa567516bc5fc8dbb231c0e8e6f780c69f8d28b3e9b0555447afa1f4d6983d4eec0aee4f50d48afb78567037f1a971b75ef12c71971fb51226
630ff1ba99318f064d61aec8d06f68531cd3a050d9b4a616f5e398730d6b3b46b1fe9323f087e1f4f9187ae7c877131ec88af68c071e99122ddadf18ca6dbb74650a76d68de43e2ae5b81f538ee548db1ed638afff64bbe1bb968712a3510f6f2c7d745c
e66ba0428f2fdd01efe1398f2a7bf987714e4af634466ddcca6ad9d4d86503539fe2e6bbfc0f68d51ea09509b2e419e1edb4197f3a7eecbd4398af9f4ec86c9bdb447f13ff7953fd6a0fbc70dbcfbbd28bb0128bd9001fd6f94730c713a80e158917f01a
fdc6fa27a6fb19eff84fdd94b5fbd634e3d581dc11142ffaeb7f7898aef0b517f9310511e17476f84578fa98ea480b197d1c138b417ccc83c7755e9753089b1c617dea82a724c5ea9d17b3e73384d7857fba57fff0faea23b8ec14c8a163b2194ea3863f
e1024395b7d1e0a8296982a857b7dd9f52c9b5fb168d326c605e570debc7ce9966d05a384ae4eec098e4b07abf733ff3b2d22d3fadcd4ccd7a474819964c7fc03bea923b83661d7321334ef371f99e30139fa13df050090bd316e8cf813aa0c2b6b90a54
4e9b7b214f26a7dc07ef44777e6f479c537a7312eeaa47f201bc90cb02e24d661cffe1617827668da19b3f9a577b937c59862af2440e2ee6d2cd411bfc95f786245be85236ba90e0a8c64b1d0e8a581f5b7eeb47d8eae4fc6ed3d55eb39af057726224d0
a072b474b7db59679be5eb03a4e556ada4613e6e52980e04c3b433e117094361e06e01c447d412395415818f9f7880765f7c50d92f63b4bb3026e13decac1f97b6283be79523cd18d00b52173c216d16d46f7333037b7fe837da59f7ea5da244f5396a96
04aba933d76230b878e493e28e6dbca5b0c765320a86e73caaecd0fd6360dd767af02d5b93c75b4f50b6fdf5aab7ccbccc51277788d662ae3882ee1fe15d0b375d30ce70f9e1427a42b64baae01bacec15e7049a0df0619d7f6b20e5318e2fad7a72309f
4ac9c0f22b8bcb7f24d0ffee047a5642d042ac27e5fdaac28ae98f2c769581c68d2937f81ad7b66ca4fcd8c21c7f7d0ed3c2a2d2016b572eb249dda51057ae527d86b525db1d227b19a9c16e4e0dadfcd8d8aea466c4d767aa305fa3ec4a8b38cb7dee43
f2f2512e87bf9112242d1a65af2c97c8c0fa03ee1b25571c02ac68875c5255365c9ca12f2d75cd2c4b4191046b4f5c8705d3fe41ec0ecffd4bdd7544c443e21dd606da0a6a47fa60442466caf16dd726fc58f3a5492f03c50c932e38e94d5b218a18950d
a82804de194598389fa9895c3c659ef10c91960318457c64236c03c50ea095b2602507b6317a5448ca18d6db16fb606f95e8c1449182e1c4f3ffe2d98ab68ac4409da82343bcb556357e9885a91d01c36e3095c4ba727c2f7c9b663a236e951f26e733cd
76afdcad902b3ffef39cece5c817c35b8f7730162dbc1eeab962009bdc6ccd64431cfec34a7b85d03baecf0e747b435518ead3b69b7bd0a65bc0d8460ffe6dcaff1d86786261324753d0adfb7a18354c518cdc24d066e6d5e6c8e61a566a6cac63397666
431bff77fa922eaea7e5b72681dca3a26f870b8dfa5490ebd3dce6cc51cf0fe43858fb6ae43a5d91977759f6643f6b11a7a19c2be0a07d7ee68e7ff3ee480b6c8f26f5f97f2182112b664d5c2b6a535d1c8c6234aff79b399c26a9c5fa831bb50304a0ae
15bfd1ccac2c9df7a544775ad714fda0c5c46957783c04ae1bce6c31d4cf72af68c2b5fbedba755e3c6d0afbfad9a4d943759cb5057658644d9a277e864e4272705058795f0edf17ed372437750ebd72f22a16d8dfc66a3933af5e4ec89ab98b68c75fda
ff399f636e74b2ead59a2ffae0ca605dba3cd0b8b36518f7ef6c4f660a85614d03e440a690a54937690d51f4806253e753ba8a5839a8481f9974b741e64b7145add2b4135a14b4f85def150b43e19d33811eedc6bb7d933a2b274324ad476bbadf53f22f
9c4c0d3c736bc7e67745ac54dcccd42591d6c4fdb8ab57d6c264b1121f9c82c555c985e955eee81ac9143991fdb4f73621d1280bf1fb8c0ab3b3b4f32fe31e6855620718af76f9dff2b0f6b7ba3360035acd63b12413729daa0e60bf13060c58da71c916
df545c1ff22c9d03bfbad5e0570e489aa764fb7827128b729ac374d0622d24312f361d2fb176689f69d178a12766c4455240eece4567c53d093a47a0feba1039561f3819083d01a5c301719863b90f557ac5fbef968ea2ce01e1f4dae6a34abdad97fc40
296207f67e50f067e648f31c0b5fb6760763b647d31577e3dba25758ed571ad90e13cd5ca1af5e549dc367ef60bc364c63061c81c006f2a449b2c960b3341eff61dc542ceb75f864068de18eca185c9c7fc6a1403bbb3ddfc63df52dbd4c4fb4f572d2c9
662c11f6161903e78e0490ddbcd6e40b9793c07361dd446cdd886849e405cf969b83ce50379272e8123106bad930c69a3c3f9c1e849b5f8aece02e353f6b442e8018e49c86903766bc70bca90131a9851480612aca3ee3918ac25a7126ca911aea3591b3
bc903e2860f666cd27ac011fa686c384b30c6ebd1652345628e92419dd1063b0eccfe69081ddf609af67d07aa01c35148281d771b942b7170b2af1dbf6a735da36cf1a11f452be3a5dccae57cb27b74cc9c11158e0a064a85df64b281b2600317f5db739
d4f48f3145bded6764b9fb6e610fb9ba0f3f3893b8ff10a9152c9cd1e2cb20da54487aa76132ef4cf65e40ca452a2b2bd9cd1f3ef525e14e86a805dcda1cbe248012180f8c246b7cd99c64fdc1450d0d17c2b0c6aaa351e61d56e6e1eda719a447897cb7
2fc901607938aaf38e0fac18c961c5d86175649b2c8ce7af50ea0f7695c8b06d324f7c95770a5b4ec1e61d68cb797b84892a4d1517ee3677fe98cae6cbc8f3fd4dff188ba5c5954358da4de4cf9ded254d0beb0809cef2dfae7f8656592036304bee4f85
1506aa489cad79d57c43d782b624f0b6a718dbdd96b3e78c15867d0f60e643a260e57014e9fec399f44f4782100220da580db2b18994cbd34a9f013d85dabb6329dddd546cfffbc9821909f3ad928a19f971a3f6b01bbb9c5945a3eb32ec0b6765336c8b
2d8f5f81d26582ef32e3520509bf101786b8a32d5ae36a1f734f47d1856f071ad1eb451506b7c0a7bdd70210a3e97c8b065fa6bc971eab1a7f7f9f3a31ab95911b61597c8ce839becca98a3cbe5a2259b67f1e6b611af6bbbf8c8195d8f756ad0edb93ef
f3ebe0ed57e3e1330d78bf3a6aaea8593a39272bcc8a41afa5c345d8a2012b2347f086f6f22bdc00c396e1c8c3c0cc69465c0f35723652e79a3f98c7f41ff4aa10ceda01efe47b491ef1ee6c962f296fb1348a71a87945570ebf3ab3e4d098f0a2954ca0
1c49c21ddcb878a011a908fb077ee9c230f9e1a195e4a84128574ec94a02f70fc3b5a94e78125103621e5c8886eb342ce62c1e1db56f50ea76faf62f9bd2b8da4d95b1e8c89904d95288d9bf09fc6adedc8d3ea1c1c173773ffd2df5d506d192bac6fc66
cca651a7f8171001aaa3cd78fba8c2ab2a9882a5385fcf7be92fe647905cdbfc45ed57acddb9ad6d4c5409f0e144ec4d0a0a108d762533d2b0d243fd15076bff59facb09d9182d331bcc13a804da0a71e9f97d066364b78c69149ff54c5b7c54d2b9bd9b
38def3d5bf996f76f9b425b878bcf38080c484c30c7d492e5ffa43f9006a52b7b17080dddcf3c7644c0c7f7bd040cce6cbad638e035184c2f90e6efee0a08d1022a30611ff022e83e186f0754efd301727e5e3a8f1f5f75ec8f1845d2e14085d41b24f54
ea771577c64fa2c2b064d9fb369fa698597d56f90b773901b67d8f1a38688a5c59f08d9c289490c7e9871aa3bf20046254e89dc36f0f81f56851ceb2a7789e15ad98b1688a71027c39e187ae448d8ced129e289efc9aaa28125b2100b5dd1e3589d9cce0
e0e0ac30acb7eb293064e629417972a5ae3c758c77afc55e867f6dc2823f30f80f0cfe03839f0583936b4c262dea5cfe166a92958c7fc36cfbdea81e6cf865f5b6fd8be940fc9d2549fa84cd1bf1ae0a571f0ba710bc7b61dd32b30e738924fb52a4e0a4
de163ba1fef0dd86f79f36232ad6aebdf9959b7ff93db96d00e59e7705502eccf8eda01b557437fdfb2288698244a44cf1b2eb137ecc4ed5c84026c3a89208fcdfe30e98b07f86c61966ce17b10a44926b0364ce266c61d235f2a8cc90c784e5a426d67a
be0d4a8ab6d622adac0131cb5170dbccad9fd8e9cf2f3430533889d55a53be0f4510538a20c1b3de9e9ab1ee22563a18cd4970f09eb8312513dcddfd00d9640c8b967f13fcf349c9a4b1c5503c2131036f2f62b96cc59d162f9bb2c1741d296bbad23fe0
f8d13bd69b38580785bab3fd90fe7bc81e133977e25377dc75d78b63cf0785c3569ba2bc4769f46e0c1b5a6a5ccf24a57ab01d80e033ed33efa1cae30096fc4ff6ae3caec9f38eefeeb6763a7b291e641bed9c53648a0772bddb6a818dd6d40bca995551
2e312242e4cabbad5d3d3832aa955a85b452458d2115087792ae0a41d0a40849241c99447c8118d2f8f226e478df77cf9b83c36add7d7c3efbc38f124c9ebceff3fc8eeff7f7fdfd5e9df57d8b9b9238f2304a0296d39f550571721ed3e0b507d8b5c112
159e5d369568c3c8d288e199de65d9d41d7903849be81bde55c49f4dbff685ac713fecfae97cbeee44418cb757270b7ffce4e2a8d898389f661d532599817f0664f68d726b39d76f7fa6979e1a03eb3e588f70b0d9075c00ca61ad5f29df831a2c8d55d1
c41eb081a371f30786cd8f79a811f80031e2782fdb97023b8aee5ac5e13da3edd7b18ab419e781ba2fb391cef6b541aab06b373ede086011b42e306d22b0f81bd03b25a7ac72b12674c85f0b846fdbbd8f5712a56d2f2a39d1b6c78d0bb710345cf41eb0
bd48434c21f4decceeb838285a613ad6dad9ce0fecf0fff3f0e6e080d73d69d27909d9c7e7ed027fee60a03c71686bc8c58c8ae17fd82bfe33de103518d358b792b32f8eaffb5c973aae93624256f68acca0dd0deb579edfde3d77066199da95f48aa4db
cbc8629f39cbc59757a87ec4befb335da84db110305a95ce7aa44bff657e0dbe677d9fbf4c836ead55ce63e171c18aed7b5611d3dde7a10781930dbb74b1a4d2b4b4ea49cfc6920b31898ba91caab742501a07c7dcb03f3be3a134ca73724f4f995730bf
7349e8ef172e03d5b1ddefacb96f3f47c8f114a8e3d7cfa96263fbbfbbe8f14c4e35212cf25dcba70a6655665544f15431234fb87e7b912f44d5c393ee78705617e769c394ee94f0d1060debadeae0e82cdce57d3f4f703acde1056bbeb6825789bbb9e9
a85ff103499b414227199d58851ef3abb5f7ea14611fdf3be639dc48dc6390d648aca2c7a7839ccf958a241453a695ad6a022426f4a56d9e063ec14074c38029f40634e2ed2a09bc58fa8d972f6c9dc986b19150494c05a2f2aa7e3116caf18446a5cecc
441765cb65cf79e3f4c7331c2c8859ed61f25da3ede04b96dc0a1d595ffc8de724b510736d75b3bdf8b5c352c57270cf5bd6d7ef1027e005050531fc371f3bf43c7bc2bc23e5541c2c550cce487d4f0117b70e7d26f95ce576dd75fae2658f751cbd4de2
dd6c4f7ed6dd44efe1cc1dee6b1383585f8ad5c975799d6a90deb566ca2b1e9799c5a8345607dbba7416dbeaced26340961edd31cd5603715b4446010f6a10ddbcce614786d576bcac6b1a1e8ae86cbf1f473e76b223fcbc2a42d509641898a14a12a5ff
9ed3e701154c578d18f462c40e8405ec774c95c9ffb2e0ec19c7e80bed7417cc7fbbb40f50e855bc13500cd8c01cd5cb2ccbe39e29e419c77573a9d71fe452a7cf432fb82fb3d149f4f657e56bb7ecf75d5102a00ce77bf445411caf3f7112ee9c236a0c
e69206191022a46f7f72f8027936fd0856f1f894454c86c23ee79a09a5c2f6bc76eeacd1082a4e84104f30aedebf9c533de760f671f99c135269fa37a23c776d047fbe918d7fc6d5dd3e5e32d69fd4f837bab7bfd91ffe356f78e58439a28adfe9151ba9
f3b75bdfb759d3f3f5719ee1711c8ff1a22753141357dc9107e0f2e8350bbb0d1361f6326ed26822d931223cccdd70dddac516b651dec521bb63ba045b413db466f1eed40eb3fd597ee6d538b8949ef9dc8cf06290ce1bfcb12ff4342fe5ce05fc88eef7
a17b13c6941e0e4194694407f04a842ff44db7bba608dcd19a4387d0c374dd7e69c90721478ffa9ca52a03920b648644cda9ded2ba76fefcfa4f431e8b222497e034ed2bafa6e6b370be0e17beab9dd2ed30f4af6ed75ea7f7f8a35e207e56147a69fcde
c904150eea147f8941339ac5759c1371708d7a11f55d037b69308ea992377cabe82b9d63c9306141ea69103b3662cbf2bfa9a047e20d198554d590fea5333e72795475a1314f4eefc4b2f21a74069a74d52f368f3d3b1389692c5d06e588053bbce73ba0
8220a55b8d4190eea6eeeb5ff9242cde629edbf0fa3fc177eed45bcd315ffdcae7b905aaafa792b6459b9df945ab02febfcbfc6f71997fee8048230725c136650ed8659c087a778457f5592f5f807c8cc7d833390c4002cd10d86d574cc47abdb8fecad3
8dec09fbadcf6bbb50bfa7ed61217bc7201b9b764457987ac72352f85ab995b1b0f4752845ffb87932888d3a144d3a669c880992a8d90fe14cdade477fdec7abfefe4f74bf2d0db5dcfb4d76dee2d03f82a6d8e3e0cf1f5594486293c70559d189d4bfdf
e1fdf3de9090cd1c5637057e9a29acba2210340a6894ece3720ff6deedc1860f225e85a6aa6b06fba5972b56e19b3857c1693bc136090ae30b264f5eb944d347a652b51267e5e9f9a966cccbbad4ba73c0aabba243fb3196655be4e5d6c937a70519b781
20c3ebf2c5907235b761e5c13b21e7f696a553e73781238ecfc2d3d6a25bdd9656aab1449d0ace3de8c799ac5dc95afc9d948fce4f6e79ff5737dbd15356c8ccc37ff27791a74d838c980d7ba72c4831b86d2d004f0032821688c00ebffb455e51545df8
4b183970d649a1abc0eae41b3f3986bba510ffb5185d03dc4cc5e4f9f82720820f133112a28206fd36bd8830406dcf9378a6aa33bc91f8fb5ca9d48e666d33628705dc0481a001b49eff5a59054b1439756c3c14220ecf184029d46998df2cfc2161b38d
185a7bd63513c53c117f3a475e479673f7dc5d7af3153ad0477ab496a4b66cedf94fa3f8389b13c697a4fd1fc6ff1fc6ff156ff8df80f1135cd262d24bf0fa2bf5b05dfbb9de069f644b431f92a05a9f4a88ba30f43e4894dea81092fcb1d445a16300b6
eb04f18ce0f280fbaaf48be39dba6c894c3e17c18fdfc38ef41b9b555c2df7def0a4905b719a7c7f436530a2f1d5639342c665a0478a9408ddbb5e530ba7a9ac36b35cbbe0cfb09dc3ad5cf58bdeaab38bcd20b3f66f5ffd95af5147604ed137958b27db
cff14438ca358c3e24c57579629d20a5093d8f67afc17883da32e93d7b8e492737d24dfbed4d5b3190b392daeb4f602a3e64b5d463c65449b579e9949327aa098a70357077b38154628f35002287033f779cc0b7bd77e7ddd97d17d9bff41e202c5feb8b
aea2a5ad1ddcda9c087ccabdedb612cca1554855a9caea13f9a82703fe1e5c2f461770b6cab9b835c37e4cb418ce239383f6f6da2c02ada3f31322eb82d9fac80869ab1374ece05b531964abc61819942684d5cafdf871efa91ad6754e702e0fd421bc97
7cb5894d59d8dafbdbcac79fdad5cf066970e71ea1cca66479fa86cb6d67fd88fc2560a99344df5e0322618b7b34e7881144a394cefd73a950400ebd6298a6647f8897d19c84ac7c78d36b339c7aeef6b2ef73789149772cd9ccbdad79d7acf3012e8996
2ab14ce45581caf84496ba56a95a978b2b3a23589e5ae27c994c90346a0c3562c8e4d2dc0dc43d3cf484a7a40edc6b8cfd0a9e362645dfa845993a2de7840910bb29a5ae805cc0939830eeee72cc3c50b428a591ddc15eedceacd97279f2a290034de833
bb586752858396235ec3830d3599f945769a772e5e290a2c6e67ed4736eb0f8877d9d0f38e73a697d54c880dedf172929f181c22a0c90f75c9247c0e74935d2796344e394ea59828f09d55fc02b5a83df081caaa1331898137d9bb3273b43225b6f63e23
b5cc5c8a12ec16ba5198c0f24c6568ee15dfb90996d2a88c8906880fcf35b18927b10da4b2b654cb49d190d1da39c044f76c87f53ac87987ff7c6d1dd7e22c173764b60db41fcf244aa372cbcc36f409dd68907830c06b3159376414e0440d66dc1953c1
856340286680af98c19dc879deb54d3b4180b12ef9fda4c7cfeb239bd00a836d1e7fff8701a044e1f9cca645ad425af412affd8e621c2952aa2204a5b938d08c6191272216eddf46b758ef35c8dea43a95583fea377c9cd06f41e269c57075a9966125bc
7221123415a651a7d19463570bdef34929bd360d0aee7661c2389d95a37127edfaebf4e30327abde2d4ad0b62b8a6abd4a358b5c997d3cbcbd7bc94b7a7a48bab0633cb00db41d1e44ba149c6d91beb47006ec5cd08627f2b5f0b363f50af9fd900dce15
efe1d7d2dde881cc88059f4410a0b6e9ac12022e7060433488bbb5b470db73aec5b85db1a965ac81c45b56d94e5d7a53cba435643199e02395986cf268aadb8ac9a3da980987a771bd0da4a5439b319598d8e98a8f5451d32b286dedea9eba13bad03ebf
c16ea083aa0878c963fdea5d65e42e653c12e745f20d8175fb11ee15a34137a9629351ba49ea66519d563289c8d3b95105bea25273096aba2fbebc0f8a857675ce0c8dcf51a171e08d2380e663ef39a81ec95efc1df60b5eeb316ebee4f0c8a62d8b6787
46068f9d272a863eee3e2714e7e372797d133a22f3b936346e2f382e371ad0c94898dc00c10e6d74df586276c569386af0ae143e178849d6acbcccee51bbd38a745c908f574a44565b9544552a2111530e7c61d8ba4cee56104fb0d813b1278a5b62a185
474665c52332fa4725b154aa157a313da1790d40ece43debc20b50740ea2b7e7f102385cb98c41191b5e5bcee94026cdd9f6540979896a53c1ebac51833dd6520d66efd3190d7a0dc3954a81afb05e94bad8bcf3cd291cf6b1c56c4ff0857a89154bbeda
96d9b6f6fe14ebc28d6378910ecf4996a228c7bc4c7c7cfc07bf4e837acba46705e44d15f263ae164a33efa796dde35a16980b703649a336cd1687faadb5668cba6cc58feb81f3f64751395c95fb09b56e1d06629ce5eeb5f76705c750afd6c24527ab65
e4ea54011a3c80f46d3218b1418fdb93f5cf7160bd99cbe7d0fa16e2f63eebe457edd5268ca2725a41447adfe82c6c2ee8848855df2bae5bf0642c1b494cb3debb7d3b70a83b6565fa0be74b76e8527c9aa6c41db60f154baf02b5565d979a8cc084455e
98d20aec5310fde248d481d31779f2d38948a93ab52f876874054c70d87afb8ce17a39c3f8ca09837586acf72cce61134603f9962b775aa167f409abc809733ed08703703e83052ae39ec7640f50e72a47195d20b9382aab3021d468153930566b4e79eb
40a24c119c8b6f20aec51753572f5a025f122051d38adb13261032a512b27388ca39697c8a30c2f16ecd2cfde575cef89d145ec98775c258489dd25299258f4720d345bcddea8ad03adff7e5d148909868927f8c9549952a8d2878e5d4455bc620580a52
d53241043c81726012aa08c60a84d4b6ce4f646fa3c7e8b975c2d946365223cca92ab97973de0794b823ec352ffaf0a8ecb536fd7c9ddda746e16f88d164ef114e185ebe0a8cd8bd44a07204a191c4d7fb8016da473651358d3b6e029ac9a9e88e1dffc6
1fd8e0f38ce13634c2ab3952f19d87a83f802283353891b304fe4d2520e3d26a540cd19e4c64d538473d6a7f279c7db819f5392a80a4506fa7c3c7d76b39d2a5a5f6b60785db211039699e4e826b5c5131ffc68386b3396b293f4257c6f5db325e044820
553bd955ad82d59ddac379952cb196b87af0a3837a47b693856cc851dae483c50c7d0a4c844fb70314077b91498c61bb56433ae36188004461c6e9597807a08f045b0da8d4ef2d3386d9de558c3a5783f999830c99cd660c6e550d8de7a9c4e2cb03ae80
082e0f55c044d74d2ebc2627ff86bdd04a744ac81e1faaef16a41defb90348dedda50ec9e9157f52170d22e168b0262b872330cbbe2d95f00f52d69d8771214fdd4bc8b5ecdc9f912bc9bd533b25bf3111fca4eb7e5ca69419779f86be3e62fa3510730c
4a92de7d7280e203dedba7fe4915fed9d8821227fc3208c57539a27e1d302281a4ba56fdc78a9c0e55a234d333014fc86e7aa684ffe38f5a0a03c87edd1570d39cde25df9eb2040e3e63f230a369459d4998700986975247d135ca6945953eda00d96573
9d4ce95e50d8bf273bc0dff3c2a229310b3a42d5a04c56defbe30b52e0d54779dbb39055a663c3ad4086c27ed610b8327fdad0f81c86ed189eb7183b451d7c0d6557a6ed83b0c54c6638112eb95865eaaa96c06ee98b1e842e563188500cdbe55a06659f
48178679dc102ab355f96f5331cbb3b2b340c0bc3ae38ad4dcb3d217c7d65373fc25317897067c3cec0130c5c16db85003bb77a719c0fc307a4cd153423e10a0ae2b36af0189cb08b0a6a257a210f8a450950dce802e80c30749c43ebbcd9f00efad0b26
2eac35ed98303308fc89ba1a938d7e7a54d4c2395d5f6a2efa83edb67559cc8cfa3fefe24863c8afc7e784dfb176a13baf7487008bfddccba3f102f88e7057d9477ef70b79d13fa1e33e45e19768429324029f741b97cdcae5323391ae32c63bad0396f9
cbc0a9438c0282c8608b1546c9c8c1e720a656c39c5fda0a91be637438d86af32189fa5637a80496dfa589c7f3551add9efed73ab1ade5be33c6bbbb155fdd654bbacab8615e8d11bdedbec5dbb4ed59c980d7227bb1b55be0da09599fc502f25d885b26
518fe6755a938368ef5271d9e1aead935a9b40bdcb30973233b25945c3a9436373384b1280249ca880f3eb163c401e1fd3cb6fcefb8d4345e466d1a8d5eec34a7f108ce00d1079903b143e3ae74c8fe9d84076acd5ea939fbff7fe06a23bcb99ef28a5dc
1bf604e928053e24b9ce8d053270472fac8d1371aa7fc71456cf9ba991e1841c9dce74f29be4f565835a9dc8f7532373b927a936403134729dc1da5e485056fc4996125c60caddcaa949a212b4665dbee9f37d9ec6e4b5a59498f172a670fec0341ff7d9
d833434343117d497a986755b795e4a4e69badbc48fed3132bfc37291489b21a345c2f4c0b0276279f714a9b3236e16972c9154ba087e3ee2d75a5a1bb934975154654480c5f508c07409b75650fa86a0453096959a85e4eb555970f641762586041b3fc
342fdfe4c463cecb844f5b3e209a30ada532e0accbeee02887dd55289c66977e8ee53ddd7a75ea24b7b3ec6310115e4aa3a48c8a83747db94806cf868052270474a5a83a433cad74e665fa7b820e464d191c2eaf1fe189c8fb06321150a697232847097a
53c792797837c84a2bf74c2f4acbaf8b0085bf68ffaf1dc0a92c12949b02073c3a1af01d600beba2917cca2a4f10a2c314fc735e99c4c4b5da02c973649d2dc520b1dbe6ee49d4eb247eddcdd3b45e188c843a49bd8cc6679e9dd1bf14bf7de943c4e697
33f307b2bb7599f6df95ade363c21bf13056ad28933640299568f84acb0fc765929f8889a95c5c29159877822b85cae7f65a968e2d2570eb4584a13732eecbfb4271bc6087b8c1bc7efe7c61e76bee320bc366a5fbcaadb6f1b6ef51511e3a395bad3e54
3672361a08154bf633a9524a08c1392122bae33d43ef0434a2e7b3fc35435f0c804aa904bb2e1d011bfc7db96410dd24eea0fc82934af3cd71de71502bd15d9d1a4b7177691f6de0026f58e9c1a9654495b950a72a1ac1875b2434c3d63c6f474ecadc53
3f81814438d3b5a9bfc4f3b96047032c8e9b4dd510fb7ac0f5709cb7fa60f58d44f68eed458142e8122aa9029e943b8ea6559a27730c85fbec7d475d378c9356c426d2f2ed5f61ff8be2dded089fce06542e0a7e10319197503abb9472e264a1abd451d3
50971a471a035c8d43cd659623d501ddc2ea923d8b1b9b4ab2eedccf05dd455394cbcef3f8b59f5445807b030645cd3704365937b7a00d132e4640a8011e8d0805c09fea6c459902a900ef18e42e2ed5b8585d48ea605e68ee36252a149555085516157b
853e3296cda408cafc900c90816472dfa04ebb74f4fe906e51badb9453979015e020511db8967a9556c5f676beed439040862a66ee04b8954513b56e12477b904ef9438a4b71c37356911d7037b73acae0395289e061b0f52b6c67e6183f182aebebb4b5
7d8aef036ccdcc62d376aad8c43af4e27e7cc472f976720592fec26449617f0f0cb888ff23bf7f25f27b68875345c90e5712f35799de83427ef544ef952bd9572b15b1430061b42a15f10796feca4bce1c23fb05a69778f4c380144d7b801415fefab39a
11bfed91dc0d72998f505587d9336641815235573244b502cee8d00cb7d1702a33ff8e6b37a3d412ca06470d367547baaf3b731098ce5d34cae83d39c803ad52a92a2a64a9188a03c8661b4a0d074a6479eecc0f920f8dfb22295cd1b46f1e2c86942ad4
f17440675fa67be55d0e268613c170103160e1e767093859fb85b3d84f014acb55b013704a1845aaa92cf44b421fc8ec255aca6b44f29c5092bb196c5d34a6723072172bf9263af8646ef5aee9b6c189de6840a1248f7efb33ac02a19075e5fd03893fd1
9a0a80a5f6a69499a96c37da6afed11070c453e021d5011d7fa7bf44a1c61c1528d87f21d55bc9fafd2f25e0f326cfe2d9bc9201ded85b076345bff492cb733396df0d574aa8da957f5d95208099e3b6cbba5eb0a9754de80273a8fe00fbda8bd0559086
b6ce02ec52edb170f6ce07db6ec161b5dba64b3e51ae2027fe62076ef3b1081e2673280980463ff50e095c2ba41f4edf28ee0ed0a4c33b02b7b4981c0eb5195d1ca4c313995241961022cfceec602d816b05fb09a30176d6c62a540cca53d92f9d6dd934
631248351e65ed85ea65073fc23bc6269cab4940cee983e038c83853d35962c077deda3baa934fe3663269540e2d14010d43483e39ac81c7e653e4b25a35854cd282d1671c4a9837cac84cbe48663bc0650688a4aadcc4b7b49a88402a0a88ad721a07fb
10bdd312f41e5c0ad74fed14b23b87ebea06bee2142c1ce17e154c540a80a20d8cda8e3f8cbf90ec9aa9c44eca2c6ce79f28196e26ccd18c1851fc38c6c29b558ca8e8b4f6cd41c3ba1aadffdc6a7675e0c091f68867b6c4b795c1e3d86d7714029cbbb0
18a26db615da2c756dbb6aadea620752e56e9e123b64f1cd3436f2c494cc6173566253c4ba778abc22d7df2c7645a2348a85defe2aeb292144cd596b4617d8aedd1f2a0b8d848eb23c4b672741f8357670b1f50675f00d945dd97e4a6508e406a752022e
a622a8668a30ce02d1232014305202fc75b5a0c10926ad8577a3752dbae02b80e58fe1740fb7aad60fcdb8220022b44fbbf12331427dbce4296a8eef45024446f7ee0c0046f2a34a7ec8db546d216991347761760a4c5953c83990935c57eb5ac019009c
4cc4b83d633a8d247b16e6ae0260ca09c2f1a5ffeea0a7199b641c6839caad371aea0b3a87b8a407560939c155df90bb171858fe085340887586cc757bcffff3c31dc8ef8c78a4bedafc04656600ce711cc028dfe12cc9718c429792e098c207fa2baf99
1247bffdb32adfaa924425c7c45beb5acd0281cac2a455729a0b83dac2d9034f6c06fdcae31429502a0e5e6f594c26373bc9729d56be9b5dad3d4051671a11313233b3c44379afee9d2efbfd8dcc267c8a959f10025356fc9b00ea021f21b6783f9c125b
dc6a521750f6677915e7da14ec24ec3b14fb95566b926ccf4fd386898462500ae2457c27e7f925956363be48534618be4a27359782e3e9476e208f0244771b376f382f915b63b8a45a700b70993c8d830d8dd3612a49fd17719d00e0bac847e2baa56e5c
673943bc8e6526a6f2cc34192c93fc12291d3f1ebc10a139c6e898b7c23a94611396ea047c67a24a83922f9fd8df3fcd5782c2d727d95f4a58ca3a6b94d91c8164dc771f52646d55639920b85e36d9e62210c22871a0b8c32813a4ff4a8dd5ae02e5a358
00e261bda3987792a6e88eb055a679abe8bdaba7559cd67b6741337ced816f8c582915524ffbd6ec26df3fa6db5afd49aa9617c01a3ccfb814079573c0ceec233288b8024433a1c93a0d3f3366a8219408141ce3483ff98f202edffaab88cbf8d9c4a5eb
ea2a2f4a2ee1c4158bdcc2f20e2037e29f13cd4f61e628f8a2b5538dc0b5b5e0fd9b9baf2ba9a0ddc906f0f165381eb029a663b34359182b3a46586cd78635ae1fdf43257860dfc8641f8ed7fef196b2ba1e463db10d739f8eaa5654606e79460639e65d
8d573a7e2527c36c8d0a4c05167a54bdeecc97d4eb4664c75e83af5b8d79b136fc100a7f6a597f4d26519adf90496ce7251cea107629558c18d543111a902151dc88d9c58d7c7d8f976b273845e85caf3eab5d9a0836b7911e1d380b9e8dcd73c0332f38
5ff3b6039e7df6787856e8806787323d7b4cdd471d03842a0336c788c05a3e572c2c9a41d203a5b1a2a1ce3eea68b5e66d6ea6ca011ab063aa2642cb623f7228446093b88e42c717cf0584a8b9d404a281ecfd78ed19c788df5d2ccf8a44c71a28354cec
34dc493dae407ebf2e981432721b09b5ebcdb308c7394aa2fc7b7ae94d762b15664255aac4350013c7993d520caf2fab8ae8cfae209253013401b577bb63634b2d17b19a4099649773d4a1c3eecfe247290a925325316153508f6aba1c4d76db609bb11c
08c268031eed0d25cb742d3e35267fc3428b6af072d369a892f4441bd075d434b463d6a8f8401af0bbb7ed8cbb3cf0e5fdc813ce01c669f984b6c651e9d60c07fa337d901b5f0c546b1d52c04f8b1f52977b7b64d32f1f13a852675fb111df8599b928aa
567907cc6113b62aee703ae1fd9263f05b9fdd0e65a8d6af746034d291ea76d3e91073fda3a3547282cf424be8c26bc20ea0e5fe6861689d83bc9757094aac156759f1b20797dfaa6328d9209bb895bcd5d624f474a36021f10794e9e91c0e9b823fa982
f3d3a5c314302b5b2bc56ffde6c166a93a283cf4b78e311c35ec5a069ff27d89547d214ad7225591c376bb361f684102c26eaae9cbc7e01bd68e02c36a874d986fdb4f492de658c021085af872324947395bb090d4ec3a3ef90f128f7f85713d28feeb86
09a4af9e3469e6680823e74abd81dcd564fe4811e88263c10796fec205c782bf7ee161d536957c03912764a8774370ab6f9458f7a8b139677101e5fd34cf4fcfcb514388e6ea23ff7b06bebef7a298426938eaf7ad491aa945925f79ad2e75995474ed3a
674ef553bfa5ee42e14b3b7f07daa3ab1d9d80a1c4665d3be321d0ad5f27908f8f358e34b2895553d06c7a764eb84d3306bc19e077114df5177e87589951fd00303a4c37fd1c13909696b269f9de920f0e2e0d9b09dc3cbf08dcc6e3e1a0522107a2626a
3d9b0401c536e9352688e1a206df31ce76ae4e22575639ab459ba7442a330d4b1e3106f87d7092a84917a09732f05d80c957ef95bc8ee453c05b3e62ff0a104b80504dae4a27de488825d3521d9c64fd6c4e725a68f8d769525e9ed2a4d46118074fe171
250d5f3a1c4944793f7aec8c5f5cb1a8948f9a9b144b0a31f23c15d07701611c72bff02165b90f230c653ea3eea25c0e03c61bebfc6913b1b10f993fd595789c56844aa64a72731006e30b43b6e2e530f8386784324ccb2f2843856cc817c8c9a0fd3601
3a142595603a3a9e06b2162f0406221b034f6ea9d73b5e32e076402031e31eaa4ef958666bf2c47382403266f97ae0cd43b26ed4f49bc1f9f539c0bf9241d45e3186ed641c1fe0b4e0516c852b7f6aa306fbf887d99ffaa06f79915d38d80cc2de8d2fc7
69a8d55993a12a64fb09baa341be4ae08d68dea25e6c56a84ea0707516886f393838bdd35ac8a3f51d21d5e977c642d4258e0842d5b18dd6ad925bb9f969e06672ad7f280009de69b8c7c7140fb244ad5d50e048f8e4d7dd653a4026340738a61eed4c96
0c39c84baa1a9dca47c5f55ac651ab24325f46826075cbea0888e68b728be47a854e805b7d5d72140a9a9594d72df4488901a7336db1211940dd745d61f354a0faa47c1fb133fc34bcc00321eb946c5cbb54f437f4efccbbf1426b4962ace297d9637072
ec0efcbc90148e4955bac9af07a445eb502b1c82d7112af0bd9c4fed2cd4715181b7434d2b522176664138131732c80be69d83dffaa2c48beab97dbf77de0dfbc6878716a3954eb51cd7e832082789974160e06f330610cb69d2113c70ab6e0c2ef81b28
3d1938783b04d80692524571518eb5f53cf8a19e2f31e9e48f890eaf27d2bcb476e9093ff267ab65641a1fb7324148d8b39a52756c7ae2a237650fabec5a5af79f930a2e7f32b31df1eef3543b625d95e99c53b90863b95683910395db867407b79b8733
d53e376237c3a7acfe923908ba91f7c7ab01cf59d1307c971ff9e31e09037c4dd4503b6c87d23690dc37ad661dc7410b525af1eca0c9b2d9bd895d15a003022094ec54093541df7c4f46490b05018bfc25072a87bafcc8f3b0ba9cb0f182111aa249eeb4
c0e0cc6f253daaad4ea51790f7b991796cc810a2df75b561dfc6316b57843648986b32dbafc637a2be59f903967699e42c1273d5b2fe430207c7f3345ce98d90e0f3e87862fb98f30ba6036d6230a8bae2f1934d0dec8e13331ec05cb225fb78c92d6ce7
85b338f85bd415e771321eea18dba7e22ce070c232ab73166ccd0aee0fa83c1178469761880f2a5c16401b2fdb1aeed98535b2049e1fffe15e5e0b6b934ff6461542881ef8cf227e822dc3f01ef5d34e49247366cbc564ba574db4104f7aeb5ce8b6880f
7f423d78a3149376ba67822f381640ab6e90f904551f3c30a0cacc2dbc563637ca6eed5fee7eb0ceaddf07d06a26b14686675460d3b8ae29a8ed8eecd00a76fef8bba1cf73aa6c4d7b25cfd543e01db73abd0a4255f971f5a5eaf437b776cf9d713cf3de
eae28201abb573b29747e47e482483932000a0e030c230642f3d0d3b26a4e3db41810afc1b7e5ba4e45e243e75dcd429c922923b9d641f036582677bf6eb0a2549d060e564f49afbcfbbcb5bf5132dcf50d802a0a622eb4e2562e7bec64599afe66e60cf
72b57079e851353737f50f8c0caf9b60383ca842f89ad61765acba7830781ff1c6ab0ecf01d5ad716853137d5f95b739b3b4371c33387e7d55fe95261128fa80470368e478eaf4233d98fcbadbb1265b8b2271a9902604793e3b06a7047fd172e848aa9a
3707d1ec4c2706a49650bc3bab1264e594a3d350121ba6404ad3f1cfb678cee0067fd41a93ec100db50819ce870834b3a337534965e980e53065254cde8c14576b67bc3d2d8a938cb9c57b8e3a4becc0d8dc94c84ebeaf58d96edb0cd6843abbcbe60e67
10372aa8afc841991e543619e58990ab67e8f64eba0509d4e98d03bd8793ef1e2af711d672573f5d50a13853f88a807648fb6da3759ed638efc2a688b93b3b64870e06a713b73daad11f96d34fc3934b76213b03b91b48e353bda0f257a9c1ec9da6a59e
f21a0e3cdaf0c3e943f24799fdb8fccf71d0898b7a69d1e7d50d44cb251f36fe5af3ade02db985de0192170a7472815c74ff51affc26bcd7424dc206a7b2f41038d425ea9d7b7a2d2f3a5f79d7f90ad33b20f8da9015d5edf471ce4be71c47dabeb76946
5f4d0a7321bf75f33b440b902272cdb66fe329c223e70b57e72609bf933fc7b87a2c10824d298ba60a2ef365926cc7cd7a950f83ec3bd4b10da7a2c94f2d10c7b11317301f898eaa82714dd606daa247d35295d6ec2e36c541adf9fd09a56393c5cde89f
2c9187c0c76c203ddf0488540c90950d400a4a441c5fcc75a72236302bdbe1b63124fba3f37857d82a6dc819c3a12bc98b42cb573fe240331f2499d848655ef89e0f152fb8d2f81faf7947d18efa6d0b4a1b54184625522858f08e71857f3c500cacacd1
36db376d7b7afe54f65ea8634006510b015811a19ccd3e73f0c79d2c47c29e8e6710af86049126133a5f2837319e952758ac1932f2daf3203b928bf7a55537c49a33e9ceb49052b5d90c6aa9202775b9603ab239d274f7438c409a3ea81650439b831665
4b29b1dc12aa6e192b660fe666e31bc860950a4dc4edb9d463d8eca70a7308bd1ea1e99a71566c304226146835d64446c3bab5f9d71d19e0599c4310cd26236f70766985b73e29d763d5cac5254d53b28283f7327dbc0cf71a8ed74f3450b07b49a9a434
80a386641279bf5c4e297fa4c353d7ca0909204a64241f36fd2115bd977fcb21f3a11e0781561042d13df3a7aa566c6bdd0ca55e705fa543516e6c7428ca85fe6fdd5fb3fa46037e312e314f57623e7fa0f20d1f01c03eaffb916dc1d40a8c4508998590
4a28b77f218eb3f45a8eefab548be617406c6949d203893b1c201582ad450717a3f23e7ec8603a3c64bcf6a264953bff8ead13a3f31880c0bbd01a0d91e71d7937c0afabc72cf5f55cb88e7488e6569e268f791743e3e181eb1aefac6b7bd9b881bf3676
2a59df3d61d608390c0374b17e7665654d3518ab5eb1e705868e376829b4752fa22a25c62401cbd36b097db94ce20f40d441105b3d307b9fed3abd9f3b087e827a8726eb895e4d77cc1557d26e381fa88ecc26e36c06a7582ee86162b9f97aa9ed594641
335aba2491d91fd52c1e5f7a6f1843ec316684c68fe3a2a09ce4dc2d1a3e19ea4f522bd460c18ec14e87d03a218d520fa492f8cea92e9e93dcd733f5996d9948eaf2f149366ba185f9a2181cf99db7ed7d4a25a2196413a95abb4646ed89f5b3ecfd839e
d7338d0613d18c99ed976695538e1d7694534a2a958be6f303aaa6e759b708d56f67f41ad0086e590f3bc131e93e9197fc131f6d31c312cd8c8b8ded590950d390b5db616bdc658098925a58eae09149afe15d3972c821eda68dda81971fb41dbd541498
4b33453062ca7cc62fedc36121d8149268cd495d366d5d7d54a9cb3762f9a26bd2927ad372c7e3a50c946a207410a8e34207176e2eb076971da1ca5ae4281d55796f89e57be2d60c225f96e147fa919bfa7c720867e13f0c919876f1cce233e76e9c1e04
671e80013daf85acc2cd74ccad6aeb05971f52952af01597969841a1a4b4b2292a80e2f1357d3a808e0a3bb70e5c2a0350dae536fc1cc2bc8f006f5c3df1dec6fcdd9695f13db527bb9be7e6f2049acd51ba5c76086993ba61056090412ffc607c48e11b
2f8c36b06b8bb441e08e420b4feeee0febe103178b28bd0c11e393e6bd4cca96563b9237fd9bc5f0854194430927390708baf7e5a5e37951633c11f5c57d646be28ab52da27bf5bd9cf6d9161b91f95946d1f1fe6ffb3ca4c0d290f40270bda5db8364f2
fa85d9cdda632bc68ba12dec58c5c66c7e7a542c69cf731833c86c9be9e9c221bb6d08d1583648251c6aefe0aecb3fcd1a8c37e9afb7ee32ca890ea5ede3529027017a997e4a6965e881b14be08e88202cf702bc57a0e53d9cbb2a2d491889f49253f2b9
dc25d9303b932dec36eec66bc59e1d2aa3b42487d97fc42285fcd24cf7ade0567bfb91e35b63f97ea4d86461d9dfec7e5bab915277439a4a137689837091214967d68814aa575a2bf2df751ca351e627d33ef30dd460b9b69baa64fa7fad906adfbdc08e
afa5f439cb8a3e385bc7dd7387af7a3140b68061cd59a187f6a723bb49b9dc4cad7c83cc63b2d94f32388368676bd9291c8210fb22d4aea54ac85e652420c3b240cf7acf1da6682e40f3d7e5356224d1e030cbee145694287119f2d5a931f27e9f0e24dc
0dddb1ddb1e7cb9c7b1e5c9451af2d968f8a7c2f0b452202a0c97d0406ecd50496a85f7bdf4213e47f1cc412afc01483b08ab0d52baed3dd649c4b493eec50923fed52923f33f584a0e8e1974429ef162676192f5605679c5cc2a544e3f60ec9a595fbcf
e14945e1b1dea0f4a643fa73ec4713abed97803bfd95c9bae2ac5d540e5bbb5da152658a426852e8b65d73773213396ded2b870fa1d967244bfd19cf327133e23c84744c19113f77566b6c716085b2a432c99d1972ceb115b9ebee173b6575b11745e3b1
004801ad781dbce450794179a2d4d0605f80d86db190387815a1904b46e9669432e22a0122f70766f61d845c2715706998399d483e37d425ee00811826b7310b66f66d67781ce1d697ced37e3aef822e34a6c8dc33deab2b94c69b57df9715876747f58b
3c29be1bc8e0e5bbf456e09f1a5572916738836c07415a52afa2a82b339a2138d409eae6a7c9bec592e243a07ec6423437516fabd3db82f242297abbe5af8891d8c9f0e1e484f7d36ddb9b6593946187c32b19ad35ec3973806933707b9fc3a3bc62b048
a9aa79680029247b3488653d5e3f1099eb0c1dc9d1d3ed931f013ac939edb5b170e34bb3f5080d11f55d110e41c27588092c5a8a1fa1b4e3df674969ad0af619a01b212f592f33d25219dc30e35388a667c77194ce77999672fafeea7ef868095ef7f5d2
b1c6f497a8ea147d86551df14a0501f3e0d23d17043988ef38bd30f468ead52586890dd49da672296ad105ac090f05e0597894a2a3a47807933578e61e56d56a61b94f577db96581881d481bb2a87207af3d3a7456047c53d8efaff55153da9f136ebbe5
e863c535b5ec897b567f9ff2edeef878db1eb33b194f4ac68161b590de364b5b16034720ab9193453c8999f309ef20c31de7119e55d75108551edcb6c6be7429523b583239768008541f921d03241711bf8fc8d7a34ce09e0d70e744390c3ab24220f232
bf4b2ee1733437d604cd2af2fcd855e4a1f3d7af8c1e0e99f17cb654e1f7906a0df520890ba07a483d46228b674ee8372e67f048a00f52ef8ab651859b4c7143cda798dcb23ead94c8dba85fcdc7975741039d3ab94d93d841adef900e90cde5a423df07
96f282cde67215f31f846a4078feba7751a07673db63032970a42640488cc5934298e8e6de15c47cd4101d64c510dc9051de9deb8aa7861cc225316b2137c1d50a23cfd355a679a199ea01a77211607af139b143f7b7ad4f4528c212c445f9f92a2c083a
0de763b98ea86ad3ac5e49cfacc99a7d2d519e0649371768b8c0154cf31e7fa4788f0521ef143bdbb0ca5880053ae7b1fee94ccaa73762edcdef06b0576865a567fd4853da8c5d121793ac20726643167c3ab969b1343bb79759432b992d9fe58f7d404d
719c17ff10e1797a57d8bae240a1f5c6e52bddbb7925f5145a1b07c90da3987c05c44ecb18a6b5ecb7ffa91c685e41aebf95b8c965ea74b4813b5cae6118dc3ea6ba2a8b28e366d86d7e048099d33ac1ea163e87d17bb192ed83c9f59979c2586878831b
7612324e79e7cd92521db2fa9da7f0943b1ec92fa852045e06b94026c8f21fbcc455aa5eb2f8137e5b00d7992b10043cc769b3acdf4cc4b30957004589f5c2d775f600e24fc9a03d4d3b09ab5092c2d70e20b8da0169203d960ead7bb4e29c8ea167704a
5e9efc0d6f219ee0c514adec4d6f9bbca9da994c961450cb9ee426e6cbe7826203e1359fb5d7e4cc210c300a694e71359faa761a20b28b031f072bbbd8041fa940315e9d23df32f884fbe6034cf88663666e2612e794e16d1cf0d776fbb102c6274f9ff5
4abf9e81746e390ddbea80af364b9c09654c0597bca57474ad4abe181d8d8f8a8e2ffefad1d1f1703a102a04dd05323d1daf853884b28b73ecb91b485028121155303e1a1f0f0f923f4e11e86b64e00b7c6a21d7c20408a279aa194581157a588fd23343
82d88a183038e211d1718b684cc631e9ba567ae9bb613400ba2c2e4f4c379f0c17aacaa0a28617dbb44b3e0db5fc14e809b6052e4434c70d80da03308e0e3771a91b20c730bb2b4093ef3b9ba1a69e598170c77486cb7d9205ac5876a120df7eb1be75d6
84866faf29dea83ddc958e27f18ce5eaa0dc32e32d5e5b4d8cc672cd1d29a1b6b5a8f192a1b1d7a6a3c9255dc5d05124f44e3ccd81668941b9246954f789653d1728f6fc48c95db9c6d15cc203ea597b0186c5b2cd00f141638c183d232f6ef10392863d
5c87a4e12ae294345c7f1308f55ed09a78596546bec15e1b6dcd48efd7097b227371ad65be5ceeb06603c2b5593e27542ce07d6cfe6c19bc27598ffaa097d0cf40e149fb4af7233a95c31e0097aab175ea14aa2c546c41f4112c3690816b8f51dd575ace
500a54124238357c6d18d9dc42803828b11979031108e384268778f9b2385a8fdb9bef70eb5b48c512b8d6cc8503831bef1c9a3464d94f935b0bd40fa9252983c933efd16c45582b78ed3a200f4e462a1e983f69943585946f5ef70e1fdb0e14ebf81163
98f120f2c189dd6c4f3d387f46bb2ec8f0162a2806b58c50ffa3203fbb99ebb91f3074ae1b0f536d279a69e0199d45bcacd64c9a23e1f162796b99900339147d2b1fa2e89b2c308152ada07500ecba6fdbce805243d2dd44bec1d2dba7e396c17cc1d741
a612ae0b0dd7c1efa2f413e2aad3304a89bd2084ace6821e17845614cff0a58172e6c6bd24661e623dc060aae213f39ae4b565ea4c8dafc80b6d17c587e70b4196c53c19ca8553b50e544a934abc65a478ba8d4bd52a4218cbe32048ad961a1ed4f955ce
04a6ef4cf7356722a13c915f291eccc47ae3f4a14afa89ca928f8ba1fd5e792c7b876aec87efb40a15bae1f8e754243853a5e5f0fde6c5f0472dd72be492305754c52f22dc5cc0cf9cd3475a2ca1154bc8244412cdc488d2564af7579589fb5a8de86c79
fb4e206fbf94a358b2481fe96864b65ffd4b6d571ad5461585f51cf70d776d6be168ad512b454b6b2b5b5c5b2b0a76112c29c44a156da431a53425db78dcb09636b608114a1215912284282d4d59c2686bd9219625296012858448a6644cc2244c328b6f
12dcb7735cf223243393b7dcfbddefbbf7cd42e846e69e61f9b852bbbbfa7ef2c5adae71c179f4ed5ca6aa0f56381202c4de9febd4b972a62374c56ba5921e556b2cf4e6af71b393391985af0cb8637f756b33b8d81c02d5429bb771e6f897f69aedc6a5
ede11bb9feaa343deae582e586e30f93cf33d129646ea2377cd7f1e389ae50b52b1addb6f5702ef3a019416b35734198f0cd65a12793993af39078aee66b770cf65dfe143ccaf4c298ac51404d23b30a27d38794311473d9df67a0614b1d38b5f0b1dfe3
ffae554fe8371d8ffaf5f5b9473f791b84fd47576d8cfeddbff540827b5de07c96e3b9a7f67abd1a17711c94a414cd47afa81beb3c10fdca68ce354f5e74c51737cfe67c7399b1ace8de6b526f45aebcedbcc26f2ef35d7aab7af59b179cb760ab70c309
bde385672e79f8a98738c6e68b3e191e83a211a445b43593c444a367b6744a78d2564c0b07e2f78b87addf49eeea874475d46d1a78303b08cb49431aad6eb0f6aadb1d48fc545fc7384da6dad8329917a22b66c6e5935af318e5d5ad84ac5e7f0047e929
1c0fe6d7645578ce744500e17a63d240d804774db78a04037bec25cace25ecc640c9a755e54a61dc0965168e93b55ebfb7c19a56715abbc698436b5248a3a5dbc42517aa3f4b2733e3ad1bb450e0cb2d4f42fecfe8047e6d400cbe7c4a07cfd02f615c3a
c832f4601a92e483bad25f0a2110dddb466fa423c9c2e22840a897b4d02ab5b12b151195ee7a0593b60f16dcd65fbdb9433e41ac2f389fb574dfa0c8be84ab3026217815579e45eca4786607698129272a91d66542a67e7f6b3335988dadcc214768e934
742cc05712477d2387d0a67b29b101c66068db9169b690f37525fdb20700f2f16f273614ea7aba5287360d164c8a06ee383613376891b6cbb5b1d3d53a58c58bf78e1afd05b00ed89a3369c4742b309d568f1828ff0a3169a2a92d5c0e1d74585ed2d3fa
14d9252c3640c7b52a683287674f1442847bf6db097a2157dc65deec4cb95b39fe9d39cbf3d8fa3843c41ef5f1423a491ad8a9286db4e94bbb0ef989c99225b8bf8b6b52043885045d01f902bce918836155335d6730bf71824a1544d07a3519a45aaec0
e9fb2027e2dec8c2c507455d12d2cfba5a6bd74868338fa6a5ce7329c2bb5cf781073b83d91c6cfabec83d201fc93b53e9de63467da5751870e7e974d92dca1c7d4fb3b73fdf9c317e9b082989c0757d5cb8e13065e33eb4843e8ba5a370bfba438313a8
e9a0c351d21328792cc85e4f07cf5afd56a9d784298adfe6889758219d05920eb49478b0ef634393cf521209c2f16a7753f6e633077ce35b1f87150e8d544dc77d922e9bec57a7270da98953463c470b8be8c63a5e9fbf2d528ff9a08f28ff08e45b4427
e1624c77d4b28d3f1d448d416daa4c857cbb3c89eb3fa14d8e4999a764587fc3ee7c4fb19fb20be2aaaa163e13931269523e63c97b2f7fea718ec8943f256dd77b96e550cd91a023de0b7670edbf28884c4dc31d14caa3dbe86ef8cd342a8b5c48c7bb34
52da2ca2b1b583a53fa28f0e0430e48315e21101053e9c649ee87fe3c4b7df7e3b53dda3dceb259aaa53ea244ba3b8593b9f3f75d261309833ca0ccd03232506485a4e13cb4b0d6d153142dd1dea98a8479af68f9bf66eb62f226d27b5d96d0a932879cf
a1ef22d449511dd5bc55459ea8760db0e1fb3f199b9baa8725d7d2cba12e8a2bb315e09fd28b30d840f5acb869351e31610446f16fdc0af7b152487fade4d80a6e6b090a7350da3bb8c65d81aeddb34e457b78eb542d434dabec79293220c5779ca5c432
992aee64a7f81c9ebd44c5b32516624baf19166f77f4724daf058aa1cb35447e626f1a8461b68211be341193447bed251d1ffa17744ed38f92e811c80aa1c120da987f03dfce38c36048983e0dad62b2db8f5fd6b1d81aa46bc9f90aa73987d8503fd121
902d996a7d88927a98691dbb190e2c71225d74cc51df2683c98068b44c3802e8e476c27554a931b3b591998095219ccfbb77b1f19a23db0148b2d53d75227f533a54f7a22f804c6b7366aeebfa9496f665d16779bec09898d6175b1ac32310ac64b19b6a
1f26233fb73c55e5ed25bb16099bd6b20ef57b5ffc02b0631cfa756ea5036f4ecdb6c49721c797f7df8e777874467bc94598701ef868c882142eb8343f5a4fe6485db2eb7d50b778961f6ce6f1503048af2daa07dc81fb08829a3820de300a9170eee046
84a3dbe5b3551b45cf9d5d3f9580641a95c2fadac5de82b45aafebd4bcc5f4d394b1d9b8246a0526bc35f47993131d20fd1ed3c1955ac271dda9475b8da8fe33ba523c02a3b0a38b5d0a37f6fbad1339be51c8731f33ada7bbcc15c44779e64012cdc9b7
e86e0935d2ea398039d184d00cfad683818325d4665b6ea28192bb9e039056b198c3e2ac905c3dc2a35398a425cde7b4399a5e4bd86758983dbcd63733beb52ea8ff7ae12da6e2fea355a63d3e57acaa3f6fba3f9806666acd480780884fa53e2334f947
86ac5541ee273a3a32086b01d988554436ce419eaf81c56610e833adf2c1598959891cc6c6df3d1d960b484a06b0afcaab160508dc5b085e0fb1d292fc262eb4b0ddd3b45824909181fc1bd989f9b2a9feeecdae8c62a460f7dbde1d4948b799d5ed8093
fa20d97cefbae77bbc9e75937b0fd277ab8c8a16ebbb0ef6f90909b2d9fc5ec56c7499e14864d2c209c5e642f7895595cc8837a70f2bc223eecb2f6646acf52be4e3ea497150cb6eb05068de8f56996c5eeb44b3fc50ab13f6e68ecc81f72ba24c9db05f
42add7af9a9a91a509bc919f674c2dd7ae831d9fee545d58ddc1831d9eb06184129f75c85ae091dbf99af8a4201f6da4969a2195823c365e244bfc554fc6e68923f4bd41bf55c3f4568d9cf9604e60b6003c0dc6e12f661a06aef8b4cdb03bcef025fe2e
322ba8e0deb97067517b08349625514e7419e806b05546d0100e9b1852d49ac1a70bdd593e34f8e35ee0f0a6b1cc25d68c6eff03613c2681976b87e79a7ca3068d959dcd2b7b2a33c2298f06f7a8ea49ec2ee9e286e7e960b99e1a319dc5747eca1f87df
b12b11c7514867bd1b3c2e52cda656ddbb46bc9b2a536becfa0e79f5fe1861f1e1f82f76be5d293cf428134f354f255ec64e111457ef57233d67bad578a931904558245bdb9e5b2ee3272db32e9b0faf8c2ae36f9a0f32006c729137bad22df61ec04b4f
cfeaf14e49cfc0ac133dbc12aaa983da5a06f690516c881f4ca7d784f6bdf0cb761a965360881855cce73d67953199d67b275c4271b2b1d95bb76f97ea40ff11cb73f58bd0ccde89c3f113a2b66a1d358aab7813fe4971fd3eeb2194e93f9ad17919bfcd
310afa5655b987ad0db845dcef252a24b6eb3a3a5b496b07354c37fcfa6710601611dda55b437f6b0b755a5bacdef97e3e2b435894a85f356f10b517f0ac39adfbcb91c3da58275e2542b44af400b44982f9e381686a2999e9109a691a982db8498f2526
7b4d22af1ec998cf9657eada725e94613473145b4ce6eae9808de58e9d0c38b5c9a9bf56335f58cdb86135735d7120bf69ece164b459e49f679078ee51f0ab9b2fc23a4a87accfd54b0d0572869d3183ca570f9712c1dd3c0e0a27bd38da3007b80ff058
76c14dc9f1daac8a9dcfb26b8fe7b3dec31d0e75fbce5ddc83d5e50673eeb28fbd04b94d6554b7778a269f04b19f9dece49755d1eca3ef92fc96b98633f46dfb390e79c83f08a9934db2e4d9537e7d56c50ee5cf0233b069759c21a3b6583f94a11446ae
f9d1f03f5bb74bbc91ff049939f9f3e6216bc36c63afc904d51803923690629c667c0097e2ba6608833201200c8d003f89a676b4cfdf9b0501914043cc3862561147eb73a6c434308ad6de9c51b02353835b022a4b80e7103f6f00a94564eac40b154f42
3dbd2a008560c068e0c4c3a416cc0892918ddec4230e1040c72c30a3f5af944ccb3c1b72f48a609ddf1628e0ca3e4e4999c876a06f042680959799da96ddd74d9946e0404eea1193d51844f583bc683be208230490b4cd752d263e479c5ed21feb5f20ff
7af122d6daa904f5f537bd19583abfa96575b481f7a2063da5002b472f29d9d9ceaa74483febe4bf94f47c8f7a1db9b00baae017f0f1d84fe845b8dc1badeb570b8c819ee3c314d91b524446644af1759a9463aecd62e52e0d83f5485cbb976bc8695d81
b1a0d3870cbb79ce546adce26536c48437f0ab7e9e9eb9af2b55b62b07b17a8b91a7e7af0c83963e867b238735ae3c1083dcc7a8b1c974a8a7936ef3d4d2cfd9e05c6a04e123647cd8da4c1088e60dce7bbe75634c4a7bb335d951864c996fd09bcaeaf3
d5f9966a8e696f20fb62aca377882d2e67cc0a9129dae86004ebc72cd056bfada022a54678623d72aa6ba29a15f966427dfc17ea7dfdd16e0e6c65ed38b851a8c232a31b96ba15fd6b94f0bdf3b994d72bc8a59ab35497f8ee2e0243838b6989045b796f
9427cac17125c281a843118cb5f4b32197b0574319ba87e682f6416f8eccb3aa745716e0f42f77345c731f5e5355bc60d89980a434ba5e52f4fb372f60da4fd4630555e3c621eb01c261aa859149b10d5e0a6c3b4ce77b133d6a6e384c0904925327c3ea
66066b8788ad3a3f3139fef340d2c4540247b023b392c1a702321305f66c4df0eb5a36bed728026eb9872703bef82c3d6cc9602253612f09ce0e7d3b1d22e89daa26d5ceb7a3f5fd43526ad3b3be207124e61706a4b358ec37c279a881ed3dd2d8eaffde
3de4b66fdf0e02384530b39d7fdfdac71cf8cdee5441dec2a6e0c333939542ddbed3b31eb55ace71189e86d7df53ce25f79d52af8056634259928dddaf6b6d24e60dd338fe0ebd0ad0abac7d131233911634c07e5d9a6fdaf633c3066cd5bb6ac16315d1
0697044939b6d29a972bc1c149c3bbf6a9dd4690473f12236be76c803c37f855ec094d0d84efcd228a74be34279865cbd80206b18cc75d2ffe04981971816514765403d67ce1d4745fc8fcb95e47e227a060cb22c914caea18b6a236f51238402b89b1c9
506442524fb1645e9e745eccf0de0dab7f46520ecfb34a3900e4f306961c0175548ed1befd9a683db2430d95be4726d16793c97b62016d3daf85357e2e3cc8eba14efebe9425ebc68dca6726d56a68fee08874ad6a5b5b9bf8913883553bd928921e1d5f
c34f12099177a0bb288dc761bb07f36cfcb470cb72683593ca09da1e21f78582f96bb10c635fcf40e9744f182c4603f1d28f69f1a741147f51490ced1888dd76d45b1f6fe73942006bc4bddd1d9a1a38c44c993784902876a4d3a6509b8690ec91aa70dc
4e87aadf36bf56a87667d4d7963898c8f7f7017a3bd66c90e6a2640fcc97fd1a6b3f47ad8bc50ec30c94b062650d40d89767fd780ed7292fab817ccb4303b6c4eb8de321e7b7333cb67d7b98c78ad5449bba3373e98e83efce25d1f58b841d873157e9e9
0cebde1880a2337150fb50b29612015d3d23e92d655706e20f0264792c9e9c8df41a264ab72bd913759842504b06cb7e9a4eae06404b58af4f693172a069899c309dd23a622de58162f8bbbe309f09509cd9a0086d68d4ad877eaa0d5c933616bbe50806
4e79e717590cad6126e41f62a3ebccce24bfff185d05a84b86e98a08148089bb1ab0da2f695e1f87afad56dca3dcd29e8c85b2e0bfb14e4099c5f1458525ae350eefca1c06d85b8fbe5e65dc5bdc919a9a7059c166e1abec054aceb84e06a7da6ead7125
202d195b33c76394f2382877791be1704c8c12f9fa84ebce6eb991c90e5834ce307f282043f009139ac89dc3c0152aa28e6e2ffc23bcdab7b276783624b3567e325c60546e338f2c5582ec86695f2c42bc8f9d02785a841bb4e990a9cfdf0994b3d15b4b
3384c68665a18c0637fdc5b2cab1715bf36a0710e918ba99016706a8ba407c6b30202acf1a0927977a564b8468d62f0e1714ee9a9363761bcb593795909738752d47f4c706fced3a4801ba451268daee50489a5a4e55c7745cf371c54d5d3174b94d01bf
c3a51e94e1119544c73aeae4f152711f349d59b1a60411cce5cd2dfa2a2f901d839559a1a8f59670a9159d31f49604225d86dbd9a0885ec3fc38cf6e806933f3fcb767166bcbd5031797ca070e94c813b29c6902e0443f92263db9585011cab55e5011ef
fabfd1134fcfedfb9928d2fb529b2e3dd1235fa77b1b74decad539172cdd3331272d36165ad6d3b17e6ed74ff090101419a4bba356bb0ebfbc6fa0e4baa97619352bbb5177d07af7024f0fbc18b7436b65b8ee56988801332e3d081357a89efd49585a42
059f85cd0a89c41869738c9d784d5d173c505c3928be30efd599294773306ca24b7f9aee4406b0dbee95782a124a1eebb6fa8bc16ac3fe89aa86a5b519ca1c9590e7e9816e8ca04bb83f19f67698e0bd434bedf4ccb4fbeeb8104dec0925d7af8653ecda
c9ea56a156f26e90aff873a3b5c4b4fe89d168ec0f8d76a203b5c2b496d86293e69b76bbda53e0ab766d949d7c8920dce44c752ef063f26f4c14dd474fbb6789c440c4afeb1afbfecbc0d79bc0b382c0ae5f000b2f5303a80176a5619a9c3ea986f6c3f0
9009e0f656681b5a3e7f0653c0c7016b0f7da08589530384669493f15a1be5b94131890e9b3975c0ee976d5affddcbc935892b3a239d810d852f553d25def6ce0acce98a365a812c067dd3bb7517e176eb41c27383a787db097cc8a0168289b0ff090431
69e5f688a92fbbc5df47464626492802ac8eeeb6bbb55cf80aa88dd1c165e067d0cd30e1e989016fa146e6e373893f16cbe6b649ee2b2a201a16713e64b4cd4f74858e7e23d423fc7ab86362836c4e0b57b0ab1689f07bb62defffae79f4858ad3f98da7
575522db2a05ab4dc3ab278aea6bf7b5cfcb4c5fb02fb6b9fedef9393b3373ffa7037f84c6f762998d5d1476644c38a2a3bb62e030e794ff8bf7d0425c367ed2a06647a86767a60699758508351b4a229a6e9743604561d65b25122c2bc5c3e1a1e0cac0
5b28584c9de8af10f86d873caa3055827bec774fba7bf6bfb427ab2281f24d8f6d79772eb67e1cf962f06795c2fa13b4a7deca9215cdffa726fa8f0edcb5f6a639df93bd86b4817dc3283ef6f6aff108a6414d7be34309c8f76eb75ba028561f46bb3f5d
119a1914113e34121cfa5e0c5d184147142caedf79c0f1500173d664ed23290fd73ff8ccab3f00504b01023f001400000008001a7fee54f701a255097900007cd700001800240000000000000020000000000000004c6576656c5f315f4175737472616c
69615f30362e706e670a00200000000000010018000092b601d597d8010018aeba9e6ed901005daa01d597d801504b050600000000010001006a0000003f7900000000
'*** 09.26:
score_512x36y.png.txt '(4996bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000200000000240806000000ffda82f3000000017352474200aece1ce90000096349444154785eed5deb95a62a1064323114433114433114433193dd73862e662dbe1ef0ad6bdd3ff7ec7c0a76358feaa281af
10c29fa0ff848010100242400808815721f02502f02a7fcb582120048480101002df088800a821080121200484801078210222002f74ba4c16024240080801212002a0362004848010100242e085088800bcd0e93259080801212004844022007d2730ce
40a01f3ed7f216fc65bffcff0901b5ff33469febeb787bffbfda038cbf08c0c91e797b0790fd2200220039022240270fc42fad2e23007d373f07c01ba05f8ad76e66730707cefcf7a6752402fa9261f8fdb9aebb97a4338df3eff1ec9f9aa90af3a11f7f
7daeebdbaa72ce7aa8999a59559efdddfc31f7f386fef72fef0abf9f6537ea19c8ad9efda1f2bb4b13e6edc631b2cbb5bfa903e069fd3f4c73bb3cfb6fe7b7b33bca41f579f3cf9708c0418853b122002200ff3609118088463691d7cd7ff97bdcdfea78
f4399dffdbd0795522009ffd2f02704c932c1200017f0cf05c2a1cc103406de48fc8beefe388d2b6f389751ce3c887df4b91027fdfdeca01d70f2580edaf8ffc2d446ea202d034f390799a2cd49ca202d0f5758a428a54fbca10bcb2b970fd5002d8feda
c81f01621214f873cd5c0829147815bfba32002d968307b87e2801d904583bf1c35e9be01b127a260843d62d16ba3fececfe90d56f7666f65702ffd3efa3e15efb1fc708049eaf75d8d2e74be566e5598360fb35ff9490dce7779e7f92022007ec0370a9
14118038328b00cc2320118052cf31bc44008cf88b00d4b5183df52f02220017b787b504a014f9b3594b9580bd237ffe1e28016b158001a19913f9737d4b958054fe41ed034ac05a05a018f96700c43fd42a019501e86a74a004ac55005264ee44fe99f9
0b9580bd237ffe9ea404ac54004a91bfd7fe6b9580bd23ffcc7e532c910b2005607557daf4a208c026f8b6bf2c02b04e011001886dcf95fe450066082c5d0a1001a85c835939042682a125809508eef39a08c03e38ae2ea596007044deb651f203a3affd
00ef3d5e9be7fabc2cebb54b454b15803c224756d7d2dd0d9fdfe3b579ae6f6ffb972a001c9163785e3a4c7beff1da7c569f03f35aff2f5500b209196bfdbf6ffec8bb85f31eafcd737d7bfb7fa902c01139d6fa93b255390078ef71f9d9bf77f6bf0840
a5c30e7e4c04e060804bc58b00d429002200f396240260788800948698d9ef22008be0faef1f1601b8d8c52502e0adf5b7ede7ecf4718c69dff89dff0d73f1772f3720d58bec69da46e56d23a985b35601f0a4fe69dc667fd3469cbcdc00d4cbfe817d5b
edaf5500bcb57e4b7dc8e0aef5bf6d8a08c1d925807a8fb2bf5601f0d6fae918858443adfd2917c2c90d40bd47d95fab00786bfdde6e9e5afbd1bfd1fe393700f51e66bf72006a87ca439f13013814de72e12200bf2b002200b10df15abf08c0e7be553b
018a00c47e2702501ea3ffe72744002ef66e2d01c0da7d6f8baebdbd58ca01e001b1540e228bdb2900214a108de53e4cb6af3984df73007205e4f7721099df4d0180e4dfd91af660916b290780ed2f9583c8fc760a80d9dd981235c1ed852580ccff8572
1099df4d018074cf393ca51c00b6bf544e8afc2d42970270f1047170f5220007035c2a5e04a052011001f86e4a2200a6888800cc97b09c814604a03402bffb7711808bfd5f2200f83c44e68800d25a34d6d2ec0f1d9d8437e0243cfb9db37ba12070d6ff
5d1480643fcefa27fb425acc8e4f96ec0fac9d1b3e7c57c05d14801ffb61dfbcc1f2550925fb79ed1cfbf0f9ae80bb2800a99d63c267c187fe5db2df78e40f88a628f06e86bb2800dcfff9a43f56004bf6f3f8010521dbf52305e0e299e19cea4500cec1
d9ad4504a076178069bd2200b3b6240230ef5aa5095004607e56b208c0c513c0c5d58b00dccc017008ee020033ef829d651f62f67b6f59ecc809184c1bee6877c060bb023a5b3446ee406f59f483a5810f214eb077cd0160fb5bc30339012dcefa77ec1f
2df247eec0087bc9febbe60098b9c1dc9f8e4ec692406fa1bde7ffde9842ca1d40e48cab118c5fdd350720f3bfdd92899c00ec7af1ec87148edc81d16ea3e4f67fd71c00b6bfb3f69c227acb89f1ec0f746ec860fd25b31f91bf14808b678673aa170138
07e7d50a800840243c2200d6846cf723246b1180888b084064702200170fe80fab5e04e062879596009800e073b1f4bd760d9097c29fa200a435d194fd3f5f042e4ac0a60177a405c3fedb2b0006005222781740c9fe748010dd9a678248baa6fd2e3900
588b07014cfe6f4db2a05d0025fba1a474e31c00f8ffee0a00ec1f4dd1e15d0025fbd32e004a0649f64b01b8784638b77a118073f1ce6a1301a8db05904d0022007129885a546902100188808900cc0fd21201b87822b8a87a11808b8047b5250280e7bc
bb009003c027faa5f28dd1b7ad4db4cef9014fbd0b209d0b80dd0eb42b0059ffe90854e7fc80a7de058025003ed12f294518e7edffdef9014fbd0b209d0b4027faa56e4db7057ae7073cf52e00e400f0813eb01fbfa3fd433164e54077015c3c115c54bd
08c045c08b00c491b9f63a60ef2e0011006b4974a4af0880212002f00d8408c0c503fd4dab1701b8d831b50a002b017ca21f7e8712f01301ccd7c8f90441ef4c714f79d80a17d7574b0050ef0f11989fe897263c3af780f74df309821cf9b37d39f1d886
00d7d7d85a2cdf87de7dbeea20a4b579fb8ca4002400e8fba81c560038f267ebf856c06dd687946390fc69c485edcfd636ec857437009de897cca79c8086721d5801e0c89feddbfb5ae0ac3e5b93c9ec778047a4ce27fad5b67f560038f2cfeca77346b6
fa3fab4fd7016f8574d3fb22009be0dbfeb20840dd39002200110111006b092200df407807fba0bf7807076109400460fb18fee4125c0200a3d6def7fd6450cef876ef3639fe3bce03e06f424e009f0dee95cbcf9522ffa33140e4cfed8cbf7fe2936eec
055602702780677f4859ff91709422ffa3ed47e45fb2bf560948c97d74325e8a2c1141dbff4b91ffd1f6e304c292fdb54a007631b8fe8712803b1470fec1d1867ae553f666a600a419fcf36d0fac04a409ddf13f5f035c9af80f87851aa067bfe69f633c
e1f593afbe0b7ffead520e38d701220073bc45003eb73f56024400224e2200f3f682f15b04e09871fca9a5ba0420844800f881a71a7af7eff608d65bf097fd9f5ba8fc7ff79ebbcff7a9fdbfbbfdefd38ad697c2edef4b04603d986bded400f0ee0140fe
97ff3f212002b86634d53b4b117009c0d282f4bc101002424008080121f05c049202f05c13f4e5424008080121200484c05204fe02dd7bc6882f81e0680000000049454e44ae426082
'
09c:here 5 texts (09.27-09.31) to copy into notepad and save with the name.txt into: .Loderunner_L001/
*** 09.27:
.Loderunner_debugging_L000-L001_subs_0002.txt '(2737 bytes)
'
'include .Loderunner_L001/.Loderunner_debugging_L000-L001_subs.txt
'********************************************************************************************************************************************
sub bug(x) 'debugging
if ae(116) = 0 then 'L001
if x=1 and a9(112)=0 then color(0,255,255)
locate 0,7:
printr "v13x:";v(13,0);" "
printr "v13y:";v(13,1);" "
printr '"a01:";a01;" "
printr "f01a00:";f01a00
'w(900)
printr "a04:";a04;" "
'w(777)
printr "a05:";a05;" "
printr "a06:";a06;" "
printr "a07:";a07;" "
printr "a08:";a08;" "
printr "f01:";f01;" "
printr "f02:";f02;" "
printr "f03:";f03;" "
printr "f04:";f04;" " :color(255,0,0)
printr "at7:";at7;" " :color(0,255,255)
printr "a_end:";a_end;" "
printr "f_end:";f_end;" "
'
printr "ak38:";ak38;" "
printr "aa:";aa;" "
printr "ak1:";ak1;" "
printr "ak2:";ak2;" "
printr "f_all:";f_all;" "
printr "az:";az;" "
'printr "a02:";a02;" "
'printr "at(3):";at(3);" "
'printr "a01b:";a01b;" "
'printr "a_all:";a_all;" "
endif
endif
'-----------------------------------------------------------------------------------------------
if ae(116) = 1 then 'L002
'locate 0,0:printr "v4:";v4 ;" "
'printr "v5:";v5;" "
'printr "v6:";v6;" "
'printr "v6b:";v6b;" "
if x=1 and a9(112)=0 then color(0,255,255)
locate 0,7:
printr "v88x:";v(88,0);" "
printr "v88y:";v(88,1);" "
printr "a01:";a01;" "
printr "az:";az;" "
'
'printr "F123456789ABCDEF"
if f01 then w(900) else w(777) :endif:print "f1"
if f02 then w(900) else w(777) :endif:print "2"
if f03 then w(900) else w(777) :endif:print "3"
if f04 then w(900) else w(777) :endif:print "4"
if f05 then w(900) else w(777) :endif:print "5"
if f06 then w(900) else w(777) :endif:print "6"
if f07 then w(900) else w(777) :endif:print "7"
if f08 then w(900) else w(777) :endif:print "8"
if f09 then w(900) else w(777) :endif:print "9":
if f10 then w(900) else w(777) :endif:print "A":printr
'
if a00 then w(900) else w(777) :endif:print "a0"
if a05 then w(900) else w(777) :endif:print "5"
if a06 then w(900) else w(777) :endif:print "6"
if a08 then w(900) else w(777) :endif:print "8":printr:w(777)
'f08a00,f08a05
printr "vy1:";vy1;" "
printr "f08a05:";f08a05;" "
' printr "f07:";f07;" "
printr "aa:";aa;" "
printr "ab:";ab;" "
printr "ac:";ac;" "
printr "a2:";a2;" "
printr "ak40:";ak40;" "
w(900):printr "at7:";at7;" "
printr "a_end:";a_end;" "
printr "f_end:";f_end;" "
endif
endif
'-----------------------------------------------------------------------------------------------
end sub
sub p(i0):print i0:end sub :sub pr():printr:end sub :sub ps(a$):print a$:end sub
'
*** 09.28:
.Loderunner_L001_quad_0002.txt '(792 bytes...1st byte:89, last byte:82)
'
'include .Loderunner_L001/.Loderunner_L001_quad.txt
'********************************************************************************************************************************************
if ae(116) = 0 then 'L001
quad(6,14,36)
'---------------------------------------------
'quad(nr,size,pos)
quad(14,30,34) 'settings
quad(7,5,19) 'ladder
quad(7,5,35) '2nd_ladder
quad(29,51,42) '3rd_ladder
quad(29,51,83) '4th_ladder
'
quad(12,20,24) 'ground
quad(13,25,29) 'score
'
quad(30,64,63) '3rd_row_b
quad(31,69,68) '4th_row_b
quad(32,74,73) '5th_row_b
quad(33,79,78) '2nd_row_b
quad(at(1),9,13)'lode_runner:animation:at(1)
endif
'*********************************************************************'**********************************************************************
'
*** 09.29:
.Loderunner_L001_steer.0010.txt '(4931 bytes...1st byte:89, last byte:82)
'
'include .Loderunner_L001/.Loderunner_L001_steer.txt
'********************************************************************************************************************************************
if ae(116) = 0 then
if an_a98 = 0 then 'angel
ak37=ak(37):ak39=ak(39) 'l,r
ak38=ak(38):ak40=ak(40) 'u,d
'akud = ak38 and ak40
if ak37 and ak39 then ak3739=true else ak3739=0:endif
'
if ak38=0 and ak40=0 then a02=0:endif
'
if az then f_01() :f_02():: endif '1st and last ladder
if a01 or a04 then f_03() :endif
if a05 or a07 then f_04() :endif
if az and at7=0 then timer(7,50):endif: if at(7)=3 then ab=ab+1:at7=true:at(7)=0:endif 'at7 timer
'
if f03 then f03a04 = f03 and a04 :f03a01 = f03 and a01 else f03a04 = 0:f03a01 = 0 :endif
if f04 then f04a07 = f04 and a07 :f04a05 = f04 and a05 else f04a07 = 0:f04a05 = 0 :endif
'
if a01 then f010203 = (f01 or f02 or f03) else f010203=0 :endif
if a05 then f04b = f04 else f04b=0 :endif
'
if f01 or f02 or f03 or f04 then f_all=true else f_all=0:endif
if f_end=0 then
if f_all then 'f_all=true'v13.x
if at7 then
if ak38 then if f03a04 then ak38=0:endif:
if f04a07 then ak38=0:endif :endif
if ak40 then if f010203 then ak40=0:endif:if f04b then ak40=0:endif :endif
endif
if a02 = 0 then
if (ak38 or ak40) then
if f01 then v(13,0)=-3.24:endif
if f02 then v(13,0)= 3.24:endif
if f03 then v(13,0)=-1.07:lu=-1.98:ld=-4.37:endif '3rd ladder
if f04 then v(13,0)= 1.1 :lu= 2.01:ld=-0.4 :endif '4th ladder
'
if f01 or f02 then lu= 4.65:ld=-4.37:a:endif
'
animate(11,8) 'go up and down (upper limit + lower limit)
'
if at7 then
if f03 then
if (a01 and ak38) or (a04 and ak40) then a_end=true:at7=0:endif
endif
if f04 then
if (a05 and ak38) or (a07 and ak40) then a_end=true:at7=0:endif
endif
if f01 or f02 then
if (a01 and ak38) or a04 or a05 or a07 or a08 then a_end=true:at7=0:endif 'arrive F
endif
endif
a01d=0:a02=true
endif
endif
'-----------------------------------------------------------------------------
'if (f03a04 or f04a07) and ak38 then a_end=0:endif :'only ladder down
if a_end then :timer(3,100):endif
if at(3)=1 then a_end=0:at(3)=0:endif
'-----------------------------------------------------------------------------
if not (f03a04 or f04a07) then 'only ladder down
if ak38 and v(13,1)<= lu then v(13,1)=v(13,1)+.004::endif
endif
'f04a05 = f04 and a05
if not (f04a05) then
if ak40 and v(13,1)>= ld then v(13,1)=v(13,1)-.004::endif 'down
endif
'-----------------------------------------------------------------------------
else a02=0 :'f_all=0 'if f01 or f02 or f03 or f04
endif
endif
'
if f_end then timer(5,200):endif:if at(5)=1 then f_end=0:at(5)=0:endif
if f01=0 and f02=0 and f03=0 and f04=0 then a02=0::endif
'
if a_end=0 then
if v(13,1)<-4.34 then a01=true else a01=0 :endif ' 1st ground
if v(13,1)<-1.97 and v(13,1)>=-1.98 then a04=true else a04=0 :endif ' 2nd platform
if v(13,1)<-0.39 and v(13,1)>=-0.40 then a05=true else a05=0 :endif ' 3rd platform
if v(13,1)<2.02 and v(13,1)>= 2.01 then a07=true else a07=0 :endif ' 4th
if v(13,1)<3.64 and v(13,1)>= 3.62 then a08=true else a08=0 :endif ' 5th
if a01 or a04 or a05 or a07 or a08 then az=true else az=0 :endif
' -------------------------------------------------------------------------------------------
if az then
if ak2=0 then ::if ( f_all=0 or (f03a04 or f03a01) or (f04a05 or f04a07) ) or f_all and ak1=0 then
if a01d=0 then animate(24,21):a01d=true :endif :endif
else a01d=0:endif 'standing
if ak3739 and akLR=0 then animate(24,21):akLR=true:endif
if ak3739=0 and akLR then akLR=0:a01b=0 : a01c=0:endif
'
if a01b=0 and a01c=0 then
if at7=0 then 'leaving F and arrive A
if ak39 or ak37 then a01d=0 :f_end=true:'timer(5,150) 'aa=aa+1:
a02=0
if a01 then v(13,1)=-4.37 :endif '1st platform
if a04 then v(13,1)=-1.98 :endif '2nd platform
if a05 then v(13,1)=-0.40 :endif '3rd
if a07 then v(13,1)= 2.01 :endif
if a08 then v(13,1)= 3.62 :endif
endif
'else :leaving A
endif
if ak39 then animate(20,18):a01b=true:endif 'go right
if ak37 then animate(17,15):a01c=true:endif 'go left
else
if not(ak39) then a01b=0:endif
if not(ak37) then a01c=0:endif
endif
if ak39 then v(13,0)=v(13,0)+.004:if v(13,0)> 6.2 then v(13,0)=-6.2:endif:endif
if ak37 then v(13,0)=v(13,0)-.004:if v(13,0)<-6.2 then v(13,0)= 6.2:endif:endif
else :a01b=0:a01c=0:at7=0:a01d=0
endif'if az then
endif '280/if a_end=0 then
endif:endif
'********************************************************************************************************************************************
'
*** 09.30:
.Loderunner_L001_vector_(size and pos).txt '(2577 bytes...1st byte:89, last byte:82)
'
m0:
data -2, -2,0, -2, 2,0, 2, 2,0, 2, -2,0 'v1-v4
data -.26, 0,0, -.26,9.28,0, .26,9.28,0, .26, 0,0 'v5-v8 'ladder_size
data -0.37,-0.40,0, -0.37, 0.44,0, .38, 0.44,0, 0.38,-0.40,0 'v9-v12 'loderunner_size'.............................
'data -0.37,-0.40,0, -0.37, 0.40,0, .38, 0.40,0, 0.38,-0.40,0 'v9-v12 'loderunner_size'.............................
data -2.5,-4.39,0 'v13 'loderunner_move
data 0, 0,0, 0, 11.54,0, 11.54, 11.54,0, 11.54, 0,0 'v14-v17 'green brickwall_size
data 0, 0,0 'v18 'brickwal_ move
data -3.24,-4.75,0 'v19 'ladder move
data 0, 0,0, 0, .98,0, 11.55, .98,0, 11.55, 0,0 'v20-v23 'ground_size
data -5.77,-5.74,0 'v24 'ground_move
'
data -5.7,-.45,0, -5.7, .45,0, 5.7, .45,0, 5.7,-.45,0 'v25-v28 'score_size
data 0, 0,0 'v29 'score_move
data -5.8, -.2,0, -5.8, .2,0, 5.8, .2,0, 5.8, -.2,0 'v30-v33 'settings_size
data 0,0,0 'v34: 'settings_move
data 3.24,-4.75,0 'v35: '2nd ladder move
data -5.77,-5.77,0 ,.19,3.22,0 'v36-v37 '2 green_wall pos
data -5.77,-3.96,0 'v38 '2nd row,1st stone pos
data -2.90,-3.96,0 'v39 '2nd row,2nd stone pos
data -.7,-3.96,0 'v40 '2nd row,3rd stone pos
data 3.58,-3.96,0 'v41 '2nd row,4th stone pos
'
data -1.07,-4.75,0 'v42 '3rd ladder pos
'
data 0,0,0 ,0,1.6,0 ,2.16,1.6,0 ,2.16,0,0 'v43-46 '1st stone size
data 0,0,0 ,0,1.6,0 ,1.48,1.6,0 ,1.48,0,0 'v47-50 '2nd stone size
data -.265, 0,0 ,-.265,2.37,0 ,.265,2.37,0 ,.265, 0,0 'v51-54 'small ladder_size '.....
data 0,0,0 ,0,1.6,0 ,3.58,1.6,0 ,3.58,0,0 'v55-58 '3rd stone size
data 0,0,0 ,0,1.6,0 ,2.17,1.6,0 ,2.17,0,0 'v59-62 '4th stone size
'
data -5.77,-1.58,0 'v63 '3rd_row_b pos y:-3.16
data 0, 0,0, 0,.8,0, 11.55, .8,0, 11.55,0,0 'v64-67 '3rd_row_b size
'
data -5.77,0.02,0 'v68 '4th_row_b pos
data 0, 0,0, 0, 1.6,0, 11.55, 1.6,0, 11.55, 0,0 'v69-72 '4th_row_b size
'
data -5.77,2.44,0 'v73 '5th_row_b pos
data 0, 0,0, 0,.8,0, 11.55, .8,0, 11.55,0,0 'v74-77 '5th_row_b size
'
data -5.77,-3.96,0 'v78 '2nd row
data 0, 0,0, 0, 1.59,0, 11.55, 1.59,0, 11.55, 0,0 'v79-82
'
data 1.1,-.76,0 'v83 'small ladder pos
'
*** 09.31:
.Loderunner_sub_f01 to f99_L000-L001.txt '(1567 bytes...1st byte:89, last byte:82)
'
'include .Loderunner_L001/.Loderunner_sub_f01 to f99_L000-L001
'--------------------------------------------------------------------------------
sub f_01(): if tx2=0 then f01= (v(13,0)> -3.52 and v(13,0)<-3.00) :endif
if tx2=1 then f01= (v(88,0)> -4.70 and v(88,0)<-4.62) :endif:'-4.66
end sub'v.x = -3.26
sub f_02(): if tx2=0 then f02= (v(13,0)> 3.11 and v(13,0)< 3.37) :endif
if tx2=1 then f02= (v(88,0)> -1.18 and v(88,0)<-1.08) :endif '-1.13
'if tx2=1 then f02= (v(88,0)> 3.99 and v(88,0)<4.01) :endif '-1.13
end sub
'
sub f_03(): if tx2=0 then f03= (v(13,0)> -1.15 and v(13,0)<- .95) :endif
if tx2=1 then f03= (v(88,0)> 2.40 and v(88,0)< 2.6) :endif '2.50
end sub '-1.07
'
sub f_04(): if tx2=0 then f04= (v(13,0)> 1.0 and v(13,0)< 1.2) :endif
if tx2=1 then f04= (v(88,0)> 6.79 and v(88,0)< 6.89) :endif '6.84
end sub
'
sub f_05(): if tx2=1 then f05 = (v(88,0)>10.40 and v(88,0)<10.50) :endif '10.45
end sub
'
sub f_06(): if tx2=1 then f06 = (v(88,0)>11.82 and v(88,0)<11.86) :endif '11.84
end sub
'
sub f_07(): if tx2=1 then f07 = (v(88,0)> -2.6 and v(88,0)<-2.5 ) :endif ' 6.54
end sub
'
sub f_08(): if tx2=1 then f08 = (v(88,0)> 1.67 and v(88,0)<1.87) :endif ' 1.77
end sub
'
sub f_09(): if tx2=1 then f09 = (v(88,0)> 5.30 and v(88,0)<5.45) :endif ' 5.35
end sub
'
sub f_10(): if tx2=1 then f10 = (v(88,0)> 6.74 and v(88,0)<6.94) :endif ' 5.35
end sub
'
sub f_11(): if tx2=1 then f11 = (v(88,0)> 9.58 and v(88,0)<9.78) :endif ' 9.68
end sub
'--------------------------------------------------------------------------------
'
09d: convert 26 texts from 09b
' >> Battle_loderunner_add_file/.convert_photo_PB_18.gb:
'
dim n1$,n$(26),i 'Line1
reset m0:for i=1 to 26:read n$(i):next
'
dim n2$: ',n1$="2022-07-01 11_42_28-Window_b.png.txt"
dim sf$,df$
'
dim a$(99),c$(99),d$(9999),da$(9999),d1$,e$,d2$(99999),rp$(9999)
dim i1,rb(100000),e,i0,wf,f,i2
'-----------------------------------------------------------------------------------------------------------------
declare function hex$(a,s) :declare function dec(h$) :declare function r0(a)
dim ba(4),s0,s1,s2,s3,s4,s5,s6,a,c,i001,i002,i003,i004,dc, s=5'amount: 1(1 byte),3(2 bytes),5(3 bytes)
dim h$,s$(s),s1$(15),b$,i$
reset m1:for i=0 to 15:read s1$(i):next
reset m2:for i=1 to 4:read ba(i):next 'ba=byte.amount
declare sub file_error()
dim l1,l2,ia,file,i4,i3
dim p1$,p(99999),p1
'-----------------------------------------------------------------------------------------------------------------
resizetext(100,40)
'-----------------------------------------------------------------------------------------------------------------
for i0=1 to 26
n2$=left$(n$(i0),len(n$(i0))-4)
sf$="text/"+n$(i0) 'sf$:source_file
df$="texture2/"+n2$
color (255,255,0):printr i0 :color(200,200,200)
'
file = openfileread(sf$):file_error()
i1=-1:do :i1=i1+1 :da$(i1)=readline(file) :loop until da$(i1)="":ia=i1-1
l2=len(da$(ia-1)) :l1=len(da$(ia)) :printr:printr da$(0):printr l2;"/";l1
i2=-1
for i=0 to ia
for i1=1 to len(da$(i)) step 2
p1$=mid$(da$(i),i1,2) :p1=dec(p1$)
if i=ia then print p1$;"=";p1;"/"; :endif
i2=i2+1:p(i2)=p1
next
next
CloseFile (file)
'
printr:printr p(i2) 'last byte:217,d9
color (255,0,0):printr "********************************************************************"
'
file = OpenFileWrite (df$):file_error() :for i=0 to i2:writeByte(file,p(i)):next :CloseFile (file)
next
color (0,255,0):printr:print "End":end
'-----------------------------------------------------------------------------------------------------------------
function r0(a):dim x2:a=a+1:x2=(rnd()%a):return x2:end function ' 0-10
sub file_error():if FileError () <> "" then print FileError ():end:endif:end sub
function hex$(a,s):dim s0,s1,s2,s3,s4,s5,s6 as integer
s=ba(s):s0=s-1:s1=a:s2=a:h$="":for s6=0 to s:s$(s6)=0:next
do:s3=-1:do:s3=s3+1:s1=s1/16:loop until s1<16
s4=s0-s3:s$(s4)=s1$(s1):s5=pow(16,s3+1)*s1:s2=s2-s5:s1=s2
loop until s1<16
s$(s)=s1$(s1):for s6=0 to s:if s$(s6)="" then s$(s6)="0":endif:h$=h$+s$(s6):next:return h$:end function
'
function dec(h$):i001=len(h$)
i003=-1:dc=0
for i002=i001 to 1 step -1:i003=i003+1
i$=mid$(h$,i002,1):i004=asc(i$)
if i004>47 and i004<58 then i004=i004-48:endif:if i004>96 and i004<103 then i004=i004-87:endif
dc=dc+i004*pow(16,i003)
next
return dc
end function
'
m1:data 0,1,2,3,4,5,6,7,8,9,a ,b ,c ,d ,e ,f
m2:data 1,3,5,7 'hex$(a,b):b=1:1 byte,b=3:2 bytes,b=5:3 bytes
m0:
data "2nd row, small ladder_b.png.txt" '01.. (comma ---> with double quotation)
data 2nd_row_b.png.txt '02..
data 3rd_row_b.png.txt '03..
data 4th_row_b.png.txt '04..
data 5th_row_b.png.txt '05..
data 2022-07-01 11_42_28-Window_b.png.txt '06..
data 2022-07-01 11_44_03-Window_b.png.txt '07..
data 2022-07-01 11_46_04-Window_b.png.txt '08.
data 2022-07-01 11_47_08-Window_b.png.txt '09.
data 2022-07-05 10_59_57-left_run_32_b.png.txt '10.
data 2022-07-05 11_01_47-left_run_32_b.png.txt '11.
data 2022-07-05 11_03_35-left_run_32_b.png.txt '12.
data 2022-07-05 11_06_50-right_run_32_b.png.txt '13.
data 2022-07-05 11_10_58-right_run_32_b.png.txt '14.
data 2022-07-05 11_12_00-right_run_32_b.png.txt '15.
data 2022-07-05 11_15_43-stand_b.png.txt '16.
data 2022-07-05 11_16_33-stand_look_left_b.png.txt '17.
data 2022-07-05 11_17_24-stand_look_right_b.png.txt '18.
data Angel_01b.png.txt '19.
data Angel_03b.png.txt '20.
data empty 512x464 and all y and x.png.zip.txt '21.
data file_settings_512x_20y.png.txt '22.
data ground_brown_brick.png.txt '23.
data ladder_l.png.txt '24.
data Level_1_Australia_06.png.zip.txt '25.
data score_512x36y.png.txt '26.
'
09e) in folder texture2:
extract:(copy out of zip_folder) into texture2/:
1) empty 512x464 and all y and x.png.zip
2) Level_1_Australia_06.png.zip
'
09f) start (GO): Battle_loderunner_start_PB14.gb :
'
'use:font.03.png '(line 1)
'--------------------------------------------------------------------------------------------------------------------
declare sub find_all_files() :const d=1:
dim a,a#,a$ ,b# ,c ,c$(1000),hmf,mY#,mX#,rtri#,rquad#,rx,ry,g$="Texture/"
'*********************************************************************************************************************************************
dim wf,w1,h1:wf=WindowFullscreen():w1=1000:h1=800:if wf then:w1=1920:h1=1080:endif 'not fullscreen
SetWindowTitle(">> super_minesweeper_N.state.26.02.12.fin << PCN_Hedgehog >> [ 2019,02 ** 2021,10+11 ** 2022,5+6 ] >> origin:[ minesweeper 1.04 : 2019,02.28 ] <<")
SetWindowWidth(w1):SetWindowHeight(h1):SetWindowBorder(true):UpdateWindow()
'*********************************************************************************************************************************************
find_all_files()
'1000 text colors:2022,7.18
dim i,i1,i2,i3,i4,cr2(10),c4(999,2),co(9,2)'1000 colors
for a=0 to 9:cr2(a)=a*28:next'1000 text_colors
for i=0 to 999:i1=i/100:i2=i1*100:i3=(i-i2)/10:i4=i-i2-i3*10:c4(i,0)=cr2(i1):c4(i,1)=cr2(i3):c4(i,2)=cr2(i4):next'1000 text_colors
sub w(i):color(c4(i,0),c4(i,1),c4(i,2)):end sub'1000 colors wo comma
'---------------------------------------------------------------------------------------------------------------------------------
declare sub glC(a as integer)
dim cr(10) as single,gc(999,2) as single
for a#=0 to 9:cr(a#)=a#/9:next'1000 gl_colors
for i=0 to 999:i1=i/100:i2=i1*100:i3=(i-i2)/10:i4=i-i2-i3*10:gc(i,0)=cr(i1):gc(i,1)=cr(i3):gc(i,2)=cr(i4):next'1000 gl_colors
'---------------------------------------------------------------------------------------------------------------------------------
'2023,4.17:
dim n1$="Battle_loderunner_add_file/"
'
dim t0(100),a1$(100):declare function skd(i0)
reset m2:
for a=6 to 24:read a1$(a):t0(a)=LoadTexture(n1$+"texture2/"+a1$(a)):next '36 0
for a=29 to 36:read a1$(a):t0(a)=LoadTexture(n1$+"texture2/"+a1$(a)):next '36 0
'
if skd(17) then resizetext(50,20):for i=0 to 36:printr i;":"a1$(i):next:end:endif
'---------------------------------------------------------------------------------------------------------------------------------
declare sub bT(i0):declare sub mouse():dim mx0 as single,my0 as single,m0(2) as single 'blend_02c.uc5.gb :2022,6.22
declare sub pct(i0):dim v(99)(2) as single,x as single,y as single,z as single,f10b(99),u(99),a03=8 'blend_03.01:2022,7.01
'
include Battle_loderunner_add_file/.Loderunner_L001/.Loderunner_L001_vector_(size and pos).txt
'
reset m0:for i=1 to 88:read x,y,z:v(i)=vec3(x,y,z):next
'L002
data 0, 0,0, 0, 30.85,0, 18.7, 30.85,0, 18.7, 0,0 'v84-87 'green brickwall_size
data -3,-3.77,0 'v88 'loderunner_move 'v88 'pos
'-------------------------------------------------------------------------------------------------------
'blend_04.04uc w keys - blend_04.06fin :2022,7.1
declare function key(i0) :declare sub readkeys() :
dim kd,ik$,is,isk,rk,ak(40),i0,o(255) ,b ,x1,y1,vx(99)
declare sub tV(x0,y0,v0() as single,vnr):declare sub quad(nr,vnr,vm):
'blend_04.12 :2022,7.5-7.6
dim a01,ul,ll,t1,a01b,a01c,a02,ak1,a01d,f01,f02,ak37,ak38,ak39,ak40 'bug,
declare sub animate(ul1,ll1) :declare sub an_timer() :declare sub keys() :declare sub bug(x)
dim a04,f03,lu as single,ld as single 'blend_04.27 :2022,7.6
dim a05,a06,a07,a08,f04,aa 'blend_04.34
'blend_04.39:2022,7.8
dim gdr,f01b,a04b,pc3,pc4
declare sub f_01():declare sub f_02():declare sub f_03():declare sub f_04()
dim e1,a_end,at(99),f03a04,f04a07,f04a05,a02b,f_end,at7:declare sub timer(a1,a2) 'blend_04.50:2022,7.9
dim a3,f010203,f04b 'blend_04.55
dim ab,ac,an_a98,v13y as single,a8(255),a9(255),ae(255):declare sub skd_not(i0) 'blend_04.55.08.08 - blend_04.55.08.14.fin :2022,7.12
dim v2(1) as single,cl 'blend_04.55.08.16 :2022,7.13
dim ak2,f_all,a_all,vnr:ae(116)=0 'blend_05.01 :2022,7.14
'blend_05.09.fin :2022,7.15
dim az,tx(9) as single,v3 as single,a50,a51,akud
'blend_05.16.05 :2022,7.16
dim f03a01,tx2
'blend_05.17.02 :2022,7.18
dim ak3739,akLR,f06,f05,a00,a2,ty(9) as single ,ty2,vy as single,f02b
dim f01a00,f01a05,f02a00,f02a05,f03a00,f03a05,f04a00,f05a00,f05a05
declare sub f_06():declare sub f_05():declare sub p(i0) :declare sub pr():declare sub ps(a$):declare sub an_stand()
'blend_05.17.06.05 :2022,7.19
dim f07,f08,f07a00,f07a08,f09,f07a05,f08a00,f08a05,f08a08,f09a00
dim f01a01,f02a01,f02a08,f03a08,f09a08,f09a05,f10,f10a08,f10a06,f10c,f06a06,f06a08
declare sub f_07():declare sub f_08():declare sub f_09():declare sub f_10()
'blend_05.19.01 :2022,7.20
dim f11,f11a06,f11a05,f11a08,stop1,f09a06,f08a06
dim walk_a06,walk_a06_right,walk_a06_left,wl,wr,v4,v5,v6,v6b,v7,v8,v9,v9b,vy1,vy2,abc
declare sub f_11():declare sub walk_left():declare sub scroll_left():declare sub walk_right():declare sub scroll_right()
'blend_06.01
dim v88y=v(88,1),v88y1,v88y2,f10d,nn,vy3,az2,vn2 as single,vn3 as single,vn4 as single,vn5
'***************************************************************************************************************************************************
rx=30:ry=30 'resize_text
glViewport(0, 0, WindowWidth(), WindowHeight())
'
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(60, (1*WindowWidth()) / WindowHeight(), .1, 10000000)
'
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
'
glEnable(GL_DEPTH_TEST)
glDepthFunc(GL_LEQUAL)
glEnable(GL_TEXTURE_2D)
'
textmode(texT_OVERLAID):
font(loadtex("Battle_loderunner_add_file/font.03.png"))
resizetext(rx,ry)
'***************************************************************************************************************************************************
c = GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT
' position
v(34,1)=5.6 'settings
v(29,1)=5 'score
'
ac=true
animate(11,8)
'----------------------------------------------------------------------------------------------------------------------------------------------------------
do :tx2 = ae(116):ty2 = tx2
glClear(c)
'--------------------------------------------------------------------------------------------------------------------
glLoadIdentity()
glTranslatef(tx(tx2),ty(ty2),-10)
mouse()
'--------------------------------------------------------------------------------------------------------------------
glEnable ( GL_BLEND)
glBlendFunc (GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA)'glBlendEquation(GL_FUNC_ADD)
glColor4f(1, 1, 1, 1)
'--------------------------------------------------------------------------------------------------------------------
include Battle_loderunner_add_file/.Loderunner_L001/.Loderunner_L001_quad_0002.txt
'--------------------------------------------------------------------------------------------------------------------
'
if ae(116) = 1 then
'quad(nr,size,pos)
quad(36,84,36)
quad(at(1),9,88)'lode_runner:animation:at(1)
' left :right :up down
ak37=ak(37):ak39=ak(39):ak38=ak(38):ak40=ak(40) 'u,d
'
if ak37 and ak39 then ak3739=true else ak3739=0:endif
if ak37 and f01 then ak37=0:endif
'if f06 then ak39=0: if a06 then ak37=0:endif :endif
'
if a9(116) then a01=0:a04=0:a05=0:a07=0:a08=0:f01=0:f02=0:f03=0:f04=0:f05=0::f06=0:f07=0:f08=0:f09=true
a9(112)=true:a9(116)=0:endif' clear_text_for new_level
'
if v(88,1)<=-3.77 then a00=true else a00=0 :endif ' ground 0
if v(88,1)>=1.75 and v(88,1)<=1.80 then a05=true else a05=0 :endif ' ground 5:1.79
if v(88,1)>=6.50 and v(88,1)<=6.55 then a08=true else a08=0 :endif ' ground 8:6.54
if v(88,1)>=3.39 and v(88,1)<=3.42 then a06=true else a06=0 :endif ' ground 6:3.36
if a00 or a01 or a04 or a05 or a06 or a07 or a08 then az=true else az=0 :endif
'
if f06 then ak39=0: if a06 then ak37=0:endif :endif
if f01 then ak37=0: if a06 then ak39=0:endif :endif
'
if a00 then
if f01 then f01a00 = f01 and a00 else f01a00 =0 :endif
if f02 then f02a00 = f02 and a00 else f02a00 =0 :endif
if f03 then f03a00 = f03 and a00 else f03a00 =0 :endif
if f04 then f04a00 = f04 and a00 else f04a00 =0 :endif
if f05 then f05a00 = f05 and a00 else f05a00 =0 :endif
'if f06 then f06a00 = f06 and a00 else f06a00 =0 :endif
if f07 then f07a00 = f07 and a00 else f07a00 =0 :endif
if f08 then f08a00 = f08 and a00 else f08a00 =0 :endif
if f09 then f09a00 = f09 and a00 else f09a00 =0 :endif
else:f01a00=0:f02a00=0 :f03a00=0 :f04a00=0 :f05a00=0:f07a00 =0:f08a00 =0:f09a00 =0
endif
if a00 then f010203 = (f01 or f02 or f03) else f010203=0 :endif
if a05 then
if f01 then f01a05 = f01 and a05 else f01a05 =0 ::endif
if f02 then f02a05 = f02 and a05 else f02a05 =0 :endif
if f03 then f03a05 = f03 and a05 else f03a05 =0 :endif
if f04 then f04a05 = f04 and a05 else f04a05 =0 :endif
if f05 then f05a05 = f05 and a05 else f05a05 =0 :endif
'if f06 then f06a05 = f06 and a05 else f06a05 =0 :endif
if f07 then f07a05 = f07 and a05 else f07a05 =0 :endif
if f08 then f08a05 = f08 and a05 else f08a05 =0 :endif
if f09 then f09a05 = f09 and a05 else f09a05 =0 :endif
if f11 then f11a05 = f11 and a05 else f11a05 =0 :endif
'if f11 then f09a05 = f09 and a05 else f09a05 =0 :endif
else:f01a05 =0 :f02a05=0:f03a05=0:f04a05=0 :f05a05=0 :f07a05 =0:f08a05 =0:f09a05 =0 :f11a05 =0
endif
if a06 then
if f06 then f06a06 = f06 and a06 else f06a06 =0:endif
if f08 then f08a06 = f08 and a06 else f08a06 =0:endif
if f09 then f09a06 = f09 and a06 else f09a06 =0:endif
if f10 then f10a06 = f10 and a06 else f10a06 =0:endif
if f11 then f11a06 = f11 and a06 else f11a06 =0:endif
else f10a06 =0 :f06a06 =0 :f11a06 =0:f09a06 =0:f08a06 =0
endif
if a08 then
if f02 then f02a08 = f02 and a08 else f02a08 =0 :endif
if f03 then f03a08 = f03 and a08 else f03a08 =0 :endif
if f06 then f06a08 = f06 and a08 else f06a08 =0 :endif '.........
if f07 then f07a08 = f07 and a08 else f07a08 =0 :endif
if f08 then f08a08 = f08 and a08 else f08a08 =0 :endif
if f09 then f09a08 = f09 and a08 else f09a08 =0 :endif
if f10 then f10a08 = f10 and a08 else f10a08 =0 :endif
if f11 then f11a08 = f11 and a08 else f11a08 =0 :endif
else f07a08 =0 :f02a08 =0 :f08a08 =0 :f03a08 =0 :f09a08 =0 :f10a08 =0 :f06a08 =0 :f11a08 =0
endif
'
'if f06a08 then ak37=0:endif 'key_control after :f01a00 - f11a08
if f09a06 then ak39=0:endif
if f08a06 then ak39=0:ak37=0:endif
'
if az and at7=0 then timer(7,50):endif: if at(7)=3 then :at7=true:at(7)=0:endif
'-----------------------------------------------------------------------------------------------------------------------------------------
if f01 or f02 or f03 or f04 or f05 or f06 or f07 or f08 or f09 or f10 or f11 then f_all=true else f_all=0:endif
if an_a98=0 then
if f_end=0 then
if f_all then
if az then
if ak40 then
if a00 then
if f01a00 then ak40=0:endif
if f02a00 then ak40=0:endif
if f03a00 then ak40=0:endif
if f04a00 then ak40=0:endif
if f05a00 then ak40=0:endif
if f07a00 then ak40=0:endif
if f08a00 then ak40=0:endif
endif
if a05 then
if f07a05 then ak40=0:endif
if f08a05 then ak40=0:endif
if f09a05 then ak40=0:endif
if f11a05 then ak40=0:endif '...
endif
if a06 then
if f10a06 then ak40=0:endif
endif
endif
if ak38 then
if a00 then
if f07a00 then ak38=0:endif
if f08a00 then ak38=0:endif
if f09a00 then ak38=0:endif
endif
if a05 then
if f02a05 then ak38=0:endif
if f03a05 then ak38=0:endif
if f04a05 then ak38=0:endif
if f05a05 then ak38=0:endif
endif
if a06 then
if f11a06 then ak38=0:endif '...
endif
'
if a08 then
if f02a08 then ak38=0:endif
if f03a08 then ak38=0:endif
if f07a08 then ak38=0:endif
if f08a08 then ak38=0:endif
if f09a08 then ak38=0:endif
if f10a08 then ak38=0:endif
endif
'
endif 'if ak38 then
endif 'if az
if a2 = 0 then
if (ak38 or ak40) then
if f01 then v(88,0)= -4.66:endif
if f02 then v(88,0)= -1.10::endif 'ab=ab+1
if f03 then v(88,0)= 2.50:endif 'ladder 3
if f04 then v(88,0)= 6.84:endif 'ladder 4
if f05 then v(88,0)= 10.45:endif 'ladder 5
if f06 then v(88,0)= 11.84:endif 'ladder 6
'
if f07 then v(88,0)= -2.54:endif 'ladder 7
if f08 then v(88,0)= 1.76:endif 'ladder 8
if f09 then v(88,0)= 5.4: endif 'ladder 9
'
if f10 then v(88,0)= 6.84:endif 'ladder 10
if f11 then v(88,0)= 9.68:endif 'ladder 11
'
if f01 or f06 then lu= 16 :ld=-3.79:endif
if f02 or f03 or f04 or f05 then lu= 1.79 :ld=-3.79:endif
'if f02 or f03 or f04 or f05 then lu= 7 :ld=-3.79:endif
if f07 then lu=6.54 :ld=1.79:endif 'ladder 7
'if then lu= 16 :ld=-3.79:endif'............
if f08 then lu= 6.51 :ld=-3.79:endif
if f09 then lu= 6.51 :ld=-3.79:endif
if f10 then lu= 6.51 :ld= 3.36:endif
if f11 then lu= 3.40 :ld=1.77 :endif
'
animate(11,8) 'go up and down (upper limit + lower limit) ....climb
'
if at7 then 'arrive F
if f02 or f03 or f04 or f05 or f07 or f08 or f09 or f10 or f11 then
if ak40 then 'down
if a05 then a_end=true:at7=0:endif
if a06 then a_end=true:at7=0:endif 'ladder 11
if a08 then a_end=true:at7=0:endif 'ladder 7-11
endif
if ak38 then 'up
if a00 then a_end=true:at7=0:endif
if a05 then a_end=true:at7=0:endif
if a06 then a_end=true:at7=0:endif
endif
endif
'
if f01 or f06 then
if (a00 and ak38) or a04 or a05 or a07 or a08 then a_end=true:at7=0:endif 'arrive F
endif
endif 'if at7
a01d=0:a2=true:
endif 'if (ak38 or ak40)
endif 'if a2 = 0
'-----------------------------------------------------------------------------
'if (f03a04 or f04a07) and ak38 then a_end=0:endif :
if a_end then timer(3,100)::endif 'only ladder down
if at(3)=1 then a_end=0:at(3)=0:endif
'-----------------------------------------------------------------------------
v3=v(88,1)
if ak38 and v(88,1)<= lu then v(88,1)=v(88,1)+.004:ty(ty2)=ty(ty2)-.004:endif
if ak40 and v(88,1)>= ld then v(88,1)=v(88,1)-.004:ty(ty2)=ty(ty2)+.004:endif 'down
'-----------------------------------------------------------------------------
n001: 'else a2=0 :'f_all=0 'if f01 or f02 or f03 or f04
endif 'if f_all
endif 'if f_end=0
'-----------------------------------------------------------------------------------------------------------------------------------------
if f_end then timer(5,50):endif:if at(5)=1 then f_end=0:at(5)=0:a01b=0 :a01c=0endif
if f01=0 and f02=0 and f03=0 and f04=0 and f05=0 and f06=0 and f07=0 and f08=0 and f09=0 and f10=0 and f11=0 then a2=0::endif
'
if a_end=0 then
if f01a05 and ak37 then az=0 :endif
'
vy=v(88,1):
vy1 = (vy>1.7 and vy<6.6) :vy2=(vy>2.5 and vy<6.6) :vy3=(vy>1.7 and vy<3.5)
if az then f_01():f_06():f_09()
if vy<2 then f_02():f_03():f_04():f_05():f10c=0:endif
if vy1 then f_07():f_08():f_09():endif
if vy2 then f_10():endif
if vy3 then f_11():endif
'if f09 then f09=f09 and vy1 :endif
'
if ak2=0 then ::'add here:ladder going to a
if a00 then if f01 then f02b = f01a00 :endif
if f02 then f02b = f02a00 :endif
if f03 then f02b = f03a00 :endif
if f04 then f02b = f04a00 :endif
if f05 then f02b = f05a00 :endif :endif
'
if a05 then if f02 then f02b = f02a05 :endif
if f03 then f02b = f03a05 :endif
if f04 then f02b = f04a05 :endif
if f05 then f02b = f05a05 :endif
if f07 then f02b = f07a05 :endif
if f08 then f02b = f08a05 :endif :endif
'
if a06 then if f10 then f02b = f10a06 :endif
if f11 then f02b = f11a06 :endif :endif
'
if a08 then 'if f02 then f02b = f02a08 :endif
if f07 then f02b = f07a08 :endif
if f08 then f02b = f08a08 :endif
if f09 then f02b = f09a08 :endif
if f10 then f02b = f10a08 :endif
if f11 then f02b = f11a08 :endif :endif
'if f06 then f02b = f06a08 :endif'.............................
'
if ( f_all=0 ) or (f02b) or f_all and ak1=0 then
if a01d=0 then animate(24,21):a01d=true:a2=0 :endif
endif
else a01d=0:
endif ':if ak2=0 :'standing
'
if ak3739 and akLR=0 then animate(24,21):akLR=true:endif
if ak3739=0 and akLR then akLR=0:a01b=0 : a01c=0:endif
'
if a01b=0 and a01c=0 then
if at7=0 then 'leaving F and arrive A
if ak39 or ak37 then a01d=0 :f_end=true:'timer(5,150) 'aa=aa+1:
a2=0:'aa=aa+1
if a00 then v(88,1)= -3.77 :endif ' platform 0
if a05 then v(88,1)= 1.77 :endif ' platform 5
if a06 then v(88,1)= 3.40 :endif ' platform 6...
endif
'''else :leaving A
endif
if ak39 then animate(20,18):a01b=true:endif 'go right
if ak37 then animate(17,15):a01c=true:endif 'go left
else
if not(ak39) then a01b=0:endif
if not(ak37) then a01c=0:endif
endif
'the area on this left_little_platform:
if a06 then
v3=v(88,0) :
v4=(v3>=6.84):v5=(v3<=9.68):'v6=(v4 or v5) :
v6b=(v3<10) and (v3>6.5)
v7=(v3>=3.2) :v8=(v3<=5.4) :'v9=(v7 or v8) :
v9b=(v3<6) and (v3>3)
else v6b=0:v9b=0: 'v6=0:v9=0
endif
'
if a06 then
if v6b then
if v4 then walk_left() :scroll_left() :endif
if v5 then walk_right() :scroll_right():endif
endif
if v9b then
if v7 then walk_left() :scroll_left() :endif
if v8 then walk_right() :scroll_right():endif
endif
else :walk_left() :scroll_left() :walk_right():scroll_right()
endif
'
else :a01b=0:a01c=0:at7=0:a01d=0 :walk_a06_right=0 :walk_a06_left=0:wl=0:wr=0:ac=ac+1
endif 'if az then f_01()
endif 'if a_end=0
endif'...................................
endif 'if ae(116) = 1
'--------------------------------------------------------------------------------------------------------------------
gldisable( GL_BLEND)
an_timer()
keys()
bug(1) '1=debugging
'--------------------------------------------------------------------------------------------------------------------
include Battle_loderunner_add_file/.Loderunner_L001/.Loderunner_L001_steer.0010.txt
'-----------------------------------------------------------------------------------------------------
if az or az2 then :az2=true
if a9(113) and an_a98=0 then
if ae(116)=0 then vnr=13:endif :if ae(116)=1 then vnr=88:endif :
animate(35,34):a9(113)=0:an_a98=true:v2=vec2(v(vnr,0),v(vnr,1)):
endif
if an_a98 then :if vn3=0 then vn2 = v(vnr,1) :vn3=true:vn5=7-ty(ae(116)):endif
v(vnr,1)=v(vnr,1)+.004:v(vnr,0)=v2(0)+sin(v(vnr,1))*.5
if v(vnr,1)>vn5 then an_a98=0:az2=0:vn3=0::v(vnr)=vec3(v2(0),v2(1),0):animate(24,21):endif
endif
endif
'-----------------------------------------------------------------------------------------------------
drawtext():SwapBuffers ()
loop
'--------------------------------------------------------------------------- either for use in L2 or txt
include Battle_loderunner_add_file/.Loderunner_L001/.Loderunner_sub_f01 to f99_L000-L001.txt
'----------------------------------------------------------------------------------------------------------------------------------------------------------
sub scroll_right():if ak39 and a50=0 then v(88,0)=v(88,0)+.004:endif:end sub
sub walk_right():if ak39 then if v3<11.84 then a50=0:tx(tx2)=tx(tx2)-.004 else a50=true:endif:endif:end sub
sub scroll_left():if ak37 and a51=0 then v(88,0)=v(88,0)-.004:endif:end sub
sub walk_left():if ak37 then ::if v3>-4.66 then a51=0:tx(tx2)=tx(tx2)+.004 else a51=true:endif ::endif :end sub
sub an_stand() :if a01d=0 then animate(24,21):a01d=true:a2=0 :endif ::end sub
sub animate(ul1,ll1):ul=ul1+1:ll=ll1:at(1)=ll1:end sub
sub an_timer(): timer(1,300): if at(1)=ul then at(1)=ll :endif:end sub
sub timer(a1,a2):a3=a1+1:if f10b(a1)=0 then:pct(a1):f10b(a1)=true:endif:pct(a3): if u(a3)>u(a1)+a2 then at(a1)=at(a1)+1::f10b(a1)=0:endif:end sub
sub pct(i0):u(i0)=PerformanceCounter():end sub
sub quad(nr,vnr,vm):bT(nr):glBegin(GL_quads):tV(0,0,v(vnr),vm):tV(0,1,v(vnr+1),vm):tV(1,1,v(vnr+2),vm):tV(1,0,v(vnr+3),vm):glEnd():end sub
sub keys() :skd_not(113):skd_not(112):skd_not(116) :ak1=0:for i=37 to 40:ak(i)=skd(i):ak1=ak1+ak(i):next: :a = key(0) : :b = key(1)
ak2=ak(37) or ak(39)
if a9(112)=0 then cl=0 :color(200,200,200)
locate 0,3:for i=37 to 40:print ak(i);" ":next:printr
printr "skd:";a;" "
printr "kd :";b;" ";chr$(b);" "
color(255,0,0):print "F1":color(255,255,0):print "F2":color(255,0,255):print "F5"
else : if cl=0 then clearregion (0,0,20,30):cl=true:endif :endif
end sub
'***************************************************************************************************************************************************
sub bT(i0):glBindTexture(GL_TEXTURE_2D, t0(i0)):end sub
sub tV(x0,y0,v0() as single,vnr):glTexCoord2f(x0,y0):glVertex3fv(v0+v(vnr)):end sub
sub find_all_files():a$=findfirstfile(g$+"*.*"):a=-1:do:a=a+1:c$(a)=findnextfile():loop until c$(a)="":hmf=a-1:end sub
'
sub glC(a as integer):glColor3f(gc(a,0),gc(a,1),gc(a,2)):end sub
'
m2:'animate_phase
data empty 512x464 and all y and x.png '6
data ladder_l.png '7
'
data 2022-07-01 11_42_28-Window_b.png '8 (=10)
data 2022-07-01 11_46_04-Window_b.png '9
data 2022-07-01 11_44_03-Window_b.png '10
data 2022-07-01 11_47_08-Window_b.png '11
'
data ground_brown_brick.png '12
data score_512x36y.png '13
data file_settings_512x_20y.png '14
data 2022-07-05 10_59_57-left_run_32_b.png '15
data 2022-07-05 11_01_47-left_run_32_b.png '16
data 2022-07-05 11_03_35-left_run_32_b.png '17
data 2022-07-05 11_06_50-right_run_32_b.png '18
data 2022-07-05 11_10_58-right_run_32_b.png '19
data 2022-07-05 11_12_00-right_run_32_b.png '20
'
data 2022-07-05 11_15_43-stand_b.png '21
data 2022-07-05 11_16_33-stand_look_left_b.png '22
data 2022-07-05 11_15_43-stand_b.png '23
data 2022-07-05 11_17_24-stand_look_right_b.png '24
'
data "2nd row, small ladder_b.png" '29
'
data "3rd_row_b.png" '30
data 4th_row_b.png '31
data 5th_row_b.png '32
data 2nd_row_b.png '33
'
data Angel_01b.png '34
data Angel_03b.png '35
'
data Level_1_Australia_06.png '36
'
m11:'--------------------------------------------------------------------------------------------------------------------------------------------------------------
data 126,96,33,49,64,50,35,51,36,52,37,53,94,54,38,55,42,56,40,57,41,48,95,45,43,61,123,91,125,93,124,92,58,59
data 34,39,60,44,62,46,63,47,97,65,98,66,99,67,100,68,101,69,102,70,103,71,104,72,105,73,106,74,107,75,108,76
data 109,77,110,78,111,79,112,80,113,81,114,82,115,83,116,84,117,85,118,86,119,87,120,88,121,89,122,90,-1,-1
'------------------------------------------------------------------------------------------------------------------------------------------------------------------
sub skd_not(i0):i1=abs(i0):if a8(i1)=0 then:if (ScanKeyDown (i1)) then a8(i1)=true:a9(i1)=not(a9(i1)):i3=(i0<0)-(i0>0):ae(i1)=ae(i1)+i3:if ae(i1)>1 then ae(i1)=0:
endif:endif:endif:if a8(i1) then:if not (ScanKeyDown (i1)) then a8(i1)=0 :endif:endif:end sub
sub mouse():mx0=mouse_x()*11-5:my0=5-mouse_y()*11:m0=vec3(mx0,my0,0):end sub
function key(i0)::if rk=0 then readkeys():rk=true:endif
if i0=0 then isk = InScanKey ():if isk<>0 then is=isk :endif :if is>0 then if skd(is)=0 then is=0 :endif:endif:return is:endif
if i0=1 then ik$= inkey$() :if ik$<>"" then kd=asc(ik$):endif :if kd>0 then if keydown(chr$(o(kd)))=0 then kd=0 :endif:endif:return kd :endif
end function
function skd(i0):i1=ScanKeyDown(i0):return i1:end function
sub readkeys():dim a1,b1:for i=0 to 255:o(i)=i:next:reset m11:i=0:do:read a1,b1:if a1<>-1 then o(a1)=b1:i=i+1:endif:loop until a1=-1 :end sub
'----------------------------------------------------------------------------------------
include Battle_loderunner_add_file/.Loderunner_L001/.Loderunner_debugging_L000-L001_subs_0002.txt
'------------------------------------------------------------------------------------------------------------------------------------------------------------------
'climb up and down the battle_lode_runner ladder with Arrow_keys vk_up and vk_down
'and build a new loderunner_clone.
'PCNew_Hedgehog :2022,07.1-7.11
'
'steer the loderunner with 2 arrow_keys:
'left +up......left +down
'right+up......right+down
'------------------------------------------------------------------------------------------------------------------------------------------------------------------
'
'
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
01) 3D window openGL_09.10.fin
02) rotate_triangle_02c.04
03) www.mediafire.com/file/s6b8pobvk587mno/hedgehogs_fractalsponger_and_bezier_curve.zip/file
04) mouse_wait mb(0)_mb(1)
05) angle and circle_02.17
06) feel free to Upload here:
www.opendrive.com/
CHUCK001001@protonmail.com
75122300554a
09) Battle load runner
'*****************************************************************************************************************************************************************************01:3D window openGL_09.10.fin (3:39 PM 3/6/2020)
Lately i found an older 4gl window in the basic4gl-demo-programs between pages 1 and 30 and we could improve and accomplish v1.0:
manual:
every window keeps its number
window 1- 5: box turn left
window 7-10: box turn right
window 6 : box turn with mouse_x() and mouse_y()
'
'4glB-window v1.01 'found in :basic4gl-demo-programs between pages 1-30 and improved)
'
'3D window openGL_09.10.fin :
declare sub draw_all_windows() :declare sub one_Window(i0,p0,p1,s0,s1) :declare sub draw3D_box(i1,i0) :declare sub draw_border(i0,i1)
declare sub gln_v3f(i0,i1,i2,i3,i4,i5) :declare sub draw_minimize(i0,i1) :declare sub draw_menu_bar(i0,i1) :declare sub draw_if_not_mini(i0,p0,p1,s0,s1)
declare sub w(i0) :declare sub info(i0) :declare sub f01_()
declare sub f11() :declare sub win_minimized(i0)
'*****************************************************************************************************************************************************************
dim LightAmbient#(3): LightAmbient# = vec4 (.5, 1, .5, 1) ' Lighting
dim LightDiffuse#(3): LightDiffuse# = vec4 (.5, 1, .5, 1)
dim LightPosition#(3):LightPosition# = vec4 (0, 10, 20, 1)
'------------------------------------------------------------------------------------------------------------------------------------------------
glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient#) ' light thats always there.
glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse#) ' light coming from a source.
glLightfv(GL_LIGHT1, GL_POSITION,LightPosition#) ' where the light source is.
glEnable(GL_LIGHT1) ' enable the light source.
'------------------------------------------------------------------------------------------------------------------------------------------------
dim a$
dim b,c
dim i0,i2,i2#
dim f01,f02,f03
dim i,i7,i8,i9
dim lmb,lmb2
dim md,mx2,my2
dim win_nr(10)
'------------------------------------------------------------------------------------------------------------------------------------------------
struc swindow ' Structure to hold information about the window-
dim frames ' how many times the window has been drawn
dim minimized ' state of the window
dim size#(1) ' x and y size (in pixels)
dim pos# (1) ' x and y position (in pixels, starting at lower left hand corner)
dim normalSize# (1) ' used to store size when minimized
dim mouse# (1) ' position of the mouse cursor on the window
dim nr#
endstruc
'------------------------------------------------------------------------------------------------------------------------------------------------
dim mouse# (1) ' mouse position
dim lastMouse# (1) ' mouse position previous frame
'dim mouseDown (2) ' true if mouse is down
dim lmcl ' true if mouse is clicked
'
dim swindow window (10) ' array of windows
dim swindow &win ' pointer to a window structure- for simplifying code.
'
dim drawArray (10) ' array used to draw windows in order- recently used are drawn last (over the top of previous ones).
dim windowCount ' how many windows there are
dim activeWindow ' which window is currently active
dim ClosestClickedWindow' used to determine if another window was clicked on other than the active window.
'------------------------------------------------------------------------------------------------------------------------------------------------
for i = 0 to 10:window (i).pos# = vec2 (100+i*40,50+i*20):window (i).size# = vec2 (400, 300):drawArray (i) = i:window (i).nr#=i:next:windowCount = i
'
TextMode (TEXT_OVERLAID)
'******************************************************************************************************************************************************************
do
lastMouse# = mouse#
mouse#(0) = Mouse_X () * WindowWidth ()
mouse#(1) =(1-Mouse_Y())*WindowHeight()
lmb = Mouse_Button(0)
'
f11()
'
if lmb then
&win = &window (activeWindow)
if lmb then win.mouse# = mouse# - win.pos# :endif
'
f01_():
if f01 then
if win.Mouse#(1) > win.size#(1)-20 then
if win.Mouse#(0) <= win.size#(0)-20 then win.pos# = win.pos# + mouse#-lastMouse#
else
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
win_minimized(win.minimized)
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
endif
endif
else 'if f01
closestClickedWindow = -1
for i = 0 to windowCount-1
&win = &window (drawArray (i))
win.mouse# = mouse# - win.pos# '-
f01_():if f01 then closestClickedWindow = i :endif
next
'
if not closestClickedWindow = -1 then ActiveWindow = DrawArray (closestClickedWindow)
for i = closestClickedWindow to WindowCount-2 :DrawArray (i) = DrawArray (i+1):next :
DrawArray (WindowCount-1) = ActiveWindow
endif
endif'if f01
win.mouse# = mouse# - win.pos#
endif'if lmb
'
draw_all_windows()
loop
sub win_minimized(i0)
if lmcl then f03=true
if i0=0 then
win.normalSize# = win.size#
win.size#(0) = 150
win.size#(1) = 20
win.pos# = win.pos# - win.size# + win.normalsize#
win.minimized = true
endif
if i0 =true then
win.pos# = win.pos# + win.size# - win.normalSize#
win.size# = win.normalSize#
win.minimized = false
endif
endif
end sub
'*********************************************************************************************************************************************
sub f11()
if f02=0 and lmb then lmcl = true:f02=true:endif
if f02 and f03 then lmcl=0 :endif
if f02 and not lmb then f03=0:f02=0 :endif
end sub
'*********************************************************************************************************************************************
sub f01_():f01 = win.mouse#(0)>=0 and win.mouse#(1)>=0 and win.mouse#(0)<=win.size#(0) and win.mouse#(1)<=win.size#(1):end sub
sub draw_all_windows()
glClearColor (0, 0, 0, 0)
glClear (GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT)
glEnable (GL_SCISSOR_TEST)
for i = 0 to windowCount-1 : w(i):one_Window(i2,win.pos#(0),win.pos#(1),win.size#(0),win.size#(1)) :: next
glDisable (GL_SCISSOR_TEST)
SwapBuffers ()
end sub
sub w(i0):&win = &window (drawArray (i0)):i2=win.nr#:end sub
'
sub one_Window(i0,p0,p1,s0,s1): info(1)
'
glLoadIdentity () :glScissor (p0, p1, s0, s1) :glViewport (p0, p1, s0, s1)
glClearColor (.5, .5, .5, 1):glClear (GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT) ' Clear out all previous information from the scissor rectangle.
'
glMatrixMode (GL_PROJECTION)
glLoadIdentity ()
glOrtho (0, s0, 0, s1, -1, 1) ' Set 2D mode
glMatrixMode (GL_MODELVIEW)
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
draw_menu_bar( win.size#(0),win.size#(1) )
draw_minimize( win.size#(0),win.size#(1) ) ' Minimize button
draw_border( win.size#(0),win.size#(1) )
draw_if_not_mini(i0,win.pos#(0),win.pos#(1),win.size#(0),win.size#(1))
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
end sub
sub info(i0):if i0=1 then
' Only draw a rectangle the size of the window. This is done
' by using glScissor, which makes it so only the scissored
' part of the screen is drawn to. Also reset the viewport so
' the coordinates behave the same way they would if they were
' drawn in a normal opengl window.
endif:end sub
'
sub draw_if_not_mini(i0,p0,p1,s0,s1)' Draw what's inside the window if it's not minimized.
if not win.minimized then
glScissor (p0+2,p1+2, s0-4, s1-22) ' Clip the draw area to within the window border- two units on each
glViewPort (p0+2,p1+2, s0-4, s1-22) ' side, 2 units on the bottom and 20 units for the top.
'
glclearColor (.1, .1, .1, .1)
glClear (GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT)
'
glMatrixMode (GL_PROJECTION) ' Set 3D mode
glLoadIdentity ()
gluPerspective (60, (1.0*s0)/s1, 1, 1000)
glMatrixMode (GL_MODELVIEW)
'
draw3D_box(i0,win.frames)
endif
end sub
'
sub draw_menu_bar(i0,i1)
if drawArray (i) = ActiveWindow then
glBegin (GL_QUADS)
glColor3f (0, 0, .5) : glVertex2f ( 0, i1-20)
glColor3f (0, .1, .5) : glVertex2f (i0, i1-20)
glColor3f (0, .5, .2) : glVertex2f (i0, i1)
glColor3f (0, .2, .2) : glVertex2f ( 0, i1)
glEnd ()
else
glBegin (GL_QUADS)
glColor3f (.1, 0, .1) : glVertex2f ( 0, i1-20)
glColor3f (.1, .1, .1) : glVertex2f (i0, i1-20)
glColor3f (.1, .1, .2) : glVertex2f (i0, i1)
glColor3f (.1, .2, .2) : glVertex2f ( 0, i1)
glEnd ()
endif
end sub
'
sub draw_minimize(i0,i1)
glBegin (GL_QUADS)
glColor3f (.5, .5, .5): glVertex2f (i0 -18, i1 - 18)
glColor3f (.3, .3, .3): glvertex2f (i0 - 2, i1 - 18)
glColor3f (.5, .5, .5): glVertex2f (i0 - 2, i1 - 2)
glColor3f (.3, .3, .3): glVertex2f (i0 -18, i1 - 2)
glEnd ()
end sub
'
sub draw_border(i0,i1)
glBegin (GL_QUADS) :glColor3f (0, 0, .5)
glVertex2f (0, 0) :glVertex2f (2, 0)
glVertex2f (2, i1 - 20) :glVertex2f (0, i1 - 20)
glVertex2f (2, 0) :glVertex2f (i0-2, 0)
glVertex2f (i0-2, 2) :glVertex2f (2, 2)
glVertex2f (i0 -2, 0) :glVertex2f (i0 -2, i1 - 20)
glVertex2f (i0,i1 - 20) :glVertex2f (i0 , 0 )
glEnd ()
end sub
'
sub draw3D_box(i1,i0):
ResizeText (25, 15) :printr "3D OpenGL Windows:";i1;" "
locate 0,2:print "lmc:";lmcl
locate 0,3:print "md:" ;
locate 0,4:print "lmb:";lmb
locate 0,5:print "i8:" ;i8
locate 0,6:print "i9:" ;i9
locate 0,7:print "i1:" ;i1:a$=str$(i1)
locate 0,8:print a$
b=val(a$)
locate 0,9:printr b
'
if b=5 then print"this is my 5th window":endif
'
DrawText ():
glTranslatef (0, 0, -10)
if b=6 then mx2=mouse_x()*720:my2=mouse_y()*720:
glRotatef (mx2, 0, 1, 0) : glRotatef (my2, 1, 0, 0)
else glRotatef ( i0, 0, 1, 0) : glRotatef ( i1, 1, 0, 0)
endif
'
glEnable (GL_LIGHTING)
glBegin (GL_QUADS)
if b<6 then win.frames = win.frames + 2 :endif
if b>6 then win.frames = win.frames - 2 :endif
'---------------------------------------------------------------------
gln_v3f( 0, 0, 1,-1, -1, 1) ' Draw a lighted cube
gln_v3f( 0, 0, 1, 1, -1, 1)
gln_v3f( 0, 0, 1, 1, 1, 1)
gln_v3f( 0, 0, 1,-1, 1, 1)
'---------------------------------------------------------------------
gln_v3f( 0, 0, -1, 1, 1, -1)
gln_v3f( 0, 0, -1, 1, -1, -1)
gln_v3f( 0, 0, -1,-1, -1, -1)
gln_v3f( 0, 0, -1,-1, 1, -1)
'---------------------------------------------------------------------
gln_v3f( 1, 0, 0, 1, 1, 1)
gln_v3f( 1, 0, 0, 1, -1, 1)
gln_v3f( 1, 0, 0, 1, -1, -1)
gln_v3f( 1, 0, 0, 1, 1, -1)
'---------------------------------------------------------------------
gln_v3f(-1, 0, 0,-1, 1, 1)
gln_v3f(-1, 0, 0,-1, -1, 1)
gln_v3f(-1, 0, 0,-1, -1, -1)
gln_v3f(-1, 0, 0,-1, 1, -1)
'---------------------------------------------------------------------
gln_v3f( 0, 1, 0,-1, 1, -1)
gln_v3f( 0, 1, 0, 1, 1, -1)
gln_v3f( 0, 1, 0, 1, 1, 1)
gln_v3f( 0, 1, 0,-1, 1, 1)
'---------------------------------------------------------------------
gln_v3f(0, -1, 0,-1, -1, -1)
gln_v3f(0, -1, 0, 1, -1, -1)
gln_v3f(0, -1, 0, 1, -1, 1)
gln_v3f(0, -1, 0,-1, -1, 1)
'---------------------------------------------------------------------
glEnd ()
glDisable (GL_LIGHTING)
'
end sub
'
sub gln_v3f(i0,i1,i2,i3,i4,i5): glNormal3f (i0, i1, i2) : glVertex3f (i3, i4, i5) :end sub
'
'v1.01 somewhere found in :basic4gl-demo-programs between pages 1-30
'PCNew, public and combination
'3D window openGL_09.10.fin
'*****************************************************************************************************************************************************************************
02: rotate_triangle_02c.04
'
dim a#,z#=-3.5,mx#,my#,mx1#,mx2#,mxd#,myd#
dim c#(3)(3)
dim x#,x0#(10000),x1#,x2#,x3#,x4#
dim xc1,ct,f08,i
dim p1#(2),p2#(2),p3#(2)
dim s,f01,f02,f03,f04
'
c#(0) = vec4 ( -1, 0, 1, 0) 'all value x '0 ,2,-10
c#(1) = vec4 ( -1, 2, -1, 0) 'all value y
c#(2) = vec4 ( -10,-10, -10, 0) 'all value z
c#(3) = vec4 ( 5, 5, 5, 5) '0123 = 4325 'c(3) should move c# vector
'
declare sub triangle() :declare sub keys() :declare sub txt() :declare sub m_xd() :declare sub m_yd()
'
textmode(texT_OVERLAID)
xc1=20:for i=0 to xc1-1:x0#(i)=x#:next
do
glClear (GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT)
glLoadIdentity ()
'glTranslatef (0, 0, 0)
'glRotatef (a#, 0, 0, 1)
'------------------------------------------------------
keys()
if f01 then :c# = c# * MatrixRotateY (mxd#)
else :c# = c# * MatrixRotatex (myd#)
endif
'
m_xd():m_yd()
triangle()
txt()
'------------------------------------------------------
drawtext():SwapBuffers ()
loop
'
sub triangle()
glBegin (GL_TRIANGLES)
p1#=vec3( c#(0,0) ,c#(1,0) ,c#(2,0) ):p2#=vec3( c#(0,1) ,c#(1,1) ,c#(2,1) ):p3#=vec3( c#(0,2) ,c#(1,2) ,c#(2,2) )
glVertex3fv ( p1# ):glVertex3fv ( p2# ):glVertex3fv ( p3# )
glEnd ()
end sub
'
sub keys()
while SyncTimer (5)
if ScanKeyDown (VK_LEFT) then a# = a# + 3: endif
if ScanKeyDown (VK_RIGHT) then a# = a# - 3: endif
if ScanKeyDown (VK_UP) then z#=z#+.2 :c#(2) = vec4 (z# ,z# ,z#, 0):endif
if ScanKeyDown (VK_DOWN) then z#=z#-.2 :c#(2) = vec4 (z# ,z# ,z#, 0):endif
wend
end sub
'
sub m_xd():mxd# = Mouse_XD ()* 50:if mxd#<>0 then f01=true:f02=f02+1: else f01=0:endif :end sub 'x# = x# - mxd#
sub m_yd():if f01=0 then myd# = Mouse_YD ()* 50:if myd#<>0 then f03=true:f04=f04+1: else f03=0:endif :endif:end sub
'sub m_zd():myd# = Mouse_ZD ()* 50:end sub
'
sub txt()
locate 0,0:
printr "mxd#:";mxd#;" "
printr "f01:";f01;" "
printr "f02:";f02;" "
printr "f03:";f03;" "
printr "f04:";f04;" "
end sub
'
'please can anybody explain why the triangle start to circle
'can you correct this demo?
'
'PCN 2.2022
'*****************************************************************************************************************************************************************************
03: www.mediafire.com/file/s6b8pobvk587mno/hedgehogs_fractalsponger_and_bezier_curve.zip/file
'*****************************************************************************************************************************************************************************
04: '1st mouse_wait:
function mb(b):dim n:n=mouse_button(b):return n:end function
printr "wait mb(0)" :do:loop until mb(0):do:loop until mb(0)=0
printr "wait mb(1)" :do:loop until mb(1):do:loop until mb(1)=0
color (255,0,0):printr "end"
'
'2nd shorter mouse_wait:
function mb(b):dim n:n=mouse_button(b):return n:end function
sub wait(x):do:loop until mb(x):do:loop until mb(x)=0:end sub
printr "wait mb(0)":wait(0):printr "wait mb(1)":wait(1)
color (255,0,0):printr "end"
'*****************************************************************************************************************************************************************************
'05:new: angle and circle_02.17:
'
manual :
draw many points with left mouse_button and measure angle between points:
'
'angle and circle_02.17 (2023,may6) (line1)
dim angle#
dim l1#,l2#
dim a31(99),i,beta1#,beta3#,beta4#,beta5#,b#(10,1000,2),hmf,i11,rad,x8#,z8#
dim v0(1) as single,v1(1) as single,mx#,my#,m0(1) as single
dim c = GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT
dim f01
'
declare sub compute_basic_circle(i00,r0,st,beta2#)
declare function vL(va() as single,vb() as single) as single
declare sub lines():declare sub txt() 'declare sub mouse(x,y) :
declare sub circle(co,nr,v() as single) 'declare sub debug() :
'
textmode(texT_OVERLAID):resizetext(80,30)
rad=5 :hmf=36:compute_basic_circle(0,rad,10,hmf*10)
rad=10 :hmf=18:compute_basic_circle(1,rad,10,hmf*10) '360/10=36 steps
v0=vec2(10,10)
'------------------------------------------------------------------------------------------------
'2023,may.4
dim bt(1),mt(1),fm(1)
'declare sub cmb(m)
sub mbt(m1)
if mt(m1)=0 and (bt(m1)) then mt(m1)=true:fm(m1)=not(fm(m1)): :endif 'cmb(m1):check
if mt(m1) and not (bt(m1)) then mt(m1)=0 : :endif
end sub
'sub cmb(m):if m=1 then if a9(120)=0 then a9(122)=not(a9(122)):if a9(122)=0 then a9(116)=true:endif:endif:endif:end sub
sub m(b):bt(b)=mouse_button(b):mbt(b)::end sub
declare sub window(x,y)
'1000 gl_colors
dim a,i1,i2,i3,i4 'all integer
dim cr(10) as single,gc(999,2) as single,cb#
for a=0 to 9:cb#=a:cr(a)=cb#/9:next
for i=0 to 999:i1=i/100:i2=i1*100:i3=(i-i2)/10:i4=i-i2-i3*10:gc(i,0)=cr(i1):gc(i,1)=cr(i3):gc(i,2)=cr(i4):next'1000 gl_colors
sub glC(a as integer):glColor3f(gc(a,0),gc(a,1),gc(a,2)):end sub
'
const am=1000000
dim p(am,1) as single,glp,i0,angle(am)
glp=-1
dim mx1 as single,my1 as single,m1(1) as single
dim v2(2) as single
v2=vec3(50,50,0)
'
dim u(99),pct0,pct1
sub pct(i0):u(i0)=PerformanceCounter():end sub
dim mx2 as single,my2 as single,angle0 as single
declare sub mouse_xy()
dim s0 as string:for i=0 to 5:s0=s0+chr$(32):next
'2023,may6
dim at as single
'****************************************************************************************************************************
window(1800,800)
resizetext(100,60)
glTranslatef (0, 0, -100)
glPointSize(3)
'
do
glClear (c)
mouse_xy()
m(0):m(1)
lines()
circle(444,0,m1)
circle( 90,1,m1)
txt()
'
if pct0 then pct(1) :if u(1)>u(0)+100 then pct0=0:endif :endif
'
if pct0=0 then
if mt(0) then
glp=glp+1
p(glp)=m1
if pct0=0 then pct(0):pct0=true:endif
if glp>-1 then
if glp>0 then
mx2=p(glp-1,0)-p(glp,0) :my2=p(glp-1,1)-p(glp,1)
'
if mx2=0 and my2=0 then f01=f01+1:glp=glp-1 else at=atand(my2/mx2):angle0=90-at:angle(glp)=angle0:endif
'
endif 'if glp>0
endif 'if glp>-1
endif 'if mt(0)
endif 'if pct0=0
if glp>-1 then glc(900):glBegin (GL_points):for i0=0 to glp:glVertex2fv (p(i0)):next:glEnd () :endif
'--------------------------------
drawtext():SwapBuffers ()
loop
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
sub compute_basic_circle(i00,r0,st,beta2#):'xz...horizontal
i11=-1:beta1#=0:beta3#=360/beta2#:beta4#=st*beta3#:beta5#=360+beta4#
do: i11=i11+1:
x8#=cosd(beta1#) *(r0) :z8#=sind(beta1#) *(r0)
b#(i00,i11)=vec3(x8#,z8#,0)
beta1#=beta1#+beta4#
loop until beta1#>=beta5#
a31(i00)=i11
end sub
'
sub mouse_xy():mx1=mouse_x()*260-130:my1=-(mouse_y()*115-57.5):m1=vec2(mx1,my1):end sub
'for angle# = 0 to 2 * m_pi step 2 * m_pi / 360 :glVertex2f (sin (angle#), cos (angle#))
sub circle(co,nr,v() as single):glc(co):glBegin (GL_LINE_LOOP):for i=0 to a31(nr) :glVertex2fv (v+b#(nr,i)) :next:glEnd ():end sub
sub lines():glc(990):glBegin (GL_lines):glVertex2f (-50,0):glVertex2f (50,0):glVertex2f (0,-50):glVertex2f (0,50):glEnd ():end sub
sub window(x,y):SetWindowWidth(x):SetWindowHeight(y):SetWindowBorder(true):UpdateWindow():end sub
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
sub txt()
'locate 60,0:printr "f01:";f01;" /pct1:";pct1;" "
locate 0,0:
printr "vM1:";mx1;"/";my1;s0
'
locate 0,2
printr glp;s0
if glp>-1 then
i1=-1
for i0=0 to glp
i1=i1+1:if i1=56 then i1=0:cls:endif
locate 0,i1+3:print i0;":";p(i0,0);"/";p(i0,1);s0:if i0>0 then printr chr$(9);angle(i0) else printr:endif
next
endif
end sub
'--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function vL(va() as single,vb() as single) as single:dim a#:a# = pow ( pow(vb(0)-va(0),2 ) + pow(vb(1)-va(1),2 ) + pow(vb(2)-va(2),2 ),0.5 ):return a#:end function
L1#=vL(v0,v1):printr l1# :l2# = Length(v1-v0):printr l2#
'*****************************************************************************************************************************************************************************
09:Battle load runner
'
09a:have the following files and folders ready (on: desktop/)
'
{
Battle_loderunner_start_PB14.gb
Battle_loderunner_add_file/
.convert_photo_PB_16.gb
.Loderunner_L001/
(is empy_folder to be filled with .txt below)
.Loderunner_debugging_L000-L001_subs_0002.txt
.Loderunner_L001_quad_0002.txt
.Loderunner_L001_steer.0010.txt
.Loderunner_L001_vector_(size and pos).txt
.Loderunner_sub_f01 to f99_L000-L001.txt
text/
(is empy_folder but to be filled with .txt below)
2nd row, small ladder_b.png.txt
2nd_row_b.png.txt
3rd_row_b.png.txt
4th_row_b.png.txt
5th_row_b.png.txt
2022-07-01 11_42_28-Window_b.png.txt
2022-07-01 11_44_03-Window_b.png.txt
2022-07-01 11_46_04-Window_b.png.txt
2022-07-01 11_47_08-Window_b.png.txt
2022-07-05 10_59_57-left_run_32_b.png.txt
2022-07-05 11_01_47-left_run_32_b.png.txt
2022-07-05 11_03_35-left_run_32_b.png.txt
2022-07-05 11_06_50-right_run_32_b.png.txt
2022-07-05 11_10_58-right_run_32_b.png.txt
2022-07-05 11_12_00-right_run_32_b.png.txt
2022-07-05 11_15_43-stand_b.png.txt
2022-07-05 11_16_33-stand_look_left_b.png.txt
2022-07-05 11_17_24-stand_look_right_b.png.txt
Angel_01b.png.txt
Angel_03b.png.txt
empty 512x464 and all y and x.png.zip.txt
file_settings_512x_20y.png.txt
ground_brown_brick.png.txt
ladder_l.png.txt
Level_1_Australia_06.png.zip.txt
score_512x36y.png.txt
texture2/
(folder is empty before conversion)
font.03.png
{ from a different ProBoards_folder:
basic4gl.proboards.com/thread/3658/diverse-projects-keys-inside-polygon
29 a: convert text into font
29 b: font.03.txt
}
'
09b:here 26 texts to copy into notepad and save with the name.txt into: text/ '( press Ctrl and - for smaller text in html)
'
*** 09.01:
2nd row, small ladder_b.png.txt '(716 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d49484452000000180000006008060000000706b254000000017352474200aece1ce90000011c494441546843ed9ac10dc3200c4561938cc2288cc2281e8551d8a455919c0308e1400c42fdb93407e88fcd7fb129b529a58f
31c610d1efc384106cbe19bccaefb3cb04061fb8398d337247a0264044790d628c59e3baae292def7d9e7f47b05c8088de75511901042ad038456c1de7dc948b7872e5227501e680854679e872a02e009b366dca8bac96a2d2fcb33c3439788b87e6ebba
8ce4290f620e4679e80aa82db2ba8bce1700079c81ae4dd5410307a807e2a60cf5a099aa7d2e423d2817057d51d3a6dd82837ab08f64f445e88bc4b5789f4dd50b0e380007e0a0ce007e2fdab701415fb4bee0b0a2f85d201cb8ee1c8d230821e89ca32d
1338ff34f6fc0884f6160f0307f27df2b23f0d9c6f53f508c406170e04077fc4c11765d8a82edfab14fd0000000049454e44ae426082
'*** 09.02:
2nd_row_b.png.txt '(5078 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d49484452000002000000004008060000006cbfcfbf000000017352474200aece1ce90000098b49444154785eed9de195a338108471260e85501c8a43712884e24ceede18c4ae596ba09b3625a16fffccbb7ba036d5d5a5a2
01e972bfdfffebbaaebb3e879f3f5ffbf77c3e5f630fd3df6b7f7bfdf7f57a1dff361afff1785cbe06fa86811f8fc72bff47ff4b7c48f957c5bfdfef52fca9bfb6eb5fad7f6afd81ff5afe5f48803601ea02c40060005a36e0ea09581d5fad3fcc3fdaf9
e71f0390eecca2efc8d2b8631fa0eb721d80d6e2ab0b30198061f86e0768c9a794e7db6dec04a9e20fc3505407a035fe2f2740ae3f2964ac02e7f457ad3f4b0340fe8fcd3f0660f108e26802aa0b10038001f8bb037034ff3100ef778047e3afd61f0c80
36ff18000cc0eb1d8074073e0bf284cb7ce730bdbbb1f5be646d9c5c0760edbce8f87400b4028401d0e28f01d0e2afe63f0600038001d8ea2abe701c77406d0bb07a02c000b4cd3f0c0006e0cd00f47dfff64cdefbb6feda38b90ec0da795be7e0b571e6
af527807e0ed2b9ca35bd0ea09b0f5f818000cc0db678008c0b12f61a80b70f90ec0dac4193d012f5f023c3a3e8f00da16400c80f633643a60dafaa3034007e0e32380e55bf9d6eff5d3f1b971d6de01382a3e06402b40ad4fc0eaeb57df806000b4f587
01c0006000b6b635be701c02a81540f504ac8e8f01689b7f18000cc09b01f8c21cf77148d6011861c100b42dc01880f7956879047dec23680c000600037094ebf9100703800150aec34007a06dfe5d6eb7db6b02780e8f436530ad049882b61a5f5d802c
04a45d0888fa1b15a0d5fa57eb9f5a7fe0bf96ff1880a9025502a42e400c00068009b85d03a2d61f0c402106e0d0db7f82cd08a80b1003508601a024404081805a7f9201505c3b31bb6eee00008606017501620030001ae613b50404d4fa8301d0b2e0f2
b8f5a6fde0e715d4a6b5e173bbfa7debb26a8d9ffbddea02c400680d80753bd45af91fa5075cfff896f860d4df52f507fedb2a239aff18001bfe9d3701a516200600036029012fff2d317e3b96f818008f01827f9f11b8dcfbabab0390be56cc7500f89e
f3fd7bce52f7e3c600946500d6ea26c723f5f7e4c42ffb73b252f5c7fa192cfc1fe795a8f9170360b4865e02965a8018000c80a504bcfcb7c4d8d201881240ebefaaf5fa4bd51f0c808d81d1fcc300d8f09f1f015805a8d402c40060002c25102d4096d8
af3b9fe9d9b7b5feac7172c7d71abf54fdc100d89819cd3f0c800d7fb700955a8018000c80a504a205c8121b03e03740a5ea0f06c05601d1f58701b0e17f7a03303fcb9d96489e0937dd796d856b6d9c34ee723be0b5f3a2e3d7b61b60b4006cc5331d47
fcd867b047e18f01b022fdf9f8b3f11f0360e4859700a516e0b20370f4048c01b06d86e2e59f91e6d9c3898f0188e2d2cf3874006c6846d71f06c086ffe93b007ddfbf101986e1f537112e1983ad70ad8d93eb00ac9d171d9f0ec05644c7e3a205c8169d
f85efc4bbd01c100d82ac09bff5c140c800d7fb700965a80cb0ec0d113f0b20370747c0c80ad00a205c8161d03e0c5bf54fdc100d82ac09b7f0c800de7f01668a905987b04903a0009086b07201d9f1b67ed1d80a3e263006c85112d40b6e818002ffea5
ea0f06c05601defc63006c386300a64700188020e2648641006df8460ba02d7abd06040360cdf4e7e3cfc6bf4b7fed4c2b012e61492b01a6ffafda56b7b6f80937f602b8bd52b7bce38f29d7fc28a990d51d80bddba1527f237f6aabff287e7bf35f8afe
c0ff7d4cf0e63f45c500ecc3bff326a09402641d00ed3a0008e0be02f4d6dfbea87fceae357e29fa03fff731712fffd80e781ffebbcf567700520bfae83bf004dcf2a5bfdd801a0728a50360fcd91c0e022108a8f587ed8043d2e81e0403e0862ee64475
016200cae800c4b0895140c086805a7f3000b67c451f7db1eec7ecfd01f33357e33ed6de78cbf34a8daf2ec0d6f30ffeefbbd845d55b2df5b7dcc5b0b5eb87ff6df31f03302d797b7d8e0bdf7ceb5fce805080da02047f2dfead4fc0eaeb87ff6df3ff1f
039026aae889f06c9f4f58f139cb6738d6eb4ec7979affd20490fa4bfbfc7999f6f9bc52f9b7340047e71ffebf1b80a3f157e71f03b0e8001c4d000a505b80e0afc55f2d80adc787ff6df31f03800178ad03911e811c6d80d4028c00b62d806afea9e3c3
ffb6f98f01c000600062bbcda6d1ac2b019a06ffeb605ae075eee2e7cd77ee25ccf480a5947500e0bfd6806000300018802895758c83006a05507d07ae8e4f07a06dfe610030001800c7c41d750a06a06d01c600dc9bd61f75fe31001880a60b903b2026
60de8189b2b3f67130c0dafac3006000300076dd0a3b0301d40aa0fa0e4c1d1f03dc36ff300018000c40d8746e1f0803d0b60063007804a0ec40610030001800fbbc1d7606060003a09c00e800b4cdbf7933a0e7f00813b52d03edddc6704b8cdf8e2925
beba00f76ec7e9cd03f88fc8b58e7fe20ffaa3d15ff4676460abfcc3004c0aa4220005a82d40f0d7e28f01d0e20fffb5f8abf9cf76c0de5bd8a0f34a29c0a0cba96e18f0af2e65fce04004e07f2098150e850110278d02d42600fcb5f8135d8b00fcd7e2
af8e7e79dcfad74b605bffe5b6b5556f6b597afcb36c075c6bfec17f6b85ff7e5cadf98fb9faaeabf5fae17f0c036acd7feeea3100465e780940011a81ce1c0efee36aeec373fc9b5ea62cdd00c764bfde09587dfde84f4c06bcfa13133d9eff977b7f75
7500969b4aa8bf672d3d7e6e3316750bcefa195aad9bca807f8c04d59aff98abff23c0b5e91ffc8f61c0d9f88f0130f2c24b000ad008f44a07c02ac0e0afc53f267abd13b0fafae17f4c06bcfa1f133d9eff18006366bc04a0008d4063003e22e0e55f0c
faf10264fd5d5cbf6f5b63f4c7cab4cfc79f8d7f1800232fbc04a0008d40630030001f10f0d65f0cfbea3540e84f0c03cec63f0c8091175e02508046a0310018000cc03f08a03fbe0e488cfad46b0073d78f0130328302acb300316046a2071bb098e8e7
13602b2ee84f9dfa63cd73ee786ffe31004119f0268009282601e08f00fe30c9fa12680cfbea3520e84f0c03bcfa13133d9e7f74008c99f112800234021d7c070afe5afc63a2c70ba0f57779ebdf1a27fa0e10fec764a0d6fcd30188c9ffbc1298f50e84
028c4980b700c15f8b7f4c740c00fca70316d901a3036054260ab0ce02c40018891edc8189898e01407fead49f52f97fe9af9d6925c0e58594b2af7bfa5daa6d7dadf1136eea9500f7ee475f6bfec13f46926acd7fccd5ff598ad95affeaf8f03f2603b5
f31f03b093075e0250803b819f4e07ffdb1b90b518e098ecd73b01abaf1ffd89c980577f62a2efe73fdb014765c2394e291d00e7cfaffe34f0af3e855cc00e04e0ff0ef04e702a06409c440a509b00f0d7e24f742d02f05f8bbf3afaffec1a0a34fa13dc
ca0000000049454e44ae426082
'*** 09.03:
3rd_row_b.png.txt '(2920 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000200000000200806000000644bc0e5000000017352474200aece1ce90000055f49444154785eed9dedd59b300c85934d1825a3641446c9288c924ddad318bbc529473238be7a736f7e1b833efd5808e7fa78
3c7e5d00bfe7f3b9b9ebf45c3efa14f97ecb7adfe9767fddef76bb7df4be7b93e7e799e7f90a7980f5a6b23fd6fed9f628ff9fa6e9f508a8fba3e30fad7fb4fcca3fc90358fdffaa0500bb002800b90310bd000900b8fd4ff987dbfe050096e5b33bf07a
979b77c099803381d595815ebbe33c6fae3bd4150094fccbb284a800a0e467b73f5afe1a00d8e20fadff7c7f54fc29ffa40d20ebfa2300585f0128000580bd60d3334f14001600702f0002006efbbf01404908ebbbc1b273aeded95b49ce9a274a02ac09
dc7a6e4bee52d2cdef5677f4587a1282550046cb1f6d07c6267f340060d3bff24fea41cb1b30d97fedc919b4fe0a00aa0ac068078c46e0a3e517006077200200acfe050002002400bd0140ed9079a79a138577076ccd13b502603d776ff9a301c068f9a3
01009bfcd100804dffb5bca3e557fe890580a3ed2f00a82a00a30da000e40e4034000900b8fd4ff987dbfebbaf00eaa6b8d60a401ebf374fd40a80f5dcde0a80354ff41e00d97fdb14f9adfe1f0d00acb8e91d7f6800db7b05302afea20180ec9f7a0046
d95f00b0d30330ca000ac05804ce96800400dcfea7fcc36d7f7d06a8cf00375db8de1dd6d971512b4067e5f25e1f45fe6800e0d5dfd97151f4af7300b64d8067edeabd5ef64f27e2080004000280ff94dcbc89e4e8b828094800106b0778d49f5aaf8bfa
0ab2558ea3e3a3c41f1a00e1009013d073791cb5e5a1eb741260525b3e0a1a751012bbfdd1f2e7e0618d3fb4fed10b40b457008792f9818beaafdb58fd5f00a00a00b402c09e80d1f20b0052d315eb022000e0b67f18003800715d2e118163dfc1b576d7
7731fa3f93a0ed8f96bfb73e5be763d73f5a7e01400200d40f6d7f01802a00212a00ac01280048efe0d1afa058fd4f002000802e00f746fd97e695f5bf09f2bbfcba99c91dd0b73b3401b10720bbfde1f2bb03250dfcb6f883eb5ff947eb0f1080e11500
0520f7df01b3db1f2ebf00a04903df0640da803499ffeb00180e00b74bfa1ed1fb2bff4eb85eb05701f0feaff9749f5501001228bbfdd1f27be32e8ffbb6f843eb5ff907db83c46e7f018000005a82630f40b4fc02006d405a7da0e778f467c8e8f84303
a0004000200020ae80b4267355001230646c5005b2d583b6e30500d80ab400400020001000b8b3b8004000e07616c7400140300028ddf4d37a40c2da6def7da79e6d6ecd538e620cd603603db7c3a75f43ac79a21ec5693d776ff9a395e0d8e4f7da7354
0f009bfeeb12f068f9a335018e969f3dffecfe1b6039a14c00904a7eab1ebc09d372640140da49b107205a7eaf3f0b0092063e5d01b1f286d75ed63cca3fca3f7f7ce90d00ea9389ea3393bd0e68cd13b502603d776ff9a311f868f9d10b60bd036393df
ebcfa300804dff68ff53fe89d5043adaff0500550fc068032800b903100d4002006eff53fee1b6ffee2b80fa68ced6234bf3f8bd79a25600ace7f6264c6b9ee82538d97fd998fa5bfddfebcfa32a0056dc789fd79a47f9272d7cd100c0b29becefd380a5
c7ecff0280aa026029cea7febf4d80160029006311f868fbab02b0ed8266d3ff5e13e0280057fee1ce3ff0cf002fcfed4ecbbbc0e671f93bdcb243591e4d53dce7341ef56724d102b04979270697a64a72fba3fdff84095f97fef4f843eb5ff9077b1220
bbfd05000200e83900ec0188965f00a00dc8591f38733dfa1c0074fca101f03acf336401283bf8f5bc81334e74e6dabd92e399395bae45570064ff74dec5e80a5014ff6ff1d54f8c45c75f6b6f476f1da0e557fe69fc3bdace0e80b6bf00600510d402a0
00e40e40f402d4399f354f874e8068fda3e557fee1ce3fbf01565f2071b7e821280000000049454e44ae426082
'*** 09.04:
4th_row_b.png.txt '(5110 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d49484452000002000000004008060000006cbfcfbf000000017352474200aece1ce90000099b49444154785eed9dd175eb380c44ed4e5c8a4a71292ec5a5a81477b27b628b7a31138602046b28f1e62767f7514438188023
9022cfb7dbedbfd3e974ba3cc6af5f1ffb793c1ecfbec7e9f765b83efffb72b9bc7e776aff7ebf9f3f06fa828ef17fdffc53c79f9afff7fbfd99ffb6fe49f930e1afb27fbbddc83f1dcf3f672600ed04a04e80f85feb7ff504acb6afe63f020001d0f30b
e80f01909469b4224dfdbeea00a753a902d09b7d7502cc05406ff8e71320e34f111a9b014af1afe67f1200e3f8d90a688e66c2e37a7d554255f6c7716caa0240fc6d1b7f08806c09626b02aa132002e0bd02b0b5ff7b17206afe23001000df2b00bdc53f
020001f0b607a4b700e87d02568fbf350130e331e585b97231ed5d5a5a17a9f553aa00d49e8bb64f05a0ef17000400020001f06d13100268db122402e07d090001b02dffd402586d1f01800040002000e6af70b61640ad09806118ded6e4bdbbf56bfd94
2a00b5e79656006afdcc5f65b107e0ed2bb4adf98f00104fc06a07a813207b00fa2e01f6ceff7c0f406de28c9e80f34d805bdb6709a0eff8a7022016200880be03503d01abedabf99f0b808447be2bdffabd7ead9fda1e80adec2300face3f080004004b
002c01b004307d06589bb89756006afd20005e485281d40a10040002000180004000700ec0526d13da0e018000e87a1386ba044a006a03505d8257db57f39f73003807a0eb7300aed7ebf30df031de43955dadb37412606ad7ab7d7502c4ff2f06f6ca3f
75fca9f98f00d00a00f28f36ff9c7180d601ea0488ffb5fe574fc06afb6afe230010003dbf00cc02a0f6c6cebf7f060175024c02e033a3a35710f81b0135ff11006d0800e2448300024083fb6c559d0011006202746e5ecd7f040002a0e7103cdfaf83e9
3eecf904a9e96cecd2ad7e9f0275aff64b7fb73a015aaf03de2bfe517c64fcafa35a4763fcb7ca7f04805600907f6c99293aff20006cf89fbc0e6835011280360278fd6fb3526ebd57fbadf21f018000b0c4e65ee3af34c6f36db8b82a00e9ca865205a0
b733956b9f53b57a1fbaf533c0d2386ae3b704d95f6db1ff8abcbdc55fabfc4700b425006af306f11f1bff0800e3cce42560ab091001602380d7ff362bf50a0002200651040002c0c2a4a3c53f02c0e2fdaf37af69edd39a80110046a00bcdbdf8c758f7
fbbf77fbadf21f018000b0c4e6d1f20f02c0e27d04805b0019612e363f5a005a71d9ebf81100ef9e4e78e4b7015af9e06d3faf65efec3ae0bdf2dfeba7fcb9e8f123008c9ef13aa0d504c812808d005effdbacb004108557ad9fd26d80694fcbecefa9f2
57eb2ffdfbbc2766ba6b24efa724006acf45dbdfdb6d80c41f7b00d804b5340b2c6887005800d2b72624205f026a550023005802b06480a3c53f15008bf759026009c0b907c448b3c32d81ec45000cc3f0c47e9c6e074c7f777a335feac75a3fa50a40ed
b968fb54009622fa6a87002001ba2a10ad26402a007d2700dbe8fd09b055fee71580ad27e07c0fc0d6f61100b6084000200010003bfc0edd16e6c75b83578f7f2f0220bde9a70a40bea6bf14c75a3fb53d005bd947002cf52815804396406cee3fde1b10
15001b038ef606601bfdf1f85fda03b0d5049c57006ac261a9bf6afdf015c05224dfdb1d2dfecfc3e5643a0930872d9d0498fe3ff7aadf17312be1a6be0b60ed75c0f8fffae66ff8bf2ffe730e80761320f967d174516cb436ff2200d6e17ff23a0001b0
12f8e9712ffe31d64f6efff76ebf15fe230010006b6271eff987eb80d7783fe0d9562a000143a10b103023a0e67f5a02cb4bfee681381fc837fd39bb713fa6de03c075e46ed7853c88000881d1df893a0112807edff1e47a04d4fc4700b4510158cf247a
f02070b65e07eb31f2f5ccbce9c4788fb8d75efe5cabf65b498097c71805f5affdb48a7f7e8be1a74060fcaf0384c62cfee1ffe5898b2afec05f8bbf3aff2000a6a33a094004c0a7267f0470f9058009483b0181bf16ffe604407a53894e8647fb7cc28a
4fabdf415b3f03b48e3bb5c7ffbe2374bd78972a60d65b2c3f6dbfb509a8b7fc07feef02a037ffffa800f40640aec0b61e3f01d87700aaf9a7b60fffb5fc077f2dfeeaf84300644b000880f48e18f5eef7ea870a001580270f265ab5f21960ef15300400
02e07910505a03df7a02542b20b57d02b0ef0054f34f6d1ffe6bf90ffe5afcd5f14705800a000210012c7b016002d24e40e0afc51f01209e80d50e2000fb0e4035ffd4f6e1bf96ffe0afc55f1d7f5400c4028400ec3b00d509406d1ffe6bf90ffe5afcd5
f187004000b004c012004b00d34158bded8142002000980084130001d87700aadf00d4f6e1bf96ffe0afc55f1d7f5400a80020008502509d00d4f69980b41310f86bf157c7df7c1910f7982fbbc73ceaebf856be835e7b1fb7178fbd5fa3e91d777a8ef1
5f9f50a827a0def90ffed33925a326ffcf27a58aec2300260fa8041001d87700aa1380da3efcd7f21ffcb5f8abe38feb80d7becaad7cbe95005c390c1e07011702f0df055bd843e01f06e52e3b420088dd46008a1d80792902f05f0a7f334b305a14fab5
7ebe5f87e726b0a53fdc6bfefbbde6b56b1d4bb8a913607e167a8d07f8dfe7ff1aae4bff7daff8c3ffa51efebb9dd7ffe0afc53fc67af95aeddafc53b28f00307a86006402fca2ccf878e19036f37903d048bff952a5bdd96702b27afaf7f6e41ff24f64
fe39df868bab02d0dabde2eacf296af64bb7e1b55601a81d84c2ad7edceaf79580acf10fff630500f8bff02c09f05a1ef37ae368f90f016064829700244023d085e65efc63ac73adb1177ff81fc340f047807b04787109800a802d300940023032006dec
dbaf004100583dfdf7120015002a001115102a00c6b84400200010002c01582760639a293627ff907f22f30f02c0189904200118198046facd9b009980acc8fdde3eff0aa6b676ec8dff98bfd65f01a20213e381bdfa9f258018ffbb13300118e380a305
a01595bd8e1ffe5b3dcd12c06f08ec95ff31def70b4004409007bc042401c638c08b7f8cf5f800b4fe5d7b1d3ffcb77a1a018000f8894074fcb304608c4baf03488046a00bcdbdf8c758470078f187ff310c047f96202397201100c6b8240009c0c80034
d2cfbd0465b5536a0ffff7c97f04584c0478f91f633dfe05040160f48c970004a011682a00bf22e0e55f0cfafe0404ff633ce0f53ff86bf18fb1ee8fbfe21e80e172329d049877c4bde6af7bcdd3cfd26b85136eea9300d7de878eff7dfe8f4a087bc51f
fec730c0eb7ff0d7e21f63fddf4988d6f927b53f2300d6b982006402f408c075acfbf7b4977f6afb4c40311ef0fa1ffcb5f8c7580f1000e90d30ea0fa21f1b02ad54006c7f35ad41200601f81f83a3b717f0f722778ce7ce0800ad2309402dfe58d72200
ffc15f8b40dfd6ff07e2420a34ed45053c0000000049454e44ae426082
'*** 09.05:
5th_row_b.png.txt '(5110 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000200000000200806000000644bc0e5000000017352474200aece1ce90000042549444154785eed9ded71f320108451272ac5a5a81497a2525c8a3a4926c67262470cdce99213ba277f3cef3b08c4b2bb2ce8
6bb85eaf1f29a5342eb7af9f3ffb5b96e55ef7edf13b5ea6fbbfc771ccbf41db9fe779f833d01b2a66fc63f32fbafea2f71fff89adff8109c0970008d017ffe81300fd8fcd3ffc27f6f8ff0a00eb4abd61f1282ab2d69bf701522aed00446bff68028c86
fffb0448ff57858ae45d2d8cfe33ae47f33ffce7350044d33f01e0ed12c47f130001c616200184f1ff790914ff218056d3b4a2402980130008002ff780fcb701310132017a4e80d1f9c70224b6fe0800040002c08f9b500940acc0140bacea2147bd0442
0020003001384e000830b600a3af40e9bf2ffff11f5ffcbdf9cf0e003b000440c700e86d00b41f7b022000c41e7f0200018000400078be87834b20b12e81100008004c008e1300028c2d4056e08cbfe74d90f84f6cfeb103c00e0001d031001200621bb0
f7f8130062f38f00400020001000b804f0781579b44b200480e001609aa6fb04b0dce6eaa32c9605d63701ae75466ddf5b808c7f666054fe45d75ff4fee33fb1f53f3001f8120001fae21f7d02a0ffb1f987ffc41eff6700b05cdd53573b02471160fb19
53120440e02c08e03f6719495d3f08003adccc8e4280665052110880801001fc4708d8c98a0ff374b9df03d0fab7de24735bf2f3b2a5affab5d6272dd76bfba5f3f616a0f473d0bde22fe559a93cfdcfba47ff7df91ffe63e30067d33f0140c80b2d0110
a010e842712dfe36ada744fb04801e0310fe63e30067d3ff70bd8caa1d80a37dd7dafb79da5afba58f811c6d07a0f618d4513f6a52c3df46fedf0100fe67444b3b80351e69c703fe65e649f987ff6819f77adcd9f8470010f2424b00042804bab2032035
409bd609005afe83bf0d025afcf11f5ffc6d5ab7f71f0280706410a06e052284b9585c8b3feddb2000fe7df29f0000ffb71020000879a135400428049a1d804d04b4fcb341df7e05223d2ffaaf0b20f88f9469dbe5cfc63f028090175a02204021d00400
02c006025afdd9b0afdf0084ffd830e06cfc23000879a125000214024d00200010007e2180ffe876406cdca7df0058ea3f0140c80c048800bf28c34d8859383c0530651c9c3f2a566b9f0588d0e8832c400800425e10000800040002506f01900020347a
02408c9b20a4b420001000080004000280d439b7cbbfbf89b4f6fe08adffda9c2d97009e6f42eb4d00de042081db8c000640002380c90318fe83ff6c21305cc6247a13e07b25eb35c0f5fff9aefadcc4b41537ef3701eefd1c34e39faf01c3ff8c00fa6f
d37f93493414d2ea0fff6900b7a18816ff86aa9b8aec6d9f00d00473b990760010e04ee01f876bf1b769fdfb2638020001a0a70084ffd83840effec3e7806d78a0aee5283b00ea0e7020088040b708e03fdd0e9dc98913004c60d4578200f5d871240880
c03e04f09f7df8f57ef427b28a61139d2e9fae0000000049454e44ae426082
*** 09.06:
2022-07-01 11_42_28-Window_b.png.txt '(894 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000174494441545847cd57fdbdc32008b49b641447c9288c92511c259bb4bf27392354032fef83e61f9b06f1380ed447f23f4fbf69
b57c78ec5d4687a3300075e19c73c5718eab08b094adbe9752c46831e161200c405d98888ec865c4567ec108e6cf98b862e0df01089121d7449cdbbb0f1133076d747e6af03d0361007e44f57799d1daf862e03300fc56ce2d46b4261a03e100ba7abdac
7be4701669cee37ea1e761bd370dc0b1d79106e29df706604ddceb771eda83d40ceaf832ddb3790b6f15694bfca331100ea024993bcafbb083813acd888e18df9bb8cb22994ddc611b03e10090823531523080bd00f5abdf1196654707035b6266a71a88
008020c4c1e32c472e0be4f42e03f0d76967bc1b42341100864c68355f167ff751cfd391c374742212a90807609d82cf54dd3b259b0c8401405f5808f70119e1a676bdf5b8179c6ae74eb713f77cd4bd3e1d4f19f81800684c5afde868f8dfb2bbcd80e5
f82f00887ee0ad7b87ddf01264de8c1c8ebd26c3b55e60ae3a24e7bb09d50000000049454e44ae426082
'*** 09.07:
2022-07-01 11_44_03-Window_b.png.txt '(894 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000174494441545847cd57fdbdc32008b49b641447c9288c92511c259bb4bf27392354032fef83e61f9b06f1380ed447f23f4fbf69
b57c78ec5d4687a3300075e19c73c5718eab08b094adbe9752c46831e161200c405d98888ec865c4567ec108e6cf98b862e0df01089121d7449cdbbb0f1133076d747e6af03d0361007e44f57799d1daf862e03300fc56ce2d46b4261a03e100ba7abdac
7be4701669cee37ea1e761bd370dc0b1d79106e29df706604ddceb771eda83d40ceaf832ddb3790b6f15694bfca331100ea024993bcafbb083813acd888e18df9bb8cb22994ddc611b03e10090823531523080bd00f5abdf1196654707035b6266a71a88
008020c4c1e32c472e0be4f42e03f0d76967bc1b42341100864c68355f167ff751cfd391c374742212a90807609d82cf54dd3b259b0c8401405f5808f70119e1a676bdf5b8179c6ae74eb713f77cd4bd3e1d4f19f81800684c5afde868f8dfb2bbcd80e5
f82f00887ee0ad7b87ddf01264de8c1c8ebd26c3b55e60ae3a24e7bb09d50000000049454e44ae426082
'*** 09.08:
2022-07-01 11_46_04-Window_b.png.txt '(878 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce90000016c494441545847cd57dbb50221101b3bb1144ad95228654ba1143bd12363d4090ce0bdc71df9c107ec262113e024ebedba3ed4
8c3c8de60dffa4896100ea8b534a15cfabdfbac44ad9ebefa514d38b4897ec8a026100ea8b73ce0fe67dc6335f40113c8795182970380063b2ff326765725605e10d28f1ae40180063b29cd5c5df6aec89bb02bf0500cc67f5fe5785a60a840300f31790
71fd8391a7484a70bff516aaacf1401880228a74974bed2f1afd4df673d6cfbcc084788f782a100e6013a5bcc9d9904aa26bc74cd8ac6086716f89679ed74bc29a03910080b00fa4e86ec80dd98ee4f4beb322673d26c82efaa1d90b1a258e06305b6bd4
f5a70aa4acd5f5f4cec35b8d0291008c173c377b00677980b54795a1ba7a2722b33b72391d0e80eb1d1e60c64848cefecee918532bf9a9026100508e00c009c97b86e7014e3e1ee72af073003c8648b441157c7c3734913c2baf6f0030793003e0ddf916
e6357b01cf59bd0dafdc2f5d3c376acd14229a6e32810000000049454e44ae426082
'*** 09.09:
2022-07-01 11_47_08-Window_b.png.txt '(872 bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000169494441545847dd57ed1583200c8c9b380aa3380aa3380aa3b849fb9af4b04402f8da9abefac7874df1eef2713251ffbaf543
aa11d3c8ff4682dc00f08b43084c64bf2f556229adfc3ca554dc89a849b2f5a31b007e718cf1c9bcceb8975f28827d2c256a0ab80128248f5172faee5551025b32f95705dc007c44f251a562949a42b73c14f86f007a3e40a9cb14380d00084340aedadd
8038ab0600403337157003a067be46dcab72ed155afa592c82169a65c292289bbbc01300c8158348330640e44eaf757c76452abd64a58d43571249cc4978250066be90f8fe26b7ecff60026fc024b3d6875a09e2aa9a39c8e71a70079054ae52946a3dab
8035782a5d95dd9053f03300902bd442afffadeac7f34ab7141f417991686125dc00c09635726bc2591ed0331ffd6d7898039e00743a9b9311c17ac6e33952b9af9f66a0ce09c3e702ab18bf09a0f0080b000658af5b30fb5b3560edd13c1b5e01a0476e
f4f05a4df7c8e9f8ab00eef7df3026c77899fe0000000049454e44ae426082
'*** 09.10:
2022-07-05 10_59_57-left_run_32_b.png.txt '(982bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce9000001a0494441545847cd57dbadc3200c7537c9288cc2281e855118854dee55b00f8d5d08a8524bfb8342209c87b1dd07cd7f7ff325
dd158f957d2b8bb601a80787102a91e718bbc4724e753ee76c4622ba2579f7721b807a30332bf33ee399bf5004df1929d153601b807783cd888158619698601605111b97c595fc55816d008ce417cfba36a724cc621466fe199b722eca5cd63fe7ed2d39
15f80d00f0aee3d56dc07b057c0cf8fce095680a6c07e0bdf7cff1382a781d88d5632f8fcf1f50603906b0f09b0070a6b986b0e42812cd3188028d89ceeb403121ba6d4df0cc97f3c00e00de4eb99e8e79b3c8c50000fb8f5c6e55b7f04dabe10e00a60c
8ff2c2ac4f58ed0f86d57096173e0e60d60fa460fb8483a573c22fe8fb595ff0763ff00900d5fb43ab5cd1aad7a2de35462509e3482e3fb03ccfaa2a5a81977e600780ca3c92304a2419cd3380a750c45b80f9a2a130ca0b85e5fb38a755c39f01004fb3
7ae933db28b77bc6fe1604969a9208a328f1a2c00e0020656261c41cde8dde3785c85e9b93b9dbdbef8a110b3b0018256e18aefca13db78fda7cb37f9809bf05e01f0ace5026de3f9e7a0000000049454e44ae426082
'*** 09.11:
2022-07-05 11_01_47-left_run_32_b.png.txt '(920bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000181494441545847cd56db71c4200cd475e252288552540aa5508a3b49260871d60eaf7392d3f987b101b3bb5a493c68fd7cad97
74573c76f6ed2c7203500e0e211422cf317689e59ccaf79cb31989684a7236e906a01ccccc95799ff12abeaa88fe67a4444f01370077cd66c450af308b27984541f5c66571217f55c00d8091fc12b36e98531266310a337cd74d399f95b9ac7f7eb759f2
a3c06700d0d8756235353c2a801ec0fa804a3405dc0160ecf13d1e47015f07e21a639407eb872ab0ed015df84e007aa649430dc9718a9b6310051a93fabd0e1493badbf60464be5d073c006038253d81790b11784001e34f2e59d56d7ccb6ee801c0b4e1
515d1855cc106cf7ecf402437ad80d5775e1df01ecde0730cf5181d5bde0d7f781bf0450621f49ee808924af9bebe16254db7d9bd77da3c671f9dfd0039f05e0605162f468ac31c699ac5489a492beac800700256b2e28a8c0c9d61b087472a3daae846e
008c0923d9eea74a684c47f3a8d86d0f7800301e98a6c0bdc9d73c70ef8ce9ae2e806fd3e4322a50b697c60000000049454e44ae426082
'*** 09.12:
2022-07-05 11_03_35-left_run_32_b.png.txt '(962bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000196494441545847cd57d11583200c4c3771144661948cc2288ce226ed2b21d1dc03a1fd10f9e189a077974b80178ddb7b3ca539
e335b36e66d23200e5c7218442e4e8639358cea98ce79c5d4f449724af5e2e03507ecccc95799bf128beaa887ea7a7444b816500fe359b1343bdc22c9e601605d51ba7c985fc598165009ce4a79835c39c92308b5198e1b32eca79afcc65fe31eeb3e4ab
c0330068ec1ab1ba343c2a801ec0fa804a9802cb0160ecf1396e5b015f3be21a639407eb872a30ed019d783b0064a221d97671730ca28031a9e3b5a398d4dd7e4f40e6f81ff3c04a003d974b7a02730b11784015c38ff52aa0ce1bee86770270a5789496
bd8a1982df3d350b028b97025965bcde0bee0450986702e42cae47463dc360bedbba20e70a6d89448944923596058f018008cdf57030aadb7d4f101b8f24674a6c5d05560050702e0b46e7025dd473bdbe6f9c925d09e89e885600c030358fe53b8b7bb5
c57a1f3818ff763f185642bc98dc09c07903dd1cc9ef8e6ade23df4da9bf6f468f01d0cc92610118dc095d2a4c7cec3be5d77bc3cccd9b3e467540242b3ec5bc0000000049454e44ae426082
'*** 09.13:
2022-07-05 11_06_50-right_run_32_b.png.txt '(926bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000184494441545847cd57ed9584200c643bb1144aa194944229946227776f4966351130ebbd13f9e30741668609c457f0b71f7fa8
8a7c8dc60d3bcdc06900eac431c68a67bba626b152727d5f4a51d7104293ac47816900eac44424ccdb8ccf7c0145f01dabc44881db01289361ad89784d895801aced1973477f25bf57601a80a6c9c02046661ee3a248e5cccaa4c4fdf6b9a700bc80eb5b
816701d89823ef99a1f58097b15502de82970e0a4c070084d6038d7c56e4483cb2aefc3ae346a276fb8028cafb8bdb03ff09004c9a69d85b929cd8238b2447c48d0cc885a558e57d63fff0ed037702b08655e9693b2d2378c0c6912871e5349c06404d8c
b300cc60c603533935cff2de731a3e0340af0eb00ae0ace8edfd57ea81611d701b801438cf7b2d07aef9d0a45cd89ef9b0fc347c6f37eeb00f20b82af0180029e83a20065448ba56ec650758adc48a7dadc00c006a29cef21dcc10b750db3b97abe21900
9409ed12f4b3824fbf5e7c0edcff670fdc0160e881fecee0ee513f43a77f46eecffa03d59cbf5106122abf695ad80000000049454e44ae426082
'*** 09.14:
2022-07-05 11_10_58-right_run_32_b.png.txt '(942bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce90000018c494441545847cd57ed95c3200c7337c9281e85513c0aa3304a36b97bc5561a5c08eebb6b69fe90f01124211bb851fcf98977
6d7adeaec65d36ba81cb00d48999b9e27994a94bac945ceb4b294d49445db211059601a8138b8831ef339ef9028ae03f5e892b053e0ea03119d65a44d7544415c0dace9807da2bf9b302cb00744d0606ccca9c796b48e5accaa4a4edfe7ba400bc80f2ae
c07701783047dc2b43ef812863af04bc052f3d29b01c00107a0f74e2b92127e6917dd7ea8c17eb75ca03a6a8e697b007de0e60b456a325c9493db25970305e6c402e2ac56ef5a3fc7128b012809fbb9b907c27cf081ef0fdc4947865375c06a04e5cc872
bee8e222138219ccf8c4d476cd59dc9fdafb7bc10a009579227575a236e753d178f5ccbd329eb9578cc512843530e95e7244c1d700f04c32e9d96ef6d871e1e866c788e3db131c2ab00200e6ec86df686f984545204a6227a24f02f0a043c7f16c27260c
de44a3e93fee05cb0134de808b51e9f345a636ce4fd1f3e7bb6193a85600e846c92c2f8c763f3f2e72377c2b805f3e9a1024f02dadff0000000049454e44ae426082
'*** 09.15:
2022-07-05 11_12_00-right_run_32_b.png.txt '(986bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce9000001a2494441545847cd57ed1583200ca49b380aa3304a466114466193f695e46c1301f3fa9e45ffa0f2e1dd7149f011fcd7d33f54
8d7ccce64d3bcdc46500da87638c0dcfa74d5d62a5e4f6be94a2da104297ac47816500da87894898f7199ff9028a601dabc44c81bf035026c35e13f19e12b102d8db33e68efe46fe5b816500ba2603831899798c9b2295332b9312f7dbe79102f002dab7
02f702f0618eb86786d6035ec65609780b5e3a28b01c00105a0f74e2599123f148adfc3ae346467de5015194f38bdb03570200936e188eb62427f6c826c111712313726129aabcefe40f5f1ef827006b58159eb6d3328207ec3812257ea986cb00b8caef
a4ee2b116cdc7baae13d00d8730018835e253ef1e04a72123a7a05d594e3deadc00a00d343e70e8824d521de033f6f492b22c7885d904daa66952a0a2586e7814338e168760180c63c05c96cc4ed28ee374d74e801eb192888efe4c00bedb5e0360052e0
e45e885b9c882c239b096d15b50a46d9ba2c9e192ab00200c02a2f00083a63e0783ebbb095a371603e8c022cb0028052a2c3c0f31bf79e76f613abd6e92d3a5ae012002f94a23626184d12d50000000049454e44ae426082
'*** 09.16:
2022-07-05 11_15_43-stand_b.png.txt '(992bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce9000001a5494441545847cd56c111c3200ca39b641446611446611446c926ed155b243626d0bb5e483f2d890bb22c64bfdcfce73d1f5a
225f33f15341bcd13200e560ef7dc1717c079160cea9ac73cee27bc4c40c03cb009483638c9cb9cc78545f3082fff798b862e076004264a8356a3acab8f7fe629f92fc998165004caabddfa6924e89d41f026944afb149ce3bdf0e8a8736be0c3c03006a
1523105246bf6a403330dab732300a9caa875182d1be4d097090f7c4408c361361931a493bd5f8f83f392718852fe07d57032b00e04cf31a6e9c1912f6fc23eb8cd573bcdef19c7bc489a4391fb81dc0c9bbc57d0572d43e289f487ccfb5162ef6b31958
01c06cb75a8c17fdbe84f6e605ad7e3d2f343e808d6e07901d7bb993f739f0a4a38d486706dfd07189fda46ac8917f78478e5b19780c00204dcc447234e3e9bece065913e616d2c405478e1838f35ada1e032b00082704623cdc22a6617b0ad662c51a1a
d92331782456d7b60fac042098d06d74a8eece6d31baa91884ada9581813dae91d00cac13dd53600b45f2895f7e271ab30103753f14a0042033a833faee734f0c703f55602c007aaa360243380f11e0000000049454e44ae426082
'*** 09.17:
2022-07-05 11_16_33-stand_look_left_b.png.txt '(976bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce90000019d494441545847cd57d1b1c42008e43a492996622996622996924eeee6044cd86074e6dd3c931f2706755916302f1a3fefb189
6bf19a593763b40c403d3884501d39c6e83a564aaef3a5143312d1ad93771f9701a807a794c473dfe3517c9511dda7c784c7c033008c3cec7d57ada4c49a488919546d9cd655e7bb0cac0050a92fc48833ed32b2aaf5c9993d8b51ece05ded4ae1f5aa85
63de66c999816500eac19138df9ba7643def850419410d607d4026be0c3c0bc02e44a06ae3b655f0325092182333583f663460185806e054b18c53bbaa3c30032d863bab5c068a59d56d7b02c6fcb445ab03a6f221a5ff0600bb1e32821a50cf5bd6c004
eea776d81b5a16ac04a0e0dcf6ebf477b724f4bae74c163c06800b44bb1a7a82348460ef0d6abf27ce8e489c4581384bb41176bb61afa4bafcd72bdbef001826f4a58974b33d42da7ebb3362de6b8f5106da7ec2c4f04eb81cc0a8b61f00ef4380a1cbd2
6d870cac0060ea8166c1c503105d94ff829e9d7aecf5025cb30c8069cba8da6b0cb91bea336b7f62e2722b5e0ec0cdff5ee1f9c3bc11fecfff0b268099333fd9f85a24da620f4c0000000049454e44ae426082
'*** 09.18:
2022-07-05 11_17_24-stand_look_right_b.png.txt '(960bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000020000000200806000000737a7af4000000017352474200aece1ce900000195494441545847cd56dbb5c3200c7337c9281e855118855118259bb4a7d822b50384de7b5ada9fe6059164c9f18de67ff7f947
cd93b7d1bae14db7701980f262662e788effd02496732ad773cee69f889a6467145806a0bc38c6a8ccdb8caf7c0145b08f5762a4c0d7011893a1d6314a4d63140550db2be683fb86f4ebc932004d938101b33067dea648a7248a8520eb02497a02c97a26
b90f2f3c15f82d000773e45e98fcd50350240755c6297152603900b8df7ba09167e389e83c12f36eee63df4d1a242592839a0266365ef83a0098d15bbdf70d48413cb269381807ba41520576bdee954567ecf681b317ac293f06c0336e7cd524d78e314e
772d7dc281320163bfdf49811500a61a114a7295865ee97af3c17427fc2400ec5d94c8249d2f9114738bd67c1e884f8d8f6fa3838ebf862b0018e6600005d0b17c8e51531d13aa107917c51a73437726fc0d00f86efb9abeeb01cc0f57b320de5353b012
8049014eea24a373be5726e9a4549fef3cf7760a9603f0335c2fe748c901783c33fa54bdce84a6042b0134bdd053e01fd7bb9d70098007cce83428410b98fc0000000049454e44ae426082
'*** 09.19:
Angel_01b.png.txt '(1062bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d49484452000000200000002c080600000004b8ba8f000000017352474200aece1ce9000001c7494441545847ed57db9585200cdcdb89a5500aa5a4144aa1143bd93d0b8e9a082478d69bfbb1fe78d41027c3e4c1ebcb7e7d
db4d8be5cb626f32da1cb901283f26224b40bbcdc97e18a485013700e5c721841215ee4434044d44655dceb9acc3bda78991337700d84fb605cbb20cb5b0ae6bf9fe98063c0030262652c122705bb1f0ae031341cf9b9a689a776b5f3103c0ad14bb8bb0
599042888ce79c13ab7c5a05c462cb16b80160155046acc90c8c681551ed0570f00e004ce5e87ea7bdd4826e7e1ff829c19f197003d0dceb10c65d0fe1a654d51f63cd0af90cbb9c6b9794daf865e033001c134f8d88a84634ab01c980e677674033b42a
f03680ded4db7b1fc56494b6494802d5fc5e346075f06700524a2cfd40e131d556f5a658a7e3b865471611878d91b4a93da63a15239bb0c5c896bd17b803401a227299df320b403d98d8edb7c8a5167a9183895d039e00d8c0214f4268428deed6cc4cd9
bcb439e1d20b3c0098060e6b21ead9f598b854c283013e72fd0378920196057890cde92e804157b54d4444b53ddfbda601f4d2500300951f0c629e189f17cc75e0ed0034ea65c43d80a8a48dad686bc02abe270034b341a3fec67776186a9d8c668fe1b3
18d83f7f008e1185eecc417fdb0000000049454e44ae426082
'*** 09.20:
Angel_03b.png.txt '(1072bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d49484452000000200000002c080600000004b8ba8f000000017352474200aece1ce9000001cc494441545847cd57db71c4200c8c3bb952288552540aa5508a3b4926c0fa2c1990f02427fbc773672156cbeac1f6657fbeed
a6c572b3d89b8c9a233700656322b20474d89ceca7415a18700350360e2194a8f026a22968222aeb72ce651dde234dcc9cb903c079b22378bd5e532decfb5ebeff9b063c0030261652c122705bb1f0ae030b41af9b9a685a776b5fb102c0ad14bb8bb05b
9042888ce79c13ab7c5a05c462cb11b80160155046acc90c8c681551ed0570f009004ce5e87ea7b3d482ee7e9ff829c19f197003d03deb10e65d0fe1a654d51f63cd0af91b7639d72e29b5f1cbc03300bc279e1a11518d6855039201cdefc180666855e0
6d00a3a977f47f1493516a939004aaf9bd68c0eae02f01b06623f316ea4db14ec7b16547161187c6486a6a8fa94ec5c8a64e3de8d7010f00250d211e99df320b403d9838ec5be4520b08087502f6f87d68c00d404a8995600079df88500f501fe67744d9
bce49c2099d81e036014b9b500697623260e06dc00a019c95bf0ea00b2ca00b2ebd20ba4f834c7d6efa3a1551d4888aafaef3e93ae6a9b883e0ee0ae164031988286b4fbc2e5081e0340a35e463cd20898e86861de0d3d00b0b9e0aeea0debd865a87733
5abd861bf664266ccf1fb39a89aefa0a21c00000000049454e44ae426082
'*** 09.21:
empty 512x464 and all y and x.png.zip.txt '(15118bytes...1st byte:50, last bytes:1c 00 00 00 00)
504b03041400000008007473ee54e3d68ceb741c00005135000021000000656d707479203531327834363420616e6420616c6c207920616e6420782e706e67ed5a7b38546918ffcecc340825954b9390e822612b2a69a6cb92b564a9542e33b15baceb66
a54d9ca3b68d4a54ebb22533bba956c564c9ad98a9c8eeda725b1132a3562e23a3cc188699b3df61efbbb597fff679ea9fa6d3f31cf37edffbbebf9b04375747cdc9b3260300349d366e700780043f22b5aa54f857536efd46e25f11ee8eeb40eefdd93d
001801a70d6b37eff37df6a82345c4ff60316be1f4c38fdd661c5dffc18229959fdd8c32d2bed16c8cf57684a7fd30d060b8fd92266bbb878fcfecf65963834c5c29c347abe8cae74928de845ae052291b57f0f0d11a5c8136e1fd395cdb1de2c1274fcf
e21f88150d82ae115d8a10edb0563e33e1e04bc6ba1b6de5116b0cbbc5d1dd62ba3e2031802620d7ea1a31015dac3e908804f0ac0b055afb459798bcbd7bf5f68bd9ca35357447a30edb1d47e863d17b5912bcc6c05c211b54df6149efae5949d2600c4e
77b4bce57e682e0709000fd08375a8063fd5c289e9714ea9a3c9e729a5dc4778cd4c61b4a87152b14cd9231e1c6b019fd095626b53a9e765115de169cd9774ad940f5e27b390cc7ce0c4701451d2c174e14df25abc5b307f96d0929c4c3dbc8a62041055
06200d1af1c177f9a96bd4261e708ef3e9f828aaeca277812cefa0cbdc4d9fdaa5d97183571e3b97702ee4a35312d3c69e9a4988dc198d96a421c55fa450cc1ad5b490b97c6a32120c641ac2bda16dd1564d65835d6c5c2ac0156c034c4a5fb8f5646fa0
d8d887be433616417178eed274c750694f5a30347f68b7727598f20dd01401f438eaa440fea555643eb00255aa594afd1c584d53037a842a6cdff6760a266ba7573e5ecd7b000674a35bfcdfeae56e6e42e5dc37b0ee9aa0eea9e4da6bcbd5bc2f4f6790
3682415b1659b89ccab8e1ee24703fa72c4b53262066772faf07242d0c50cc3660487af83b31f35419c403c63ae1d3f9d8790be39290926716b6ee8bdf686c8a4e704970d912fbc6e774c911e5019364c9f2c6263b6be0321943e409fcb292ef1721fa80
8a215fe3bb0e227e58ec1d104903253e258f2ca655a6dee41ee8b8b38ab35f6a1cf2ce8917e63ee2912ed579630ea20174895283c1122eb8d5209d252cd104e8b0ac8f2199355b8186264b0511a3dc6050b1b762efd09767fcd666fbce046377e86337de
34226e95d70232b7a07ad8e329fcabf09ed816e08140eeb997d12dc8a07a6b582de4fc749dac75143d4c4db7d1f120187f308ff22d97ec1b36afd0b470cbc3376678697bb5bc9857b90eb692b7168727919d945703efba798cb4bbabbe554c679182813e
5fe36b6f6ad668243fd0d9b8d2d74194899ee02f28efd93f7c87d7458b6fce88585f78c0497eaa57d29527bf0396cd47e672dafaebfd1c555ab5385593ddb86b31fa987ead3fa57eec7dd1232e39d786d3fc7546de3411733a6bac0ab7bf98e51d3bd1a5
8c2d8a9d60d6b2e5c2f75484f10c4a3cb077c75aa27be80a4754e98a5682860d1e4726aa783b1e90ad3abe906fd4c28807711ff3d390e4d6d4d6f653a695733d62cad29a6bbdf33edfeb53e9802acf3fdc1afedc1037a77f661f44f4d50c7ebe8e7023a3
017389240f1f0488199fbb982f47050cd318e748b967038f46aea5553be51d2a987432d730275ab992747ef8a2a8632a9e89bc8d66d0ae753ad7a76dbe44ef52b502f7a600642e83d24d8b9b772ddb15d3675007f4e2bea79f977e8f32a99c33b4e0b005
852685f9e1eb82c3e9b2cc5956d29a80478341e474e5caa29d490bf36586e4f0478811a008a74f626d16d64b3554c9ee0f110eafa68e69cdcf72ebfda93cb5692c60e6bdd9508d34fe20596b016fcab6bedba23dba6f7c13531d63b93ac03fff4a6dbccf
519fad856395b9cc276dfa54e1b70fde0d773f077cb5ac8006200bf59012b404b7279f7bea7c59608796325532fcd402abff38825446dfd6bebdd5695996d9aea85c720429be08b6366bdf723740465503801ea0f26d494e4c3844b5ec39e476c52a569e
61097e98b507df830736f7359e8e3dfea041b06c3ffe61595713f55ab320c20fb540f5b14fb8d9b73cce012dec28793ec635c69eedb8a0748d54707141365e093caafe6616ad4bee357d1d922b3aed679cdddede15bfc0cfd9cf59dd56c2530adedf307e
1dba944c83b3bbc09919802c998ec05164013d236ab82bb939045414561416ea18579e72b70f79e782c8f1372d8c6bc455b0ebe497069310550d3dd36da5ca06b5ee411a2cd39ae4447710c9c5f9e363985a913ab4c3b4f20bf7b2458ce123e870d431c6
f8ba594eb6baa2b4029506d876350658e305aef2a4dc3e7e2d6fa566b11ecb9d11395107ff63d82dd3975c4ea220e30f36aa7eca54b9d9defdb0e4cd1a59e9c36f532f34d767e499c2f390e2d6a4b2bc10aaf0e88543e64b6eefd960441d388821ef027d
46128d91935bcb564438c63aa337e00516ce70f05fd8b3ff37e841e544accfa07dd5a9ae1859298c1e7d5227af2626d2ece09afd48a60ba8114f0f10d5006b86d400f38df99cd745eda893372856097b0d8d6cded81d5c216fa21a299fe0733cdc97d01b
a56ce515bddacbb03ccd33b3061e3392543760aab52693be84fbb301957489259e1a562ecb5e5ae2017d501258d263b1fda7157a2fe11e5ca19c5f57e81562d9780038e9d3383c5d4efb21e71d3b4fd3f0d6b6156396aaabdf07f4b3b82d95117cde52c7
acf045515e8a6fec458b6b05b1e72361c5ac19820fedc73a04f9e4c62b96e2fb742ae72132bc8c348f94f440cd0a0e7595eaf121cf525fbc87b79452aec1586edbdcfe76b063f0ee8e8f9b85b1fd658bf8f29a1224dadb497ea677d8732960b740508d54
117aa82553de2d70c554ddde5361e0d60c8d5a0b122f87e78705aecb7e598b72c65609b7fb4dad39e1b34f191bbcf0b979a3e7177651fc12720a7b76456c656cd16a623d8a2fd3e14fe8ac275d92dfd0e6286e88972f58834f42a81f233b1927a6157b32
bbc517b87362fadf9489b04ad71fda75e7e60a38f5fca00b46cf77176416de7410b3738949d586f5c3d55b85c5ecef3b3b3e9ef55a9c8843a7078cf910d59b78082a072f46d8d103def0451e8b3f5f052a622b62878a4f0da710951ac937c133f1a29c2a
cf92dfe881287975db0ee166d496343ba44e60677420965cfc1539dc9227611faad2895db9afcf5a252901b9987061cac4b5a66b2154d6ed37a5277f620b6a7167d9e044e1c79dbb3a7715b56dcccbd8cc14a7b853fcd6df77d956bc0eed9eaa187130ea
81b421caefe7e12437031b4c5f8b1aec4a7e0087d32693d60a21a248c7a2f20d0ffb9069178901658e3a9e77ec0ae533833f0aaa8dee2293b5660414dcaa97529241a671f2f0d21d55f4b13b3c7f8ac3a8b90fdea734a7813c83920efbaf2e6edb7ad993
06f081a978e8b48d8a945e397717d8dd6848e51493adcc1155fe6e754c5aa44c310072db4b882ef9edc95fbeb4b01722ac89f64d48f4a3c0f7aadd8203ee37272b9b7039ae171775cc652968ba7e754e0603a81921198ea0d5d2c691d4af5e0b79906d9a
3292376545c8c2ace63bc4b6c7039c42875f68deb4d53d3b9c800e37f983e73525065ee5f3629ca48e2278011994e126f55a73ad2433ac4ba636630c12094e39f9fb2b9612d918ebbca36813bcc72b28f61368d2b0e1243cfa6da792b171b2e3c7b84280
6ec0fb0c318db9a023e649d247827de65bb379ee8fc03260b812448faca4e115a0e1e8cb376c35f83aa43a24ec9b537e27b3cbdb9d8303729bdd6ee4fa41fe71ec2eae4e92e3d747d9b0d1887d1a8fc81d8cf46f6eb6059a0caa50aa599b8868b5761f3b
9c903316127c218d1da8be384700abae99a65769eb33151d668f5f161aa9b48660c910634e948f2249593cb4a07f10b28b03c7f901e805115c3476ebe1d7d81c71e8d93dc8789eeab8c6c365716167bee726b9f58e4d6843b7a2419ac9a4f19fd644dcbf
c702b97640757836c90c31c8816ff17e18570befc556a3f78a28498fb5c3f8554b77f150c4480eb37f7bff471d6b69341f9a4bffc8f5881a47c5598945630e9cc731d452092ff7be8b66662f05035a0cc83e0f7091e6dea132ea731f290ff220bff97bc4
ad617ca781168b2f2178ec6f7931ab0c2d6d87456f1c4e7c0089c2528ac3484a2e6aabb426e8466978609c87e291aab08dac420f597976f85cef7018a0f12718ad6c88393ea757e42af18fe21ff57d600af7c773ae0d2661c3255ba44ab4495403ecdfed
7905fc6c65286545cb17bc28c6f01835bc93262c1bab47a7ccf11aee14e655cd5e6d464d374b7d29f10b8d25ad68d11e2af5e6563fda6332ce933cdf9ad646ab7e7ea06bebe2d911a14722ec74e6ac287ad235b6439a8604b8038dda4d140d610ce24235
69d487645c83d376a053707c9824b763326e6862cde9cdcd853bf155850751888902d56ede60c476ed3581c7564356810e0dea63d748e7d53372511b64353e3b8ed8dce3a4d18afc1da0d78334f886136d03996e1788a155315276182a1fcd4d969b374a
99f7b0fb705f323e50616d853759a30344610a733b2d49982b7909357d869bc10415b2322669f03f3ed66bb276a2b9b5499d4d08d756bb755a6b76b0fed16763aec18e38649051c7b1e63dcce0cf90e23d4ea1adb7acd567ce9efd44987e5865ca8987f4
159f20e7aab1bde3437bfcee17f55262fb385fc11234133443f44f13df87ad143d8ce3d0b939f03b45681b21abe9dbee0048ac30b94e0132dc42be1615b3ab81d7df8478225ab4cf96daf82982a8007f8e262d5c98c6ee852b778bc63e82ae535d34bb63
9ea89bde0c1bb316d3c22a17412e4fc3a842131596257df71336ecde775e85a78424f9054f35efcda4bddfb425d83d780f44b51fa2ef9ae963419331a83ff438619453b79c23217500f0ac3d95f76ee73fad4944ba13df24062b8487ccbb652777b4bd6f
51ac67a5986f53f8ec6416373bb3106b90fe02ae31b7d948c05ea04a80a940755e9c93741ea3475e57dac51b02b37c041f9649e98e1333eb2810565cacb8e89effacd1a32fa8205379b16ef492c89e67837527454c8f5d6f28813cf728437ba06e156916
4811c0dd41ae0537dfc49499ecea53034e838e1a56c659af5ac395b1379744199f6e2b6a93dd26978865dfc5184ac3ea659b992a2e6f211f29cb63e71df050f88ee963e67bd4849b7951488ba83f44ab8667c4c07ec835c79f3ede5e228a1e3dab1c260d
d198fc52b805f61acb780a6a3a35d4fc6e02e4eb059dcbc7292bdb24798096334e84071afc051a7ce96c2c6519a5bb4d38efc0f849fc568642313327d1200bc2552355eb86f68d962793958ad0be8019f070945c4d86dc11d7b968055c78f0f022491bb0
455332c0741655a213070fdb151d25e893b5c34b3bd9968e14e8c6e7dcdc1a1ae1c39ea1fe9674688de3863ce503b4e393e68ca6f7c296cfed71bedcc056272d7c53da4af0bc8580da3d9fc473e1efb6c5baec6c857d5edacaa5fca534612879a0a7c489
2d101d2c22af0f760efed0ce8810a375bf15a33577d988aab95529bf47be7b3a7f903ece64c50f919ee52b24e2eb534f10086b9a77c1fe7302e2b9538c7eab45cf20197fa145c13fd5a236a636508b7e4a4ba3095eccebbcfd272dda5e54e6d6b1401602
a0beb222bf711611c51a84b7b86fcc4baa2b8537667534ac748e72403c429d6bf3b4edb80513529b558a8fae2aa13e73c254875b4ab69006b621dd06b50347e8e47dc719670ccf4b1d65ccdfc32af83dacf22f4fc02abf7a0a7f5a9caa16b23f0b5c97d5
a3f224e5d839e55148882ebeb4612dc94645164565a6ce47dfbc28dfcf7de8b7f4599736ad0df5b92ae51961f89ed114f67799cb51625885dbd585314fda6dcb55294a6ba1c6b02da947dde1f252ce72f27e7fb0df7fedc207c98546f5d2df31de41cd78
e50a5bd64f1aed3ed486670c0089a0e65099b1a0c85a8a6908ad49d9a883281bff89fabafd4a7ded97b37ad9f0e09aa8568a88d03b733c7689e9546129990154f9f327f3bfe45f10416e96f5159981b2cf43e2ebf4f9f7c613954d9fcb076f177fb9467b
e23a8d8cdd620dae351f6eea5cf2eea9e8b468e6bedabb3a9e9f9f841fb9c123c7caca1dfa5290e2af96eb676c9e8fe952340044d2150efc12c3fb8ae6a5b581907f960d5e8270ba3035b970f61f6af40715a195a14513bec2a54da81e3c2bd6618b698b
1ba75d4bc2c6d51d941084f53455d1632d8493a8337a7294a96a26b394b13fb9e76bdf531560af70392fdbd4141d1b028e29ece70f35bd80a0367c66d6ea4635807cb9229c343c8bd49cbba557bc996075e7e44c0dabc8ab7f839ea75b0f24b63d2d5db3
50e754efb39813f1730be7151684afc745788e0344ea4879c45ae1c3bc402ac709b162d0e1d5e811ae901fe85a863da232e0e805054d735fbcb0b141674b696c413f9cbde38fcfe642e556a3b5714c3f075d85eb617cec9d831744f473d81a1e2c73362c
d3bf20175f7303ff16bec1293890bbc57df1a2c62ba48f09d02d82fbe8ad48055430f9bd53c96e6d487a0ab413f227f1e55ef8b7533414671bb06388d9a4cd2f334e1823917c5162e6392fc901eed99ce0ed472deee97bd5e372266e68524b6bdd0572b7
ad2a7e3c77b123c50f58aaea31a0a9272946beef9dac78488ffaa1485234ee0bed5c967aeab7e2643758655b5162ec555ecb6693cb8be8737278046eb2e6769fd7153ea40c8cad892b546a6891370b90ee465d7974a8d69c1c3ae10d29113f9388bb0e57
d110f078dcc1ec7ce1e103f5ca5124079657cbc9462ca748fe83377436f5ecafde5046b377e77cb27c3dda5d4378191e6597791afce59318181c737934d26b5f9c35d3a6e439ef5ee21dfc20ff3c75207f04850d6923f7dbe9678ed2bc7a3a77b7909c45
b6bf334eecdccae42ffac7fce130629b4c18730702ce819733dcbd90e16af677b55f215dc5a1a554950211e104341306b21555c03b0aac498136ad8308d6b9652f80f059011ecd1d68959b4382f7e9abb669a6e9d0405ff3e12e7155aa36cf3dc6b43442
25c3ce6de49bb57d9e7d51d5a7e1c650e6c2c5e6edb9c422fc32cf1c69e18dfa1e7a3cc8d46231f4b4a83fe8c5454b0f2b7de5bd755dbe1f121ed386fe18e3c772cd459a37b74ed6860b25b03a48a2fc9de3a0d17ca9aa5c9f184f534d6495ed0a3543d2
db985ab882367069aa111b2f51a921d450a5f66532a3cfb16f7792790273bcd22f7048702180400ce39d2556f5d10b935ca55126fc3a1d4519f976972d666e07642f9cf195fb823bd20e55cd891848d7639dd9f6524fac78444d18e0bc2d746be8deeac4
19d54e52a9efc2378d6c7e68fbf8b0b9e408b4abc2a0e685fb78fecfc3698569b2c8e9c84efed3652c62389f94e4690edf4183eadc172f8503ba737c40afa3cbf67fd84f1dab4c2da29645adb1026be31c688b7d360135a13e093287480207ed1c5805bc
7a694d3fef2b28874ed2da4d828ebe7761ff7504aad001b14edcf7ccec5cfc7d6af856e86f1eb503f9da18385008b6a1222634fbd08859e1d0ecc35e65f6ed2b3bd956d8746e6ba146e5274f8f6bf6a0d0284a9ab6afa8791939dca7baf7961a94c5dafc
8f28d7147e11f384e5c0470bbeb68740b886d47547ed8f3fb0e70d25a5fef089a5801f1d9197c0868bc39eaa8567b4e68d9b9968c10456a265a08cf43c80b42f96cdb8c586cba7d78e51265f87d64cb5d95fa0840d510c454ae277fab43ce575241e1fe6
557dfa69f5a648c5257c11b580a0eb872e5225e5cf0f6bb7db2ad36589457e29903b43b23770927c2d8d9dff7c938655ce972f6ddf720dacadb06d2875f1429dcf7a4565159f3c3daa795db4c8a6082f0d18e3197170e60dfc8f0417f2c87781af003cd2
037989e5dbd29bbf15dcddba7fe4b3427ebd3cf1813d141def1c68900e1cc1c72f4bead96548aeed039229e91b923de733e4a38ea235f4979b45a11d1f13cb62964db4340b7206896d623b1d12a6eb48b07275579b06819a185663ccd2aead5b05df9262
a00aef05bdc3292f55c6231767babf6ae9fad1d304f2ceccce4cdd39057975d7eb7ec864dac90e7ccf8301c52339538b8fcb1ed3c9e1cfdabe1766bb0255802c031a7cd92c2c275410a425d882df2038ec5c59b9829a41e13e3af816048f4b165c827713
457f2c0830500ed0d7b33e65f6c8a39e40faed825c554fd359d1284804f7edc3071a52f31304d92770ea35e4c071462f14b161f8f89c7e751952a2c4e67b733ce1fe30c0df276f1c974fc718449bd8c2fe3d33d3593da357ec004d5979b4cac73561c0b3
1c69afb6547409f30e33a7cc89feee963f74cbfcb25f6de8eee4564b4bdb7e4e572eccb8559637bb262ab4f2b675d7de1545fe1d711176b1f7b95b2049329bc4078a0d7cd0ae5bfbae95fb39a414c653dfde839226de92c31b9c54d00ae2131312436843
5c7f73c2999525624a3b7a9a69c7e9c2afa19c91eea6ff96d812225d34b1b9ca91a57c8d0113cdf08720fed9d79a62b52dc4d04682c786ca0e8105095a283e78a346f755b82f6744815da600190e46ae291ff0be82b9d9d36542488d90c65750a381fd26
790679e7be4dfdbcf9beb862efb89eaf528db79055a642a192f643a1c1ec7cb75bb7aca79cd8be4f284c571cf2d7ab2dd108181fdadb018b17119d8616144c4e6f4e6eae4db51eff3e3dbc4c0355f960cb44d0a2cd1f3cb47c9c577d19b6968671ed4174
d36e1b05418f6782bc932bfd4d1ef0768101435c967e6acf08dc41126625e6293d8204d47e8f41d2e9767bf4aee160f9f3ad57ddd10ba5305c5cb3070cbd88b05126c0eeddf26fb316b34a335dd77897f2ddc1a7fee016ed86d4c18aaf11de2958bc3a48
d9a687b56f2306ab6d88c6d0be791efdf049dbc1634803eae7df3a87f06303d557fc2695980f65dd2e158c00d3b1448676fae64da44fc77399a0a99c3aa94b93171e3131b3fb249aaec16f052f5adeea6b5f59ee20ea099bb06582c8045feeb095acc5ad
c125d57988618e0907711bd1ac850e9926df8bd22d1e2959acc65e865680e9eb5e9db954fd9ab9248fc6d6b4c9dec1cd623649236bb366247789458eb76d1bc595d02c9b9b065ca5d1ba9cb2fe76eaf331751265637fe98bb025992937ca8b783d49962c
def34957092b49770fde1a86050a0bfd32a04fb6c9cb97a0ac44e6a4c6ab5b354e84e9f643f780770db2cd693d765fd3f5f611e2242686b6147694bda209faf775cd6b215cf986803cf3bc2bf6b94281f8ee09e2f044780bc84225613b27936b25cef0f0
e633285f3ee643877c17236cda4678d892a24d903e4df77f29c90f1f9cce888e6bfe36a8d3a649ea94c7d91c268ed83003da31baa1f1f73ef219da6a32aeb74a8c92dd37f3089e779ac4c262215ba11cd84bde571e41be5f6eda4127afce47fa6d003bf3
ac64a46cc93e3b2b98c9381491bff034acd779b60082278c6418b7c30a94c163bf738d26986ca641b2efa1f5b8efa8b018222c115a4e3f4a407c2fb84dd8c05e14a27f9557f4f9db61732fe807dfbd0548030f492c45ce834f4a5b00988113bf0b80bea7
8229ef05f22bc169d2e55799f952073f0f3f8f148bf5251f943cb7d8e4be64f5cf11b76136a48a335d483fc4b4aacf3cb14700e9f0bb60a951befe35e8fd5cb2383c6354ef77896198919ffffd7bcd2f4cc7a57a55efb8dd1b8f71cf799982a499583ba2
890e2fc5a0a93062bd03fd108ffc3dc462bf87d8ab3f41eccd3e307b1a9199384e768bb684ffd55d23e8e1427214f0d2e61d7e03ec69ddd3eaf555d6b6772f7365672c6c1a6297e4dd523455ee800eefb0651173e49bbeed8369c4e0665e07edb6fd314f
8e318486e4fb186a925cceca5a45deb194634be5d8ea7ceaa719a83ef70fb1a180b07ac83fe7c0b311228d3122687a8c4932c5a651cd8afc359863922c8749865c3c4183352b7fa5c11ee48bd05521945a03bdcba6cffabd21a53f61f2522051fa021c9f
ec5d9a095392457640225b4990e0196fbdcaff3be6b3cfa77f9d59495489ecb04a48f0073367111fbf4de5358b822a7ce1eef53a7d0b1a32fbd6f2c72d3c7f4ac668475bd2eb68f47534fa3a1a7d1d8dbe8e465f47a3afa3d1d7d1e8eb68f47534fa3a1a
7d1d8dbe8e465f47a3afa3d1d7d1e8eb68f47534fa3f8d4687f156ef88929d870f5501f8c7e94dd70db9eb58077f04504b01023f001400000008007473ee54e3d68ceb741c000051350000210024000000000000002000000000000000656d7074792035
31327834363420616e6420616c6c207920616e6420782e706e670a0020000000000001001800002eac8bc897d8010018aeba9e6ed9018053e89ac897d801504b0506000000000100010073000000b31c00000000
'*** 09.22:
file_settings_512x_20y.png.txt '(2052bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000200000000140806000000fba0855e000000017352474200aece1ce9000003b149444154785eed9d4d6eea301446bfaea28245f4a9cd1e5055b187aa1263c6488c2b31665ca9620fa883ec01aac7224ab30a
9ee238e0fc814b928a470ea35638b6efb1a5fbf9de1b73b3dbed76e2030108400002108040a708dc20003ab5de180b010840000210300410006c0408400002108040070920003ab8e8980c0108400002104000b007200001084000021d248000e8e0a263
320420000108400001c01e800004200001087490c00901b0d162fca69503a63f9c6af2e7af66af6b3d4c271adcc66d3ed4337fb74070b3d0f82d9d41a0d1fc5977e70e1385cebccfeda4c9e7aad8f930f569d3e45ce90b0210800004ae8980870038e5dc
5b7444c6616ff5943afd2854180d34a85400f9b9b438b746760102a0118c740201084000023f2670d902203efd7ff4349d0ce4175c4000fc7807f00004200001087492c09902c075b439a76b4eed4b7d199c3543f64a5210db38ed90cf2f14c6b9d7a79b
ae080205abd5217d118c347f9693aeb0f31ef6b45c26290693de48c771faef0f87ea2dd736cd11299cbd6a9918a86034d7f3d93909cf084029d39235183d68fd96b0cfd8d2c9ad8dd11080000420708c808700c8d600240eaf4a00e41cda66a1d9f763d1
79ff684d0e0ef7e06cabc68972f508c72202b6bec108833bc9d41ac8d61824dfc93af7289ce975290de33a8768a1f1e77df24ced4fb1c6e2d0653f192f5f63b167eada6afbe90f9368c9c5d53ad40645071080000420d030010f01505603502100e49efe
ed4c53075b77e2f614dc8b9df26dd538ee093f1ef09400706d73dac676bc4b2ffbd443eebb440dd4143665f34b2115c7b3018734ec501ecd700a31378bb13eefeb4427ea2e18cf4300021080c0251368410038457b0d5b6e4ee2db27cd1fbfb3c581fb71
4ed5001c495db862e19800b0c5084954e0abfd14801155654c8fd992444db64f088086b720dd41000210b81a02cd0a0013aeaec8d99f836c132abc1dd8d70b13a7b67e884fde71f8bb6c9c860480b5a33405e05423c622e05d2f3522013e3500554cf302
c0e1917f7be21cf63c030108400002574da06101202953b066aae46ae4cb733972b7af8a71e2d0b7b936c0b6cdfe5f5204b80f9b17eb0ad2fb07324580710d4053f712145214252980587094da5ab44581b45ad9f2cb5ac58957bde7310e0210800004f8
3540cf3d70f127ea4bbfefc09333cd2000010840e0d7087015b0076a1345d8da0a7b8ff6bfdf0401f0fbcc1911021080c0ff4d000150ba7ed977fdebdf67d0f6264100b44d98fe210001085c1b0104c0b5ad28f6400002108000043c08fc03d24fdde3ac
28b4d70000000049454e44ae426082
'*** 09.23:
ground_brown_brick.png.txt '(2266bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d494844520000020000000028080600000088184288000000017352474200aece1ce90000041b49444154785eeddd51728230148561d9094b71292e85a574292e859db4031145946922a1c6e6eb8bd39914eae1e6e44fb8c9
6dbaaefb3e1c0e87b63f0f1fbbfdf47d3f5efb7cf96c8fa7f1f7b66dc3a7fbefa6fd7061fa8b3ffd8ffff0dfe003c69f30fe360000800030000ac04d80f69c819880943901790080e941e50e86e9ba4186750273ff49a1bc4f80fe4157f1a7fff11ffebb
b60250dbf8030016af206a0b80e52b18df1f80e545cf7035000a400178791310000000ee72300000000000f915004000a844000200000000cc9250011000ca3ffc5b0101406502100000000000005c77e10020000480f22b502a000100000000000000b8
6c4306400028fff05fee0a100000000000000000007097ac997b102c75065c7b1234000000000000000000000066bb556a012000000000000000000000000080dbbb8a5a08a8f62520dffffe2448ef80bd03ceed7dce4128f71d78edfed79c4ea7b11640
7ffeda23ee57af399dc43435707ffaff65008abf7016b8fe1714e03ffca746ff010097a7ce0018408d060000000000aa1700af00f097e6e75e14a000052840010abc570100f05efddd9d0214a0000528f016059aafd371cc0188fd51d6b1ccb28ecb6496
d8e799dacef3f7fc879851575e5df9210ed6aaeaa5fa4a6c7bfe93d77f00406ce45dda09c0bc019828ffb5aa9c01c80064003200039090ccfbea04b0e98eed4b2b00eaaa87a14b5de9e701683b9ded74a97017d3de8972651695a97d3bdda77e7f0010e3
3ab3360c88010de1008001b0098009d0a74f0001000048520000012000040001f0ff0060009034fc39d10a000000000000000000f00e5c0e801c88a31c886749487240e48024ceada29a9b80e49d805801880abb5b230198370013e5bfee023003f91f33
10cf3f4d01fec37f72aec00180b4fe6700ea75c09c1d3031fcc49ff81b43060003e01c49a80020d18111380060c0062003b00138c7009c38fc649f000080c427000000000000000000000000497092e024c18564d8b60d9ffd392cd15e96aa13f9f2d7e6
0014800250009a0b409b637b483a0970e950eaaaabab3e8f0965959555fe95623236e03ffc87ffdc1448f55f00b0d18c1810036240af1bd0c6ee775d819bae936a80eebf4d01fef7d9fea71cf0b6f8f7d714a000052840818f5400007ce463f34f538002
14a00005b629d0745d37e6004cc94bdb2eb7fed7cae82aa33b448732becaf88e7eb3923cca7ff65180fff2df67fe0b0016d9dbfb74bf5b56b801d0006800040000685b1dfb549f0640cf01e801006c5f7286776ae78a696ffb9aed6b439ce4dabe141373
f336e24ffc89bfc7fe0700ecdf1e7dd2fe75fbf74783747e412a5b44b5072000a444000100000000002000e800a7d10700605d2bc00000000000000000000000a81080000000000000000000000000002c015902ab6b09cc19fe6a18c8819103546b0ed4
0fec05b24f05316fed0000000049454e44ae426082
'*** 09.24:
ladder_l.png.txt '(1660bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d49484452000000180000017408060000003936f96d000000017352474200aece1ce9000002ef49444154785eed9dd16dc3300c449d4d324a46c9281e45a364946cd22206d402528493659f88a6af3ff9b14bfb78cf9428c5
b93c9fcfaf655996755d5f1fcbf57add3e47ffeef7fb766a4a69fbbc4c0b9023aeeb7a19bdfad779f982ab3b204096b529d111dddf9d5be5c01e000e6492e1404a64b7a93d001cc824c38194c86e537b0038904986032991dda6f6007020930c075222bb
4ded01e04026190ea444769bda03c0814c321c4889ec36b50780039964389012d96d6a0f000732c9702025b2dbd41e000e6492e1404a64b7a93d001cc824c38194c86e537b0038904986032991dda6f6007020930c075222bb4ded01e04026190ea44476
9bda03c0814c321c4889ec36b50548296dfbae1f8fc716e3f47dd7d303a494cedd775dde0101aa7dd759a26cd3dbed768a637ff65d4f0b9039c8973fca43f5fd83d245f600d8b469d39c649b44a5f98ff2d0e4e02ce0aa002507a376ede6c016c09664bb
8bfe7e0038c80ac0811c10c43daeeda0c1011c48ff3767999f330181033880835a01e607711310e60771032fea01f5807a403df8558079b2e421ee716d9b27e75b92f7bef300dedbd214acf98224967b9b13f1923cdb2b9e76da5c1e0e0770204dd23c20
ee4d64e3d7fcfe4c388083714fc141b776cd76cee87e8aee79b23d00fda2b8094876c1d17e69fe3fec2feaaf079fb30a659bc64e9388be69773d28a5da5b1f64438a7a105f0fceaa0becb3a31e748f71ab03e1a05bbbb8e55eea419c4d6d032fd60f4a5b
f3fb07f25914d7ceb12fb1c87bdf79007dd3fe71d1b44522bb8bfe7e809d369787c3011c4893b08e362e51b331cbf793b3341f387c9fde3765fd40b635b3ddf6f64bbb1bb3f44de34866fda0dba6f48be26c6aeb1795af9360fda0bb1e8cd60519807a10
071af5807ad03d698bb329f5a04c12eb68fddd9669b34cbb4ded01a807d403ea41adc0d1be11fb8bfad70f785c975ac50dbca807d483ff5c0fd85f54669ffd459207f6174989aae5de69a0f1def7e67a321b98e4c06b9a4dbb09ea3cb0dac00407611c7c
03873d2ed384fcb6a90000000049454e44ae426082
'*** 09.25:
Level_1_Australia_06.png.zip.txt '(62958bytes...1st byte:50, last bytes:7900000000)
504b03041400000008001a7fee54f701a255097900007cd70000180000004c6576656c5f315f4175737472616c69615f30362e706e67ec5d095813671ab6a76e0fad56655121dbc656a80aab7843986dabc4d62a4514e54c3d300a6204841020496b0f54
842cf54044980a222a845420dc24dd0a46b9227244ce54628810420c6172cfcc4e500e6fdbb5fbecd13ef02453e69f99ff3bdeeffdbefffbc7839faf23bef9da8cd7c68d1bf7e627ab57ae1f37ee2560dcb89745135ec5fecf4fd2ea77b18f1742d7133f
1a975337ab073b7899fce1da0fc78dbbc87addb4e515ecf84f7b577b868e1b37b1c2fcfbc2b1b913678e1b279afcc9ca0f3744f8f5c10b4e4aae5cefd6ef60641cdebc6682ea50f1373b1587de8bd754f6fd50593fd17b667045fd0aef99172bb35236ff
3c9978f8bda3cb5a8bf7edb73fb2e5cccdb0a223e3de85d128ebe98776edd933eea5abdf5cb2ac5372622ef1f9be7a9d6e5990d88fe4ea4d03505aa04fa3ddc77001721ec059f4baaade80da0c9948b4cf39a0d2a19122070deae0d3c854e1e77c36cad9
8c0275dee3b0ff74ec967fb85adad6c6350748727c2f4b9b2efb961eaece8a2b0db74cdc3493aa5868c759d2dfeaefe317d4cead2e2a6b2d0a4c0ca67183457692817fdf0025775bf778b31ede42226874c22914bda5e4a3a9050281408f72a0cb56bd42
993bdfbeff73a63368a007c718d4fa4665ac632328cc6490da4f23d1ce90b14b7442ff02768dbf7ea3b4a750408fa897b0832fc5931d00b318bedb9ba4d7bf260f113f9bfc088de47b0fb4e755c07fe53e7873d56f99d7bf674069bc83da3cd92f26304d
7a89a0278a11d05cc923d786152bef89662224539f175b50cf01a02bcc2bfa18d647f76a2b87a40ab08607470b279925f6ce5fef1d8b2701ccd41d8cfc177fbe1e96876a5188490862a352e6f22004a0503283aa4bda574db7e056e76b5c617dd1e7cc43
e473e2660092493e826d534f33bcd14690f53a9419f19d210876673adbade91dbe13eae6f26968fa7b167c1b07c75016766902010141c075520f9bf3bc84f25c075027ddb3a23b30b45797df9aecfcb6766020a4d56501821ac5a8b641b3a8347410259c
e22db9fd5d20f5a0e33b4cb961ab5a4833a464b68a9686046716327bddf93f3843de9f838657a0f3cc49d07952b61b9884335ff6e3db482a88ca5003bf0e259f223baf74f84ba2e92dbe1b837c6e8283cd0212d3da5f71413e9ed5ca349f2dffe29e69da
39006c79008927cb0ce9be852ee30c9e4524caae8aa25e81e5746e2c847ddfae4f145bae8faaad998db05023ea8c8ac94de2d0d9a7191a43330fd9f36d6cf333f8c2e211bd2dfd1a5cf8eec9996b6d53b9731d66885803a5f3a56e3b02aaf0d56f5b24b6
86c76b948bf00e6a1b07a74cc1c5205a7b23ff48a8764b9164fd6f96fb731f20a2d598cc32fcf3cf522ac34bd4142e06b7a99b3a4d75b5abce35a4f0ef18e9b7dca00eb9a46b1d056dcc647c48ef2dc494f67aaf3b6a8de9ef469af33d3bb8861200d946
d119c818b8155897dd7052ecbdc9ba69c87f64c3eae1f1ad27823b188396c5849c6adfcff9f3ed1ac12ecbde42e8f1ee529d3a22ebf03bee6627e13ec3a47eb5149ecf005594621871013f3f9290b4c1416f54f233152a55308206963f08d38fc422dde2
1d0cb344df386d8c1afaf2cbdc31e64ddae2db1ff544541996293fc630acd9da5f320f1fc8c1ad29fecd33fbdd078882efcdfa260b609a96d185aeb52537b4d9c5765ac23d613d01b865c383bf52de15ffcbc31733de94091b6a581e7fbba12e697f0552
0abe35b83b3d39e0e93f8592ee2911b5c16714d7afff9726f63b0f18c56141b55c8e05baed4279880566118e4f111b497fcf3a5e14dff3af616bf1ef26c7857139c54f074266af50209d2bba8f182c5a7af23f08dd1e1e505c3742ac746a01ab416bda2e
df81ae9347baa34bc632a987c547cc11d6dce50377087765fed3bde36826619673ada98fe6dbbfdf1034463a8f3337cd86e138f7231640d69f9cc97e8627ffd5537d4e03c481827bf334a9060c9186545c8bd9991e4ba286a9e9e19149fe1275cf3def1d
17d598a2bf3573b187c1ebe180805adf1f6d4b18f3a4ffea947ebf01be82a4e108809854924102b058be559cd75dd2ae7d3c551f1625383cf8659eecae8d8e10f8188c0c3a005e2f6c19726ffe3339661379d8d2d30f1fed7659f32f4dec771ed0411886
1f9c3d8793a9d4271038d5be98c8fa9f2236a6f4716c3d31095cdcdcc4eb7e40468f71cf448e0f386c9e96a6a393ebdb777efa9b67f36f18d0bd8275ef717512210e5827561f6127c38e6cf95ab86dac173e2c3e5cf13067fb497b2f048ce5f28bd479b2
b0e2d77b0b2b9f1e2b5bdce9f722ed3f2632aa56efda93eff1f427ffd5537d4e03181cab47c5caa7f1b12287f5f4c7d18b856af5b466292fe62e783d85cd469d1b8e1fed6f30aa0edc365c3cfaaf4ee9f71b40b5223f10261bb363e9c29358bde07e987f
a47f5a0f0fd6a5deb5d1910c00c7409c6a4d3b5ff966c8bd51c6b338e6481cd1b1ccb172febf34b1df7b8076187e986565bc549e8ca829b3a37e8859c453c4861e7b1cbbf0d9c168debcc978528e52b350866e306ba3b813936290b7c4527a555858a846
d732787cb040a5f3818938e6fbfda402b4ab5760f21246c2565413371f570e69356a6a975ceccd5480fc0a35254bc4d7ea2488401241d0ce449d9a9504240366ad071c0189beb0592f34e294cc554e6841241cc502fa994e133bd1d6aeebee230099a43f
883fbf2c2404cfbe22d55e4e296f645127faf9f99d55e8eb564fdfc4bb2d4cbf6157aace88ee083ed7c16f96087b896ca3b2b15958014f818e547620c4352cbe471f75171dd67b004c584f8cb0f364ae00b6d2ddfcfa5c3503ea36b9986f532d02c9d475
4de29bed88a792efc9a0b4b744d1a9446f7d02638f67b43d93b995cf9651e472f41c1f284383d406a05726308a915e879100805b9ae6bb62ab45a2782655b35e5c9bbd3d581a8b38d5456fa7daf83014488f7e7d0ba3d2605017e1b802d0d30b08a1321a
85797e28379ec901d0cd62c8a21814a723c8d5ebeaa5d6cc5b5deb9442be4697b7a21ce0774a94743a91a34490dbb2e35c77340d600eea137b08280df5d618040c1f861372a532a513642a54e4b008b48d3206453c3dcb2ebd5539f9824b4e5a51bfcd95
eb8e165cfdc58ef5e5b0f30ac03d6a4e608fdc82c424d2d627a3d9b012d6af510a3f3cde4f56aac84c66bb709540754eb207ca965008cc80b62d5606da1d64932867631f70c928de4690ebbc85606b7884f3480e145c01efea26e27dd9f17ff17aeff462
bb3ddcefdc7a4b855d0110eb06abd5d6ced351c1ba2d94a41cdfcdecfa60f61a16d0c6e95be71a844d2003722879e98854b43ea50f12223eed4240a221e9036153fac7e7f02ae89a76fe0103154c8a87f2e0bd8d144de875799ae46aab3f33f5200060ca
dd56aa8bfc4453522249cc5e1754da279bc35a8136da3978c1c98ef5374dd586e076fd11b8f80e82698ddb2c020a6239897790a596e787e3d317e301ff338b967a3de8889f14ab4f97e216071883a406e606384496e1549572256269487caf7dad3dd5ab
9f702a24b3bb73dbf901c23883dd9769ed176d58ad20b3387d83f51a2dd356ab0e53858cef364cd66e629d6b779b374984aed732c2a5f51fb43165861b1c5c822342e43baf69ea071ff6f3bcf07e536c3fdc61cbca884093c5944ef4fd7e1d0e36ccdb58
ca7c183af8a2f87b3eb39a299b533af3da4caacb79907e7903b57c2b6337789056927c3dd99e2d107b91e0f9190c2f75d8a685c6e595a2f7022de4a26e3214c8ed16889872cc88e4d9e1177981f639be72449bcaacf7e0a079ea6389e5e8277295a85781
663509197665e8da2e46010fe11a6ff6923979ad95869cf2a270b611c744b811a877787497b98a433a3f26feefeec3b7dfdc0b52e3150e9e40b9bedc0bbbedaa5e59bd9ecb51e60d60b7271b4559e1800fdc2a720f682bc52e464ab62896785d0843a52d
7a96b35f4d164cab08e70262b25414502bd47036291845062e27b3b180aaf0d2f297d88708b81be448759e1a472fbbb260949ce54eb94a089d6b3bd570d8b766935fe0d323819984d46ccaf92f8ea21fdd62e2703866226aa7d62e9f53ad8c73fca3b8f1
4771e3f90df8a3b8f16b07fcf71437d212b12526419b7c30025e76ca3a41ae2dd1f8fcb6393faf01f26523ee09028c537b84a2312982892c424114424d1a8d8143b1b7c709044c02727550a73230ad7102948e8a0a71620452c03ab158a53b3f2ce58749
32edd4a8a4afddba6350e7c3dc03df3993f5219deb3ac5990a21d80032cbda494d6639462c792c3a4a5b207eb9ab833385d2a0debed46e915a7ddaf2074ca68a7416e02c2cb33e3bedb6f531668350d8035dad8039ecb92d58d0c2222787a95991bd1138
52cee845656dfb185542f59f4c7d86727d1a5ce3248786a2929f9c0caf2a433b58622719acb4c3e8f2902b1c6f248f243ec4eb204336273ebb6b7515460bcd4e438d348aa8dab2b5c9477744af740094b806255296ea789bc008924aa56ae5ac83032ba9
f9a9c7388e1bead3b51875674e6751dfc813ddac87b8c79a45f6fdfc0a49c43e98a860b28bd0720e00018294f22691877518328050d1b0887df4a00c0892c094eb33a9e7c422142f1f36b69e1ad6ccafc8438b70147754e15fa20eb5de2b5e263e507cda
12575f23bc782dff4df7d56bb41c4d7c72d91c6ad7ec6a616f63f71a39624fa8abb98eaddfa97486cb701476733e23a7235d9e05eceae078b11870621ac2ebe5842155e972a5c22483299efc5e572f6d56733a09cd38c7070da3c0fcb527455c9755eabb
e7c7cff0329233eba73ccbbf1c74f8d00b666f2c6b38ebf8e28c9be47d029b6a00295f169451b0ee38d8c32679cba8dac91e9baa184864c7196d989fdc7453c6226f969b6a079b6526f00e327edea5d1b4293f72ffce69afc4d56cf3690f78dd933784ee
342f186c4839dea654bb95f7d4c5eebc4c5430089ba29206ea3ad00183be6ea34225004456a797e5a5332a3a68eb795d6b943e95a63e88031f0ef3202916e630027d7225d7b43e4ea50c935a07cfe897711c637ae76832c3636e4539e66a58ce4c0da21e
5a28e4f66a79a88d9d2792d7ab949aa5913b284b54883619f543ce3f63241827631d09936be3ce4e7d8c571ee2f33e63dd8661a9c90645e5eff8bbc87678c8ceb49f4fea6f9e6a2ff82a82b6926b9461bc388f1b237c25d1719288c52e12b197ec69b39a
b8942a7f2d7993a5b0b5b28485e84b0d51324de9a3ddbee1a42856cb3f589b7598acc0b8ed63cf0b4d110ccb98212382a70f0f2615cfeb2f32751699a30109385b4ad4ee20e75436b5ada4955ca5121cf7add5272a511a1c9d7841a39390731c2ee23aa6
955213fb534f7060ef4fe179b57cfdf224780f96e928e4f6aab046b9b1cf2044f473eda3ca0b57a01a8d9a750e5b745523a2e92cecc1445ea4adce4aa6fa1c281b53fb73a62d77adac106beb3f5b77aaa7fe706db978d207b94ec535ba53f4a2f3efe319
e20f5da8a7d29a4dad65abb11b0a35cc7dd81d4a45700bf42d08a49e864c59b5b18dc2ebd175a8311546247e5ab2c88281dcaebc3f0cde7608095e359dfdf76b332c0a3f7a096a33e71fd5eb8364c2d53b1c56245ace8436b5f8a99649d219ce757c755e
938a021bdc9f182d73e4cfb4bee968eb602f5519c297113a49ce008311e548988a9e25265d5cee3c15d518d4839fa776a9f4d2d38c170bc5bf02c27f35e63f6dc068c2a3934821a841a1e1a34854ab350e2743f9cd33ef45d327174348db1ea81efddfaf
7f92b210d46916af1c15a27a850486072396332f87b00d9e4f6e6511568e594f58eb8c158d50f12d896910a6b7f2e813998ea964196ab6bd827f0c1b396032d14eeaeb5f9b10e59758fa030217399522c69b8373b70a5e6de86ea39d95916fa414aa4166
030892f72f7a6970230b34689fa08824c2b32e42507b4ab3bb3d76d0fde2999badfd77643a558d33e96c1c08a249b03ea36339c794730d52beded42cb4f9d785fddb07dcbf4c2123759db8cb8bd5c1e45da87f41663485350b91df6c93b344147b262fda
a81a90b4f13bd1b0dd9b5f14c4ec88aa4affac7f166a52408ac67e8e88bf8ea694f1aaa82f1e8be14d5aad09374dc6acfa71ea44abc614556b4a4c8c3a5a58e1a5ea456e3a8317e360e66ee15777ca9d0350c4f9158c1409b7593bd7bd1d27d344a366cd
36fffc402df16e280c8793955082b1f488110afcf8c85fd50d91a616d09122b364835bba7b3219736c1bf96513c901da73865ed75c8968493fd96922042a98870592737438506eafe01732ce6a64c95719ebbc45c26cc83014d7bc2009cd3b8a71c1b780
3411c36958db2c6c44a21d5a84bbe48624ae1f6ac63e52fa701562af83fa6de2fae05bb75cbc128652628a1c0d99e3b274dfbe4bab7a1a3826d3c917ae7b34764ad72ebdc2b3aaa3561db76696490607d25e0c6b64deea9f75615d8d92cd29e9eae5a7a2
4e51568bf28e4b054985191c7e91810d9746288440540a3f9227f1e39be3130f017d8154669a7a8dbe0cade523583447ed789051d8ac8f8f822331e91b0dcc1df4d102bfc4a5ddb33d586feedda836f0dbdf69783369d74fd16f4477f2406559596f5d5c
ebc1400b23417ca53ec529d808762c5f0fac51e3a1bcc13a3205eeab3b51b1a245fe7994cca10d2844ebd7a6d421893c46800509ed04c57eea26bbf4682ecb7c57ad2fa8e5dba62ac4d745e8d97564740d09e066d1d1cf7d785ebc56ffa31c8d1b054bd7
18f2b101af389a23a4855ef37849a6fe2c2e151cdf6cfb66d1a4006aaaaa5efdf51e9f94c212778fb99d93abb6530f04a8f11d9f5c4b7945e60949e452432cf56fc7799d51473a26efe3acd1a88d017a122c8b09aa545ff008477644a051f1adda6fb3ad
94cc3f4fbb7f65283da1c883f816fb7b73f4f3ba1bfde81d5bf4cb84ba737ab9be7867b72cfaa5eedc69d25d5149fae5519396eef6132e0ddf372753a3dbead831b9aac2f1ef2de4b31be748fa7dfc8f3753c3ba3ea0052476d81ee95b973d90984a52d1
4cceaf06cbc4d70d177da37d67076622b7b2a46400bde1670d1b5ec75c23b7d05086d2cf9a323894e83aa37885be4508142412f9c8475846d5f7d4b2e15da78ead7af3d8808d8373a627b8f0ef3c871376be75843da78c6e7ce9ab9e2147fab6f730d614
e337584b278aa1748fe2d0c48ef2ac8b1e700647781dde0b935597dada7a4e4734d7edaa3d2226f09f842d154671050456d2d06427c7279ca86d5d304cca9518bd3836a468e75e9207bd8198bb589e9e1c2c5308d5a02044b687577ebe7c601b205b5832
b37050d745be1c584c39114f1def0dcc04691be01beb8c47e8dd8402d6711ee2962def5dc58602855f9fc8848dbdfa2e3f20532b7385391bf91afa7b8199916b5408951408776a599c54fb7e2834928934a22ba03101839ae1004cd9b167e23b8ccfcb16
f2a9e548356277a66401d006667734430e6bda98615c20066be6cb1345ffb04a615cd99ca3298bcb35653cf8b7e98f6838f52dcbdee05ec677a56ec5d02a9cc36920db42a62f9c1bb2236a1ad422d1f9759e96b753d9f1a4271705b59fdfbf660b6db37d
24884778ae920e46d01d09556faca355c8a47985d2043ae7e3e399b22a8b26d136db6740fe5f1d2a9e75c003911f5e7f598c35f98aa5fc6a13bdeeea40d45040889260e1266f52296a6f2f8e97dd28c431e1a6e31427a3ee8f55b87ff72a1c26a3672882
f1424662c80e8cd7af0c4db7adfccdb3f9fd0724c99d1ee49f057b34cafc9ca510652c1b79587ccc5b86c7d55ab5a24b371b6a84a922a9dd39f1f4a7575bfd5d47e0c751676bae4e7b3dfdc97ff5549fd3005d79f8233b569ed6935fb71a7a5c934f758d
70d3e644a33596bc3cbd7f5c797a943f61c24a930bd6ffab53fafd0674869d7aa059c53dcf4e4308cca9a64f1aa6bbcf5600bcafd4aa63e8f46a8c954c7bebae7b1b9fc531d78f382630d4b1b2e15f99d8ef3da0e3d2a3aad3e62ce1c96243373dd4e333
1a843db7f92a027330193dcb8251d533d7a89e3e9b7fc3801cf58907faef5a4a5af80d259d8dfcda272eb49912e48fddf6419a148335df0da5c40cef678895a3496fdf2f99e6ac37f0199efc574ff5390db8cb3f1f8e95bca7c44a7c13f98f32cd1f6dea
cf36e0f75bc9f587038d6a9970579b27b638d3964fd06a1552697eb0a0b049f53ab620020caab306234f308e29dca04267c6d0b6955179ba9c17f2f9db1a45e1dfc8292374ad7b4efc99ae2b57e3f2df4dc44982bfd1d8cca0f140c4587d1d8ed2a89890
412973740e71e2af6b3b816bb31a54ff09ceea902f4745e1bd9b3ac542bdb2c175735b36cfb487c35c09f3cc0a342fbd98fda06e27a4d76af3b824f47656934853af89806b47c9a55f1d5819bb28a4aa2bbe9a154c77b9b39727b9e6b5a9b30e2e4e90f9
c503860fa0b098db709bccf1238ef8acc8177cc1a3b470dbf6d675f00ec53eeb0ac7b5f1fd2b7d07846db7a934d8e1ee3e1d2ccf12a73ba3486761b31cd40740c41264c73d0f0dd7128012c90f09691ec93ba1dbc85ed0e3ebabfd363d79fc804cc70d00
7f2dc0026fa67ee9ec9d2d9c585865a847c68dbb734ca5b4b7de7266544e46f9cd3b585b1198109be5bcf3d837cd45454d33accbed8a0a7a851d821b061d3f921e379827b42653cf76916349240a904e63317254791991764aa50c76005721bd1ce06163
ff8c4247e0725c22998f90ca91d522f13d8defb7321d4db80eedb4bd80199a5b71e8dec859c4bd5237973352b7fedd476390f6caa86238678c11dac7260aa7c8d515a22aabcc8103aa81a45fe4d8e288f035b9fae7d07da9dbb70217e3b18a57da6f30e7
270c48acd46ba90f5ef30c9855ca0b57f9ede107de9fefe7e7942abad65912a607b21dac83e826129761a9b0307c167c46f867a2a126d87478e0e2a586f78d7d2aef7320fbdd2940e0bc7e07014901590c6f9e43039b6562f1550f0e3f1a32e07d996382
98f5bbc6d4af6e77cafeaed42f13ff14597cf8966b328523430f82e2c3cc9c3b31885374dd09a5e5b871a6893aad05ebafd7a1a5a324e1aac78e0378d36af062ac9edf3f6e5e6c60e9a0c37e4fd4f046baa161fe1b85cc5c8d8a48cae095aacf38ae6b01
89f631e77174cd86414f49e11dcf5ba04c385de0f8fa0280d1acc30cf2bc2b1cd8082a8723665f066695765174ac6b0ab583b856370dc9a38d85c178b64d7cf656e47ac4acd3844f977c1f669439998d09be443b83db9472be5c724638435efac2605c83
2af9b443a2e39a775c075bb605412d12b114ca4472c7badc440890a9316333614ec7f123b511db2463e7b8cb57e88dcf22b2abcb352b247bd053441cba3e8acdd9e81cd913f5625a04f113eac934f0a6306cfc6762ca0f8eaefc36b9fda86be561935887
75484ab39a703d86e4518afa63a057a50bf86133f9db49375d1ab6048437d879c3ef77d25e1c378e7f47a9dcec32ec87a389f8b497e92e7639865fbaba3c02f7c240a4ef9d1ba04bea1a1687cb686c4577426102db1c6b3ca6f943cc59ceccaa4199de3d
53a046f28f955b01d8d6c9b8317b13eb7bb1099fb8ebeca3bbee46979ead1239095de9fe78618640db27c195f39cf117841371835bba7ed9312d69ef9c4f27ca26cd1131383f350b8610f87e0c8bafc68c8d5794a71d6b6a3d35aed5252d8b7d782ea942
2fb20f5ed82cc19092e545a29eca6dda92a67bb389ab809224121ab3d5c5db8a3f66bfa7538959882e1c0033bd51befac5a6fcaa9abc3be598c0dabbc4e28b71fb4680321a38c594c9a4db0cf3baf36ee7857ba5dc9496791d70d91fa3b67a81ddf516f1
90417d85ad794b64898623d93f0c34ca3d041ca1dd7ad0205c49efb5b8ab3cb0a0112cf8ba19a71f6b76f5137aea1b39912cbc2b7b2eda177659a25b18ef247246960d643a43e057864620c815cd70c69ebb753df683e65bb1912b23d0f4b3b93b68bb87
b534f9cbeaf46c073f6bff8a1b6af35ff606568c20e616aa03e0a6ff6cab10bf3e25dbda1cb9f7f745ea3a1743df13f7d115744ee7c961ea5a8b1530b9b172e2d1caea12898835cfda571bd6611ef1e7af4aadebba44a24e694265ba9c97d346194e856e
287ec9cc76c46edca1920b8c37f746fab05654e363cd0abae35234c616cacbe1529350602c090c91cfdc2159cab3ae4bafcc6dd6719b85e3ad59cafca693928b9dd5b4ca83e6e29b2bbcd80d3488463ef96be1040e3f69345ff5e8f2fa451afaf5b72ea9
dae6d7f8dd1816ab63b0838b0063ee04ec1cbce5a890758c65b3d63900f638554384b6c7db532cf4a6877f8eff291b9ce78aff476eee4a55783f112f2c293fd93c8d7f76c58cab01b768edf50d2ec1fe04a30ef7ada1d11e7b8cfd66459cc77e98adceaf
43fc1df03cca51b9328a3642216b582eab2d2b9b3e9849ab64e496edbe6569dbf98177d0bbf14e609889f59159f999e87a70f42a66d3b8b3514ea6a5fb30c5d5db86e3a339a5ce93d77be96b6e4292bd58bf8dffcbc5b7ccb3fea5f9c018ad931967a2df
5719826dd2af65110f0b8867567812cc2ef1720bb4b72c1549c9e1278d51e9b4830336598b77567e17e8e9c3f46bb6e033cef9eec69d27984ff8becfe0955b84980cada54e8d7605ac46c69ae1bb747f0df6e5311313a4c1839bad9531977a542ab5acc7
8db7bcc0298798223d0d885e323fb43d9e34e29162716727e28bc824e5416bf7d02f5d68d4a497e9e2383192db176d0263c50edae53f47c50ba8ad01b5c1ecbf9dc6b887103375e269678883a939306df893e14d97c645c2be0327eed7b8e1d40fc30a4f
93861e5a358bf69abc1c3be38bd9639f6152cca55ddd32a904219bac57cdfdb40c2c3464a7baecf7f73f98963dcfad2221b36bcdaed95909b2e07391ad3b01b3aba2f23c5623f37d2cb4dddb629c9f81603fbb8cf3a2d8c0c028723ba8d3275f4f3f4f82
fa5d52dde457dc170d1c96542f1bf031ea245730dd325f350f25c08986c64c64d71a18fb6908cf378c79b6524b8c4ab440e738d1dd770cc1985db216eef71978c8610b1d80f5ce47b07eaba36eb79bf09725631d77999f2bba4e241ea3a4dcd64a08ff41
d667478987e542711debcf22901860d166be237eafe8125f3d32811fdbfe21f4df4e9b65757cc855a3b145d7c8a394f8f993e2fe0af9287213e698b1ce1beff3b03ee91d8b8ba137f35433499364f55b3dbd4da919e0db4ed6e25d598b05db38f6b26973
0a5630303d8a30b823a50f7f224b20220fd9319a9e791f0cfc2a51f8e6f419b44eefb9a693330f1e17e2b083cb888efd17ec9cc3db6f8df23cec0997d59acaa2dbd1c3a433147f3a40815a3e8c1b97c7c8758a7bb9ba6aca2a4fcfb46b571a14c77a79df
4d3ed7bbd3acd20537f3ddb03840c6a1e977d19e847d64ce87b01fd736f26944940d4ae34260ba3d6b2c02dba61779f9e339375c8f27c639e12bbdfdb3d65624c8f2e25137ccf31b3483a45ef791ab78632ab6e4050cfbff7d381c4ef09a0b2e2f63cc9a
18d3907ef82f894ee6bfb5cf50199247c0b286755438db0f98e83f35123aa0d21dd830276bbc79e27f29b58e1735f01b4655a5c770f55d376b7feeabec1b7be7c7629afdf963c556e36ac50b988e12b68b44df57423233229f0ebf483fa3f1de7a4fca4b
70a6ed205c7a781e2b5d3010016026c6c2b6f0b1066a2f4a8309bdf326c1c5d6e61b30c62224a2d1689403004e196406678f8c029cb492124d984564ad32abba5838b933d489d7e011181ff8ca6b903a84c1d3a880d786084023e9ed91cfb6deb99446b9
f27bc16876513045f4a248f6f2e281b2420fdde2a553e683eef3baaeb86f56bef93894d60212ad8d975b175cd64486164d993777cd54cc7331209d46fa14ef19e7c4fab8a9c1c578daaf70054202e9671007b78715dd1238365c60b788fbbbf55af80275
e9c0612f626a5a027916e97282ac5580232298a73a98872a7af88d99ce66fd623f60417ad398307dc35c20a8c921d2a50e3122d625cc738e4ebef5fdf8bbcee237eadc29fa8481a40ab9e0f4e18f38d60bac7109bddb21f34993b78b2ea9220d548c1a8d
2ae968935d0ececdd33fcd69ab0f1309675414214eeb4b6f0c475b246574021d131976f86ac9ed1f9d3a27c534482458ce9e1e1dba9bb6f39bf3b200cc645f1832b39b8fd0a73ce72a9b72224eac8b5cc69a5edddaa59d079ffa45a55be7cd5e6e1d455f
ce5976d19cad9ee7bf8f59f58c91cfc2f363412f49dff2a9cfeb65d17b7ebc7645dde97553d4be3a3f1ac10e1c3402ca2b4f42df77e973e5465a967062c0cb27a023d25db3377b1cb7a9aa9a8205ea3d9c0ddac587ffb69138a4d23f65c675cda039ff2f
865b64ba3586c5c48049662f9f5dca3b3e2f07e0f3347693b8b10a3c573c65d4dde718fbc46670263c00ce2cb91b99765b0899cfbb533d86fb690b0b0bb1967e7d04c5fb88b7f8c70fb8b08d3d4322bfb92c725e15a6ea1a7afc9d54892aa5c02bd467ee
e7e7c044b59acb1a82b440cce84f8e7c8a3d48b4743f66a2d368ef41deb1a2e945ce73ce25c8cab93f738a1376ea4f6d9d4c4cfd399262bef1d5b1cf8079c3493d4d5f845af289f587a628656ce7accc842f306cb6c13c37f8d679ddfa214635eb42ea92
d6495049930a35f4e121f0e0c38aaef693b3a24718777b8d69e737833b7b37959726901b570c4c8d73fa2ddc389cd0fb7c31393c183e50f5c1dbd2c91283ba508dbf0cc9125a2b3566739ad00edd518e4ea02ffc4ea8a5a7353146aa62609685c35ee183
f1f46dd51fe33f236c2add7deb4f436636e111fa2451cde469b7e9b2e8122d7f73f3743eb947f6326b8836a96ec87f33474e7b068e8ca1afc5a338b21be6b98b06f645659470b6bc7ce12e49fe6c59d054d115758b00b5b99be0588cd21e8d27d63889b9
5bbfc1f172626b35a42d771aad7311f1670e77051c8b2bdb0a78fa2d19c2e4efd94b300313ae182283ae6d0dccf3aef71226b37db8c264dd0528afcc2d87af942eb89f4bed643f572e756825ed68d38cfcad97b898a3325fbfeba6667370e9ca490ce4f0
b73995f23c4a6f305e7f9825ef7b90252ffab9f16366ce78f379941ea830352b0589168eecaca75028a81daa567516bc5fc8dbb231c0e8e6f780c69f8d28b3e9b0555447afa1f4d6983d4eec0aee4f50d48afb78567037f1a971b75ef12c71971fb51226
630ff1ba99318f064d61aec8d06f68531cd3a050d9b4a616f5e398730d6b3b46b1fe9323f087e1f4f9187ae7c877131ec88af68c071e99122ddadf18ca6dbb74650a76d68de43e2ae5b81f538ee548db1ed638afff64bbe1bb968712a3510f6f2c7d745c
e66ba0428f2fdd01efe1398f2a7bf987714e4af634466ddcca6ad9d4d86503539fe2e6bbfc0f68d51ea09509b2e419e1edb4197f3a7eecbd4398af9f4ec86c9bdb447f13ff7953fd6a0fbc70dbcfbbd28bb0128bd9001fd6f94730c713a80e158917f01a
fdc6fa27a6fb19eff84fdd94b5fbd634e3d581dc11142ffaeb7f7898aef0b517f9310511e17476f84578fa98ea480b197d1c138b417ccc83c7755e9753089b1c617dea82a724c5ea9d17b3e73384d7857fba57fff0faea23b8ec14c8a163b2194ea3863f
e1024395b7d1e0a8296982a857b7dd9f52c9b5fb168d326c605e570debc7ce9966d05a384ae4eec098e4b07abf733ff3b2d22d3fadcd4ccd7a474819964c7fc03bea923b83661d7321334ef371f99e30139fa13df050090bd316e8cf813aa0c2b6b90a54
4e9b7b214f26a7dc07ef44777e6f479c537a7312eeaa47f201bc90cb02e24d661cffe1617827668da19b3f9a577b937c59862af2440e2ee6d2cd411bfc95f786245be85236ba90e0a8c64b1d0e8a581f5b7eeb47d8eae4fc6ed3d55eb39af057726224d0
a072b474b7db59679be5eb03a4e556ada4613e6e52980e04c3b433e117094361e06e01c447d412395415818f9f7880765f7c50d92f63b4bb3026e13decac1f97b6283be79523cd18d00b52173c216d16d46f7333037b7fe837da59f7ea5da244f5396a96
04aba933d76230b878e493e28e6dbca5b0c765320a86e73caaecd0fd6360dd767af02d5b93c75b4f50b6fdf5aab7ccbccc51277788d662ae3882ee1fe15d0b375d30ce70f9e1427a42b64baae01bacec15e7049a0df0619d7f6b20e5318e2fad7a72309f
4ac9c0f22b8bcb7f24d0ffee047a5642d042ac27e5fdaac28ae98f2c769581c68d2937f81ad7b66ca4fcd8c21c7f7d0ed3c2a2d2016b572eb249dda51057ae527d86b525db1d227b19a9c16e4e0dadfcd8d8aea466c4d767aa305fa3ec4a8b38cb7dee43
f2f2512e87bf9112242d1a65af2c97c8c0fa03ee1b25571c02ac68875c5255365c9ca12f2d75cd2c4b4191046b4f5c8705d3fe41ec0ecffd4bdd7544c443e21dd606da0a6a47fa60442466caf16dd726fc58f3a5492f03c50c932e38e94d5b218a18950d
a82804de194598389fa9895c3c659ef10c91960318457c64236c03c50ea095b2602507b6317a5448ca18d6db16fb606f95e8c1449182e1c4f3ffe2d98ab68ac4409da82343bcb556357e9885a91d01c36e3095c4ba727c2f7c9b663a236e951f26e733cd
76afdcad902b3ffef39cece5c817c35b8f7730162dbc1eeab962009bdc6ccd64431cfec34a7b85d03baecf0e747b435518ead3b69b7bd0a65bc0d8460ffe6dcaff1d86786261324753d0adfb7a18354c518cdc24d066e6d5e6c8e61a566a6cac63397666
431bff77fa922eaea7e5b72681dca3a26f870b8dfa5490ebd3dce6cc51cf0fe43858fb6ae43a5d91977759f6643f6b11a7a19c2be0a07d7ee68e7ff3ee480b6c8f26f5f97f2182112b664d5c2b6a535d1c8c6234aff79b399c26a9c5fa831bb50304a0ae
15bfd1ccac2c9df7a544775ad714fda0c5c46957783c04ae1bce6c31d4cf72af68c2b5fbedba755e3c6d0afbfad9a4d943759cb5057658644d9a277e864e4272705058795f0edf17ed372437750ebd72f22a16d8dfc66a3933af5e4ec89ab98b68c75fda
ff399f636e74b2ead59a2ffae0ca605dba3cd0b8b36518f7ef6c4f660a85614d03e440a690a54937690d51f4806253e753ba8a5839a8481f9974b741e64b7145add2b4135a14b4f85def150b43e19d33811eedc6bb7d933a2b274324ad476bbadf53f22f
9c4c0d3c736bc7e67745ac54dcccd42591d6c4fdb8ab57d6c264b1121f9c82c555c985e955eee81ac9143991fdb4f73621d1280bf1fb8c0ab3b3b4f32fe31e6855620718af76f9dff2b0f6b7ba3360035acd63b12413729daa0e60bf13060c58da71c916
df545c1ff22c9d03bfbad5e0570e489aa764fb7827128b729ac374d0622d24312f361d2fb176689f69d178a12766c4455240eece4567c53d093a47a0feba1039561f3819083d01a5c301719863b90f557ac5fbef968ea2ce01e1f4dae6a34abdad97fc40
296207f67e50f067e648f31c0b5fb6760763b647d31577e3dba25758ed571ad90e13cd5ca1af5e549dc367ef60bc364c63061c81c006f2a449b2c960b3341eff61dc542ceb75f864068de18eca185c9c7fc6a1403bbb3ddfc63df52dbd4c4fb4f572d2c9
662c11f6161903e78e0490ddbcd6e40b9793c07361dd446cdd886849e405cf969b83ce50379272e8123106bad930c69a3c3f9c1e849b5f8aece02e353f6b442e8018e49c86903766bc70bca90131a9851480612aca3ee3918ac25a7126ca911aea3591b3
bc903e2860f666cd27ac011fa686c384b30c6ebd1652345628e92419dd1063b0eccfe69081ddf609af67d07aa01c35148281d771b942b7170b2af1dbf6a735da36cf1a11f452be3a5dccae57cb27b74cc9c11158e0a064a85df64b281b2600317f5db739
d4f48f3145bded6764b9fb6e610fb9ba0f3f3893b8ff10a9152c9cd1e2cb20da54487aa76132ef4cf65e40ca452a2b2bd9cd1f3ef525e14e86a805dcda1cbe248012180f8c246b7cd99c64fdc1450d0d17c2b0c6aaa351e61d56e6e1eda719a447897cb7
2fc901607938aaf38e0fac18c961c5d86175649b2c8ce7af50ea0f7695c8b06d324f7c95770a5b4ec1e61d68cb797b84892a4d1517ee3677fe98cae6cbc8f3fd4dff188ba5c5954358da4de4cf9ded254d0beb0809cef2dfae7f8656592036304bee4f85
1506aa489cad79d57c43d782b624f0b6a718dbdd96b3e78c15867d0f60e643a260e57014e9fec399f44f4782100220da580db2b18994cbd34a9f013d85dabb6329dddd546cfffbc9821909f3ad928a19f971a3f6b01bbb9c5945a3eb32ec0b6765336c8b
2d8f5f81d26582ef32e3520509bf101786b8a32d5ae36a1f734f47d1856f071ad1eb451506b7c0a7bdd70210a3e97c8b065fa6bc971eab1a7f7f9f3a31ab95911b61597c8ce839becca98a3cbe5a2259b67f1e6b611af6bbbf8c8195d8f756ad0edb93ef
f3ebe0ed57e3e1330d78bf3a6aaea8593a39272bcc8a41afa5c345d8a2012b2347f086f6f22bdc00c396e1c8c3c0cc69465c0f35723652e79a3f98c7f41ff4aa10ceda01efe47b491ef1ee6c962f296fb1348a71a87945570ebf3ab3e4d098f0a2954ca0
1c49c21ddcb878a011a908fb077ee9c230f9e1a195e4a84128574ec94a02f70fc3b5a94e78125103621e5c8886eb342ce62c1e1db56f50ea76faf62f9bd2b8da4d95b1e8c89904d95288d9bf09fc6adedc8d3ea1c1c173773ffd2df5d506d192bac6fc66
cca651a7f8171001aaa3cd78fba8c2ab2a9882a5385fcf7be92fe647905cdbfc45ed57acddb9ad6d4c5409f0e144ec4d0a0a108d762533d2b0d243fd15076bff59facb09d9182d331bcc13a804da0a71e9f97d066364b78c69149ff54c5b7c54d2b9bd9b
38def3d5bf996f76f9b425b878bcf38080c484c30c7d492e5ffa43f9006a52b7b17080dddcf3c7644c0c7f7bd040cce6cbad638e035184c2f90e6efee0a08d1022a30611ff022e83e186f0754efd301727e5e3a8f1f5f75ec8f1845d2e14085d41b24f54
ea771577c64fa2c2b064d9fb369fa698597d56f90b773901b67d8f1a38688a5c59f08d9c289490c7e9871aa3bf20046254e89dc36f0f81f56851ceb2a7789e15ad98b1688a71027c39e187ae448d8ced129e289efc9aaa28125b2100b5dd1e3589d9cce0
e0e0ac30acb7eb293064e629417972a5ae3c758c77afc55e867f6dc2823f30f80f0cfe03839f0583936b4c262dea5cfe166a92958c7fc36cfbdea81e6cf865f5b6fd8be940fc9d2549fa84cd1bf1ae0a571f0ba710bc7b61dd32b30e738924fb52a4e0a4
de163ba1fef0dd86f79f36232ad6aebdf9959b7ff93db96d00e59e7705502eccf8eda01b557437fdfb2288698244a44cf1b2eb137ecc4ed5c84026c3a89208fcdfe30e98b07f86c61966ce17b10a44926b0364ce266c61d235f2a8cc90c784e5a426d67a
be0d4a8ab6d622adac0131cb5170dbccad9fd8e9cf2f3430533889d55a53be0f4510538a20c1b3de9e9ab1ee22563a18cd4970f09eb8312513dcddfd00d9640c8b967f13fcf349c9a4b1c5503c2131036f2f62b96cc59d162f9bb2c1741d296bbad23fe0
f8d13bd69b38580785bab3fd90fe7bc81e133977e25377dc75d78b63cf0785c3569ba2bc4769f46e0c1b5a6a5ccf24a57ab01d80e033ed33efa1cae30096fc4ff6ae3caec9f38eefeeb6763a7b291e641bed9c53648a0772bddb6a818dd6d40bca995551
2e312242e4cabbad5d3d3832aa955a85b452458d2115087792ae0a41d0a40849241c99447c8118d2f8f226e478df77cf9b83c36add7d7c3efbc38f124c9ebceff3fc8eeff7f7fdfd5e9df57d8b9b9238f2304a0296d39f550571721ed3e0b507d8b5c112
159e5d369568c3c8d288e199de65d9d41d7903849be81bde55c49f4dbff685ac713fecfae97cbeee44418cb757270b7ffce4e2a8d898389f661d532599817f0664f68d726b39d76f7fa6979e1a03eb3e588f70b0d9075c00ca61ad5f29df831a2c8d55d1
c41eb081a371f30786cd8f79a811f80031e2782fdb97023b8aee5ac5e13da3edd7b18ab419e781ba2fb391cef6b541aab06b373ede086011b42e306d22b0f81bd03b25a7ac72b12674c85f0b846fdbbd8f5712a56d2f2a39d1b6c78d0bb710345cf41eb0
bd48434c21f4decceeb838285a613ad6dad9ce0fecf0fff3f0e6e080d73d69d27909d9c7e7ed027fee60a03c71686bc8c58c8ae17fd82bfe33de103518d358b792b32f8eaffb5c973aae93624256f68acca0dd0deb579edfde3d77066199da95f48aa4db
cbc8629f39cbc59757a87ec4befb335da84db110305a95ce7aa44bff657e0dbe677d9fbf4c836ead55ce63e171c18aed7b5611d3dde7a10781930dbb74b1a4d2b4b4ea49cfc6920b31898ba91caab742501a07c7dcb03f3be3a134ca73724f4f995730bf
7349e8ef172e03d5b1ddefacb96f3f47c8f114a8e3d7cfa96263fbbfbbe8f14c4e35212cf25dcba70a6655665544f15431234fb87e7b912f44d5c393ee78705617e769c394ee94f0d1060debadeae0e82cdce57d3f4f703acde1056bbeb6825789bbb9e9
a85ff103499b414227199d58851ef3abb5f7ea14611fdf3be639dc48dc6390d648aca2c7a7839ccf958a241453a695ad6a022426f4a56d9e063ec14074c38029f40634e2ed2a09bc58fa8d972f6c9dc986b19150494c05a2f2aa7e3116caf18446a5cecc
441765cb65cf79e3f4c7331c2c8859ed61f25da3ede04b96dc0a1d595ffc8de724b510736d75b3bdf8b5c352c57270cf5bd6d7ef1027e005050531fc371f3bf43c7bc2bc23e5541c2c550cce487d4f0117b70e7d26f95ce576dd75fae2658f751cbd4de2
dd6c4f7ed6dd44efe1cc1dee6b1383585f8ad5c975799d6a90deb566ca2b1e9799c5a8345607dbba7416dbeaced26340961edd31cd5603715b4446010f6a10ddbcce614786d576bcac6b1a1e8ae86cbf1f473e76b223fcbc2a42d509641898a14a12a5ff
9ed3e701154c578d18f462c40e8405ec774c95c9ffb2e0ec19c7e80bed7417cc7fbbb40f50e855bc13500cd8c01cd5cb2ccbe39e29e419c77573a9d71fe452a7cf432fb82fb3d149f4f657e56bb7ecf75d5102a00ce77bf445411caf3f7112ee9c236a0c
e69206191022a46f7f72f8027936fd0856f1f894454c86c23ee79a09a5c2f6bc76eeacd1082a4e84104f30aedebf9c533de760f671f99c135269fa37a23c776d047fbe918d7fc6d5dd3e5e32d69fd4f837bab7bfd91ffe356f78e58439a28adfe9151ba9
f3b75bdfb759d3f3f5719ee1711c8ff1a22753141357dc9107e0f2e8350bbb0d1361f6326ed26822d931223cccdd70dddac516b651dec521bb63ba045b413db466f1eed40eb3fd597ee6d538b8949ef9dc8cf06290ce1bfcb12ff4342fe5ce05fc88eef7
a17b13c6941e0e4194694407f04a842ff44db7bba608dcd19a4387d0c374dd7e69c90721478ffa9ca52a03920b648644cda9ded2ba76fefcfa4f431e8b222497e034ed2bafa6e6b370be0e17beab9dd2ed30f4af6ed75ea7f7f8a35e207e56147a69fcde
c904150eea147f8941339ac5759c1371708d7a11f55d037b69308ea992377cabe82b9d63c9306141ea69103b3662cbf2bfa9a047e20d198554d590fea5333e72795475a1314f4eefc4b2f21a74069a74d52f368f3d3b1389692c5d06e588053bbce73ba0
8220a55b8d4190eea6eeeb5ff9242cde629edbf0fa3fc177eed45bcd315ffdcae7b905aaafa792b6459b9df945ab02febfcbfc6f71997fee8048230725c136650ed8659c087a778457f5592f5f807c8cc7d833390c4002cd10d86d574cc47abdb8fecad3
8dec09fbadcf6bbb50bfa7ed61217bc7201b9b764457987ac72352f85ab995b1b0f4752845ffb87932888d3a144d3a669c880992a8d90fe14cdade477fdec7abfefe4f74bf2d0db5dcfb4d76dee2d03f82a6d8e3e0cf1f5594486293c70559d189d4bfdf
e1fdf3de9090cd1c5637057e9a29acba2210340a6894ece3720ff6deedc1860f225e85a6aa6b06fba5972b56e19b3857c1693bc136090ae30b264f5eb944d347a652b51267e5e9f9a966cccbbad4ba73c0aabba243fb3196655be4e5d6c937a70519b781
20c3ebf2c5907235b761e5c13b21e7f696a553e73781238ecfc2d3d6a25bdd9656aab1449d0ace3de8c799ac5dc95afc9d948fce4f6e79ff5737dbd15356c8ccc37ff27791a74d838c980d7ba72c4831b86d2d004f0032821688c00ebffb455e51545df8
4b183970d649a1abc0eae41b3f3986bba510ffb5185d03dc4cc5e4f9f82720820f133112a28206fd36bd8830406dcf9378a6aa33bc91f8fb5ca9d48e666d33628705dc0481a001b49eff5a59054b1439756c3c14220ecf184029d46998df2cfc2161b38d
185a7bd63513c53c117f3a475e479673f7dc5d7af3153ad0477ab496a4b66cedf94fa3f8389b13c697a4fd1fc6ff1fc6ff156ff8df80f1135cd262d24bf0fa2bf5b05dfbb9de069f644b431f92a05a9f4a88ba30f43e4894dea81092fcb1d445a16300b6
eb04f18ce0f280fbaaf48be39dba6c894c3e17c18fdfc38ef41b9b555c2df7def0a4905b719a7c7f436530a2f1d5639342c665a0478a9408ddbb5e530ba7a9ac36b35cbbe0cfb09dc3ad5cf58bdeaab38bcd20b3f66f5ffd95af5147604ed137958b27db
cff14438ca358c3e24c57579629d20a5093d8f67afc17883da32e93d7b8e492737d24dfbed4d5b3190b392daeb4f602a3e64b5d463c65449b579e9949327aa098a70357077b38154628f35002287033f779cc0b7bd77e7ddd97d17d9bff41e202c5feb8b
aea2a5ad1ddcda9c087ccabdedb612cca1554855a9caea13f9a82703fe1e5c2f461770b6cab9b835c37e4cb418ce239383f6f6da2c02ada3f31322eb82d9fac80869ab1374ece05b531964abc61819942684d5cafdf871efa91ad6754e702e0fd421bc97
7cb5894d59d8dafbdbcac79fdad5cf066970e71ea1cca66479fa86cb6d67fd88fc2560a99344df5e0322618b7b34e7881144a394cefd73a950400ebd6298a6647f8897d19c84ac7c78d36b339c7aeef6b2ef73789149772cd9ccbdad79d7acf3012e8996
2ab14ce45581caf84496ba56a95a978b2b3a23589e5ae27c994c90346a0c3562c8e4d2dc0dc43d3cf484a7a40edc6b8cfd0a9e362645dfa845993a2de7840910bb29a5ae805cc0939830eeee72cc3c50b428a591ddc15eedceacd97279f2a290034de833
bb586752858396235ec3830d3599f945769a772e5e290a2c6e67ed4736eb0f8877d9d0f38e73a697d54c880dedf172929f181c22a0c90f75c9247c0e74935d2796344e394ea59828f09d55fc02b5a83df081caaa1331898137d9bb3273b43225b6f63e23
b5cc5c8a12ec16ba5198c0f24c6568ee15dfb90996d2a88c8906880fcf35b18927b10da4b2b654cb49d190d1da39c044f76c87f53ac87987ff7c6d1dd7e22c173764b60db41fcf244aa372cbcc36f409dd68907830c06b3159376414e0440d66dc1953c1
856340286680af98c19dc879deb54d3b4180b12ef9fda4c7cfeb239bd00a836d1e7fff8701a044e1f9cca645ad425af412affd8e621c2952aa2204a5b938d08c6191272216eddf46b758ef35c8dea43a95583fea377c9cd06f41e269c57075a9966125bc
7221123415a651a7d19463570bdef34929bd360d0aee7661c2389d95a37127edfaebf4e30327abde2d4ad0b62b8a6abd4a358b5c997d3cbcbd7bc94b7a7a48bab0633cb00db41d1e44ba149c6d91beb47006ec5cd08627f2b5f0b363f50af9fd900dce15
efe1d7d2dde881cc88059f4410a0b6e9ac12022e7060433488bbb5b470db73aec5b85db1a965ac81c45b56d94e5d7a53cba435643199e02395986cf268aadb8ac9a3da980987a771bd0da4a5439b319598d8e98a8f5451d32b286dedea9eba13bad03ebf
c16ea083aa0878c963fdea5d65e42e653c12e745f20d8175fb11ee15a34137a9629351ba49ea66519d563289c8d3b95105bea25273096aba2fbebc0f8a857675ce0c8dcf51a171e08d2380e663ef39a81ec95efc1df60b5eeb316ebee4f0c8a62d8b6787
46068f9d272a863eee3e2714e7e372797d133a22f3b936346e2f382e371ad0c94898dc00c10e6d74df586276c569386af0ae143e178849d6acbcccee51bbd38a745c908f574a44565b9544552a2111530e7c61d8ba4cee56104fb0d813b1278a5b62a185
474665c52332fa4725b154aa157a313da1790d40ece43debc20b50740ea2b7e7f102385cb98c41191b5e5bcee94026cdd9f6540979896a53c1ebac51833dd6520d66efd3190d7a0dc3954a81afb05e94bad8bcf3cd291cf6b1c56c4ff0857a89154bbeda
96d9b6f6fe14ebc28d6378910ecf4996a228c7bc4c7c7cfc07bf4e837acba46705e44d15f263ae164a33efa796dde35a16980b703649a336cd1687faadb5668cba6cc58feb81f3f64751395c95fb09b56e1d06629ce5eeb5f76705c750afd6c24527ab65
e4ea54011a3c80f46d3218b1418fdb93f5cf7160bd99cbe7d0fa16e2f63eebe457edd5268ca2725a41447adfe82c6c2ee8848855df2bae5bf0642c1b494cb3debb7d3b70a83b6565fa0be74b76e8527c9aa6c41db60f154baf02b5565d979a8cc084455e
98d20aec5310fde248d481d31779f2d38948a93ab52f876874054c70d87afb8ce17a39c3f8ca09837586acf72cce61134603f9962b775aa167f409abc809733ed08703703e83052ae39ec7640f50e72a47195d20b9382aab3021d468153930566b4e79eb
40a24c119c8b6f20aec51753572f5a025f122051d38adb13261032a512b27388ca39697c8a30c2f16ecd2cfde575cef89d145ec98775c258489dd25299258f4720d345bcddea8ad03adff7e5d148909868927f8c9549952a8d2878e5d4455bc620580a52
d53241043c81726012aa08c60a84d4b6ce4f646fa3c7e8b975c2d946365223cca92ab97973de0794b823ec352ffaf0a8ecb536fd7c9ddda746e16f88d164ef114e185ebe0a8cd8bd44a07204a191c4d7fb8016da473651358d3b6e029ac9a9e88e1dffc6
1fd8e0f38ce13634c2ab3952f19d87a83f802283353891b304fe4d2520e3d26a540cd19e4c64d538473d6a7f279c7db819f5392a80a4506fa7c3c7d76b39d2a5a5f6b60785db211039699e4e826b5c5131ffc68386b3396b293f4257c6f5db325e044820
553bd955ad82d59ddac379952cb196b87af0a3837a47b693856cc851dae483c50c7d0a4c844fb70314077b91498c61bb56433ae36188004461c6e9597807a08f045b0da8d4ef2d3386d9de558c3a5783f999830c99cd660c6e550d8de7a9c4e2cb03ae80
082e0f55c044d74d2ebc2627ff86bdd04a744ac81e1faaef16a41defb90348dedda50ec9e9157f52170d22e168b0262b872330cbbe2d95f00f52d69d8771214fdd4bc8b5ecdc9f912bc9bd533b25bf3111fca4eb7e5ca69419779f86be3e62fa3510730c
4a92de7d7280e203dedba7fe4915fed9d8821227fc3208c57539a27e1d302281a4ba56fdc78a9c0e55a234d333014fc86e7aa684ffe38f5a0a03c87edd1570d39cde25df9eb2040e3e63f230a369459d4998700986975247d135ca6945953eda00d96573
9d4ce95e50d8bf273bc0dff3c2a229310b3a42d5a04c56defbe30b52e0d54779dbb39055a663c3ad4086c27ed610b8327fdad0f81c86ed189eb7183b451d7c0d6557a6ed83b0c54c6638112eb95865eaaa96c06ee98b1e842e563188500cdbe55a06659f
48178679dc102ab355f96f5331cbb3b2b340c0bc3ae38ad4dcb3d217c7d65373fc25317897067c3cec0130c5c16db85003bb77a719c0fc307a4cd153423e10a0ae2b36af0189cb08b0a6a257a210f8a450950dce802e80c30749c43ebbcd9f00efad0b26
2eac35ed98303308fc89ba1a938d7e7a54d4c2395d5f6a2efa83edb67559cc8cfa3fefe24863c8afc7e784dfb176a13baf7487008bfddccba3f102f88e7057d9477ef70b79d13fa1e33e45e19768429324029f741b97cdcae5323391ae32c63bad0396f9
cbc0a9438c0282c8608b1546c9c8c1e720a656c39c5fda0a91be637438d86af32189fa5637a80496dfa589c7f3551add9efed73ab1ade5be33c6bbbb155fdd654bbacab8615e8d11bdedbec5dbb4ed59c980d7227bb1b55be0da09599fc502f25d885b26
518fe6755a938368ef5271d9e1aead935a9b40bdcb30973233b25945c3a9436373384b1280249ca880f3eb163c401e1fd3cb6fcefb8d4345e466d1a8d5eec34a7f108ce00d1079903b143e3ae74c8fe9d84076acd5ea939fbff7fe06a23bcb99ef28a5dc
1bf604e928053e24b9ce8d053270472fac8d1371aa7fc71456cf9ba991e1841c9dce74f29be4f565835a9dc8f7532373b927a936403134729dc1da5e485056fc4996125c60caddcaa949a212b4665dbee9f37d9ec6e4b5a59498f172a670fec0341ff7d9
d833434343117d497a986755b795e4a4e69badbc48fed3132bfc37291489b21a345c2f4c0b0276279f714a9b3236e16972c9154ba087e3ee2d75a5a1bb934975154654480c5f508c07409b75650fa86a0453096959a85e4eb555970f641762586041b3fc
342fdfe4c463cecb844f5b3e209a30ada532e0accbeee02887dd55289c66977e8ee53ddd7a75ea24b7b3ec6310115e4aa3a48c8a83747db94806cf868052270474a5a83a433cad74e665fa7b820e464d191c2eaf1fe189c8fb06321150a697232847097a
53c792797837c84a2bf74c2f4acbaf8b0085bf68ffaf1dc0a92c12949b02073c3a1af01d600beba2917cca2a4f10a2c314fc735e99c4c4b5da02c973649d2dc520b1dbe6ee49d4eb247eddcdd3b45e188c843a49bd8cc6679e9dd1bf14bf7de943c4e697
33f307b2bb7599f6df95ade363c21bf13056ad28933640299568f84acb0fc765929f8889a95c5c29159877822b85cae7f65a968e2d2570eb4584a13732eecbfb4271bc6087b8c1bc7efe7c61e76bee320bc366a5fbcaadb6f1b6ef51511e3a395bad3e54
3672361a08154bf633a9524a08c1392122bae33d43ef0434a2e7b3fc35435f0c804aa904bb2e1d011bfc7db96410dd24eea0fc82934af3cd71de71502bd15d9d1a4b7177691f6de0026f58e9c1a9654495b950a72a1ac1875b2434c3d63c6f474ecadc53
3f81814438d3b5a9bfc4f3b96047032c8e9b4dd510fb7ac0f5709cb7fa60f58d44f68eed458142e8122aa9029e943b8ea6559a27730c85fbec7d475d378c9356c426d2f2ed5f61ff8be2dded089fce06542e0a7e10319197503abb9472e264a1abd451d3
50971a471a035c8d43cd659623d501ddc2ea923d8b1b9b4ab2eedccf05dd455394cbcef3f8b59f5445807b030645cd3704365937b7a00d132e4640a8011e8d0805c09fea6c459902a900ef18e42e2ed5b8585d48ea605e68ee36252a149555085516157b
853e3296cda408cafc900c90816472dfa04ebb74f4fe906e51badb9453979015e020511db8967a9556c5f676beed439040862a66ee04b8954513b56e12477b904ef9438a4b71c37356911d7037b73acae0395289e061b0f52b6c67e6183f182aebebb4b5
7d8aef036ccdcc62d376aad8c43af4e27e7cc472f976720592fec26449617f0f0cb888ff23bf7f25f27b68875345c90e5712f35799de83427ef544ef952bd9572b15b1430061b42a15f10796feca4bce1c23fb05a69778f4c380144d7b801415fefab39a
11bfed91dc0d72998f505587d9336641815235573244b502cee8d00cb7d1702a33ff8e6b37a3d412ca06470d367547baaf3b731098ce5d34cae83d39c803ad52a92a2a64a9188a03c8661b4a0d074a6479eecc0f920f8dfb22295cd1b46f1e2c86942ad4
f17440675fa67be55d0e268613c170103160e1e767093859fb85b3d84f014acb55b013704a1845aaa92cf44b421fc8ec255aca6b44f29c5092bb196c5d34a6723072172bf9263af8646ef5aee9b6c189de6840a1248f7efb33ac02a19075e5fd03893fd1
9a0a80a5f6a69499a96c37da6afed11070c453e021d5011d7fa7bf44a1c61c1528d87f21d55bc9fafd2f25e0f326cfe2d9bc9201ded85b076345bff492cb733396df0d574aa8da957f5d95208099e3b6cbba5eb0a9754de80273a8fe00fbda8bd0559086
b6ce02ec52edb170f6ce07db6ec161b5dba64b3e51ae2027fe62076ef3b1081e2673280980463ff50e095c2ba41f4edf28ee0ed0a4c33b02b7b4981c0eb5195d1ca4c313995241961022cfceec602d816b05fb09a30176d6c62a540cca53d92f9d6dd934
631248351e65ed85ea65073fc23bc6269cab4940cee983e038c83853d35962c077deda3baa934fe3663269540e2d14010d43483e39ac81c7e653e4b25a35854cd282d1671c4a9837cac84cbe48663bc0650688a4aadcc4b7b49a88402a0a88ad721a07fb
10bdd312f41e5c0ad74fed14b23b87ebea06bee2142c1ce17e154c540a80a20d8cda8e3f8cbf90ec9aa9c44eca2c6ce79f28196e26ccd18c1851fc38c6c29b558ca8e8b4f6cd41c3ba1aadffdc6a7675e0c091f68867b6c4b795c1e3d86d7714029cbbb0
18a26db615da2c756dbb6aadea620752e56e9e123b64f1cd3436f2c494cc6173566253c4ba778abc22d7df2c7645a2348a85defe2aeb292144cd596b4617d8aedd1f2a0b8d848eb23c4b672741f8357670b1f50675f00d945dd97e4a6508e406a752022e
a622a8668a30ce02d1232014305202fc75b5a0c10926ad8577a3752dbae02b80e58fe1740fb7aad60fcdb8220022b44fbbf12331427dbce4296a8eef45024446f7ee0c0046f2a34a7ec8db546d216991347761760a4c5953c83990935c57eb5ac019009c
4cc4b83d633a8d247b16e6ae0260ca09c2f1a5ffeea0a7199b641c6839caad371aea0b3a87b8a407560939c155df90bb171858fe085340887586cc757bcffff3c31dc8ef8c78a4bedafc04656600ce711cc028dfe12cc9718c429792e098c207fa2baf99
1247bffdb32adfaa924425c7c45beb5acd0281cac2a455729a0b83dac2d9034f6c06fdcae31429502a0e5e6f594c26373bc9729d56be9b5dad3d4051671a11313233b3c44379afee9d2efbfd8dcc267c8a959f10025356fc9b00ea021f21b6783f9c125b
dc6a521750f6677915e7da14ec24ec3b14fb95566b926ccf4fd386898462500ae2457c27e7f925956363be48534618be4a27359782e3e9476e208f0244771b376f382f915b63b8a45a700b70993c8d830d8dd3612a49fd17719d00e0bac847e2baa56e5c
673943bc8e6526a6f2cc34192c93fc12291d3f1ebc10a139c6e898b7c23a94611396ea047c67a24a83922f9fd8df3fcd5782c2d727d95f4a58ca3a6b94d91c8164dc771f52646d55639920b85e36d9e62210c22871a0b8c32813a4ff4a8dd5ae02e5a358
00e261bda3987792a6e88eb055a679abe8bdaba7559cd67b6741337ced816f8c582915524ffbd6ec26df3fa6db5afd49aa9617c01a3ccfb814079573c0ceec233288b8024433a1c93a0d3f3366a8219408141ce3483ff98f202edffaab88cbf8d9c4a5eb
ea2a2f4a2ee1c4158bdcc2f20e2037e29f13cd4f61e628f8a2b5538dc0b5b5e0fd9b9baf2ba9a0ddc906f0f165381eb029a663b34359182b3a46586cd78635ae1fdf43257860dfc8641f8ed7fef196b2ba1e463db10d739f8eaa5654606e79460639e65d
8d573a7e2527c36c8d0a4c05167a54bdeecc97d4eb4664c75e83af5b8d79b136fc100a7f6a597f4d26519adf90496ce7251cea107629558c18d543111a902151dc88d9c58d7c7d8f976b273845e85caf3eab5d9a0836b7911e1d380b9e8dcd73c0332f38
5ff3b6039e7df6787856e8806787323d7b4cdd471d03842a0336c788c05a3e572c2c9a41d203a5b1a2a1ce3eea68b5e66d6ea6ca011ab063aa2642cb623f7228446093b88e42c717cf0584a8b9d404a281ecfd78ed19c788df5d2ccf8a44c71a28354cec
34dc493dae407ebf2e981432721b09b5ebcdb308c7394aa2fc7b7ae94d762b15664255aac4350013c7993d520caf2fab8ae8cfae209253013401b577bb63634b2d17b19a4099649773d4a1c3eecfe247290a925325316153508f6aba1c4d76db609bb11c
08c268031eed0d25cb742d3e35267fc3428b6af072d369a892f4441bd075d434b463d6a8f8401af0bbb7ed8cbb3cf0e5fdc813ce01c669f984b6c651e9d60c07fa337d901b5f0c546b1d52c04f8b1f52977b7b64d32f1f13a852675fb111df8599b928aa
567907cc6113b62aee703ae1fd9263f05b9fdd0e65a8d6af746034d291ea76d3e91073fda3a3547282cf424be8c26bc20ea0e5fe6861689d83bc9757094aac156759f1b20797dfaa6328d9209bb895bcd5d624f474a36021f10794e9e91c0e9b823fa982
f3d3a5c314302b5b2bc56ffde6c166a93a283cf4b78e311c35ec5a069ff27d89547d214ad7225591c376bb361f684102c26eaae9cbc7e01bd68e02c36a874d986fdb4f492de658c021085af872324947395bb090d4ec3a3ef90f128f7f85713d28feeb86
09a4af9e3469e6680823e74abd81dcd564fe4811e88263c10796fec205c782bf7ee161d536957c03912764a8774370ab6f9458f7a8b139677101e5fd34cf4fcfcb514388e6ea23ff7b06bebef7a298426938eaf7ad491aa945925f79ad2e75995474ed3a
674ef553bfa5ee42e14b3b7f07daa3ab1d9d80a1c4665d3be321d0ad5f27908f8f358e34b2895553d06c7a764eb84d3306bc19e077114df5177e87589951fd00303a4c37fd1c13909696b269f9de920f0e2e0d9b09dc3cbf08dcc6e3e1a0522107a2626a
3d9b0401c536e9352688e1a206df31ce76ae4e22575639ab459ba7442a330d4b1e3106f87d7092a84917a09732f05d80c957ef95bc8ee453c05b3e62ff0a104b80504dae4a27de488825d3521d9c64fd6c4e725a68f8d769525e9ed2a4d46118074fe171
250d5f3a1c4944793f7aec8c5f5cb1a8948f9a9b144b0a31f23c15d07701611c72bff02165b90f230c653ea3eea25c0e03c61bebfc6913b1b10f993fd595789c56844aa64a72731006e30b43b6e2e530f8386784324ccb2f2843856cc817c8c9a0fd3601
3a142595603a3a9e06b2162f0406221b034f6ea9d73b5e32e076402031e31eaa4ef958666bf2c47382403266f97ae0cd43b26ed4f49bc1f9f539c0bf9241d45e3186ed641c1fe0b4e0516c852b7f6aa306fbf887d99ffaa06f79915d38d80cc2de8d2fc7
69a8d55993a12a64fb09baa341be4ae08d68dea25e6c56a84ea0707516886f393838bdd35ac8a3f51d21d5e977c642d4258e0842d5b18dd6ad925bb9f969e06672ad7f280009de69b8c7c7140fb244ad5d50e048f8e4d7dd653a4026340738a61eed4c96
0c39c84baa1a9dca47c5f55ac651ab24325f46826075cbea0888e68b728be47a854e805b7d5d72140a9a9594d72df4488901a7336db1211940dd745d61f354a0faa47c1fb133fc34bcc00321eb946c5cbb54f437f4efccbbf1426b4962ace297d9637072
ec0efcbc90148e4955bac9af07a445eb502b1c82d7112af0bd9c4fed2cd4715181b7434d2b522176664138131732c80be69d83dffaa2c48beab97dbf77de0dfbc6878716a3954eb51cd7e832082789974160e06f330610cb69d2113c70ab6e0c2ef81b28
3d1938783b04d80692524571518eb5f53cf8a19e2f31e9e48f890eaf27d2bcb476e9093ff267ab65641a1fb7324148d8b39a52756c7ae2a237650fabec5a5af79f930a2e7f32b31df1eef3543b625d95e99c53b90863b95683910395db867407b79b8733
d53e376237c3a7acfe923908ba91f7c7ab01cf59d1307c971ff9e31e09037c4dd4503b6c87d23690dc37ad661dc7410b525af1eca0c9b2d9bd895d15a003022094ec54093541df7c4f46490b05018bfc25072a87bafcc8f3b0ba9cb0f182111aa249eeb4
c0e0cc6f253daaad4ea51790f7b991796cc810a2df75b561dfc6316b57843648986b32dbafc637a2be59f903967699e42c1273d5b2fe430207c7f3345ce98d90e0f3e87862fb98f30ba6036d6230a8bae2f1934d0dec8e13331ec05cb225fb78c92d6ce7
85b338f85bd415e771321eea18dba7e22ce070c232ab73166ccd0aee0fa83c1178469761880f2a5c16401b2fdb1aeed98535b2049e1fffe15e5e0b6b934ff6461542881ef8cf227e822dc3f01ef5d34e49247366cbc564ba574db4104f7aeb5ce8b6880f
7f423d78a3149376ba67822f381640ab6e90f904551f3c30a0cacc2dbc563637ca6eed5fee7eb0ceaddf07d06a26b14686675460d3b8ae29a8ed8eecd00a76fef8bba1cf73aa6c4d7b25cfd543e01db73abd0a4255f971f5a5eaf437b776cf9d713cf3de
eae28201abb573b29747e47e482483932000a0e030c230642f3d0d3b26a4e3db41810afc1b7e5ba4e45e243e75dcd429c922923b9d641f036582677bf6eb0a2549d060e564f49afbcfbbcb5bf5132dcf50d802a0a622eb4e2562e7bec64599afe66e60cf
72b57079e851353737f50f8c0caf9b60383ca842f89ad61765acba7830781ff1c6ab0ecf01d5ad716853137d5f95b739b3b4371c33387e7d55fe95261128fa80470368e478eaf4233d98fcbadbb1265b8b2271a9902604793e3b06a7047fd172e848aa9a
3707d1ec4c2706a49650bc3bab1264e594a3d350121ba6404ad3f1cfb678cee0067fd41a93ec100db50819ce870834b3a337534965e980e53065254cde8c14576b67bc3d2d8a938cb9c57b8e3a4becc0d8dc94c84ebeaf58d96edb0cd6843abbcbe60e67
10372aa8afc841991e543619e58990ab67e8f64eba0509d4e98d03bd8793ef1e2af711d672573f5d50a13853f88a807648fb6da3759ed638efc2a688b93b3b64870e06a713b73daad11f96d34fc3934b76213b03b91b48e353bda0f257a9c1ec9da6a59e
f21a0e3cdaf0c3e943f24799fdb8fccf71d0898b7a69d1e7d50d44cb251f36fe5af3ade02db985de0192170a7472815c74ff51affc26bcd7424dc206a7b2f41038d425ea9d7b7a2d2f3a5f79d7f90ad33b20f8da9015d5edf471ce4be71c47dabeb76946
5f4d0a7321bf75f33b440b902272cdb66fe329c223e70b57e72609bf933fc7b87a2c10824d298ba60a2ef365926cc7cd7a950f83ec3bd4b10da7a2c94f2d10c7b11317301f898eaa82714dd606daa247d35295d6ec2e36c541adf9fd09a56393c5cde89f
2c9187c0c76c203ddf0488540c90950d400a4a441c5fcc75a72236302bdbe1b63124fba3f37857d82a6dc819c3a12bc98b42cb573fe240331f2499d848655ef89e0f152fb8d2f81faf7947d18efa6d0b4a1b54184625522858f08e71857f3c500cacacd1
36db376d7b7afe54f65ea8634006510b015811a19ccd3e73f0c79d2c47c29e8e6710af86049126133a5f2837319e952758ac1932f2daf3203b928bf7a55537c49a33e9ceb49052b5d90c6aa9202775b9603ab239d274f7438c409a3ea81650439b831665
4b29b1dc12aa6e192b660fe666e31bc860950a4dc4edb9d463d8eca70a7308bd1ea1e99a71566c304226146835d64446c3bab5f9d71d19e0599c4310cd26236f70766985b73e29d763d5cac5254d53b28283f7327dbc0cf71a8ed74f3450b07b49a9a434
80a386641279bf5c4e297fa4c353d7ca0909204a64241f36fd2115bd977fcb21f3a11e0781561042d13df3a7aa566c6bdd0ca55e705fa543516e6c7428ca85fe6fdd5fb3fa46037e312e314f57623e7fa0f20d1f01c03eaffb916dc1d40a8c4508998590
4a28b77f218eb3f45a8eefab548be617406c6949d203893b1c201582ad450717a3f23e7ec8603a3c64bcf6a264953bff8ead13a3f31880c0bbd01a0d91e71d7937c0afabc72cf5f55cb88e7488e6569e268f791743e3e181eb1aefac6b7bd9b881bf3676
2a59df3d61d608390c0374b17e7665654d3518ab5eb1e705868e376829b4752fa22a25c62401cbd36b097db94ce20f40d441105b3d307b9fed3abd9f3b087e827a8726eb895e4d77cc1557d26e381fa88ecc26e36c06a7582ee86162b9f97aa9ed594641
335aba2491d91fd52c1e5f7a6f1843ec316684c68fe3a2a09ce4dc2d1a3e19ea4f522bd460c18ec14e87d03a218d520fa492f8cea92e9e93dcd733f5996d9948eaf2f149366ba185f9a2181cf99db7ed7d4a25a2196413a95abb4646ed89f5b3ecfd839e
d7338d0613d18c99ed976695538e1d7694534a2a958be6f303aaa6e759b708d56f67f41ad0086e590f3bc131e93e9197fc131f6d31c312cd8c8b8ded590950d390b5db616bdc658098925a58eae09149afe15d3972c821eda68dda81971fb41dbd541498
4b33453062ca7cc62fedc36121d8149268cd495d366d5d7d54a9cb3762f9a26bd2927ad372c7e3a50c946a207410a8e34207176e2eb076971da1ca5ae4281d55796f89e57be2d60c225f96e147fa919bfa7c720867e13f0c919876f1cce233e76e9c1e04
671e80013daf85acc2cd74ccad6aeb05971f52952af01597969841a1a4b4b2292a80e2f1357d3a808e0a3bb70e5c2a0350dae536fc1cc2bc8f006f5c3df1dec6fcdd9695f13db527bb9be7e6f2049acd51ba5c76086993ba61056090412ffc607c48e11b
2f8c36b06b8bb441e08e420b4feeee0febe103178b28bd0c11e393e6bd4cca96563b9237fd9bc5f0854194430927390708baf7e5a5e37951633c11f5c57d646be28ab52da27bf5bd9cf6d9161b91f95946d1f1fe6ffb3ca4c0d290f40270bda5db8364f2
fa85d9cdda632bc68ba12dec58c5c66c7e7a542c69cf731833c86c9be9e9c221bb6d08d1583648251c6aefe0aecb3fcd1a8c37e9afb7ee32ca890ea5ede3529027017a997e4a6965e881b14be08e88202cf702bc57a0e53d9cbb2a2d491889f49253f2b9
dc25d9303b932dec36eec66bc59e1d2aa3b42487d97fc42285fcd24cf7ade0567bfb91e35b63f97ea4d86461d9dfec7e5bab915277439a4a137689837091214967d68814aa575a2bf2df751ca351e627d33ef30dd460b9b69baa64fa7fad906adfbdc08e
afa5f439cb8a3e385bc7dd7387af7a3140b68061cd59a187f6a723bb49b9dc4cad7c83cc63b2d94f32388368676bd9291c8210fb22d4aea54ac85e652420c3b240cf7acf1da6682e40f3d7e5356224d1e030cbee145694287119f2d5a931f27e9f0e24dc
0dddb1ddb1e7cb9c7b1e5c9451af2d968f8a7c2f0b452202a0c97d0406ecd50496a85f7bdf4213e47f1cc412afc01483b08ab0d52baed3dd649c4b493eec50923fed52923f33f584a0e8e1974429ef162676192f5605679c5cc2a544e3f60ec9a595fbcf
e14945e1b1dea0f4a643fa73ec4713abed97803bfd95c9bae2ac5d540e5bbb5da152658a426852e8b65d73773213396ded2b870fa1d967244bfd19cf327133e23c84744c19113f77566b6c716085b2a432c99d1972ceb115b9ebee173b6575b11745e3b1
004801ad781dbce450794179a2d4d0605f80d86db190387815a1904b46e9669432e22a0122f70766f61d845c2715706998399d483e37d425ee00811826b7310b66f66d67781ce1d697ced37e3aef822e34a6c8dc33deab2b94c69b57df9715876747f58b
3c29be1bc8e0e5bbf456e09f1a5572916738836c07415a52afa2a82b339a2138d409eae6a7c9bec592e243a07ec6423437516fabd3db82f242297abbe5af8891d8c9f0e1e484f7d36ddb9b6593946187c32b19ad35ec3973806933707b9fc3a3bc62b048
a9aa79680029247b3488653d5e3f1099eb0c1dc9d1d3ed931f013ac939edb5b170e34bb3f5080d11f55d110e41c27588092c5a8a1fa1b4e3df674969ad0af619a01b212f592f33d25219dc30e35388a667c77194ce77999672fafeea7ef868095ef7f5d2
b1c6f497a8ea147d86551df14a0501f3e0d23d17043988ef38bd30f468ead52586890dd49da672296ad105ac090f05e0597894a2a3a47807933578e61e56d56a61b94f577db96581881d481bb2a87207af3d3a7456047c53d8efaff55153da9f136ebbe5
e863c535b5ec897b567f9ff2edeef878db1eb33b194f4ac68161b590de364b5b16034720ab9193453c8999f309ef20c31de7119e55d75108551edcb6c6be7429523b583239768008541f921d03241711bf8fc8d7a34ce09e0d70e744390c3ab24220f232
bf4b2ee1733437d604cd2af2fcd855e4a1f3d7af8c1e0e99f17cb654e1f7906a0df520890ba07a483d46228b674ee8372e67f048a00f52ef8ab651859b4c7143cda798dcb23ead94c8dba85fcdc7975741039d3ab94d93d841adef900e90cde5a423df07
96f282cde67215f31f846a4078feba7751a07673db63032970a42640488cc5934298e8e6de15c47cd4101d64c510dc9051de9deb8aa7861cc225316b2137c1d50a23cfd355a679a199ea01a77211607af139b143f7b7ad4f4528c212c445f9f92a2c083a
0de763b98ea86ad3ac5e49cfacc99a7d2d519e0649371768b8c0154cf31e7fa4788f0521ef143bdbb0ca5880053ae7b1fee94ccaa73762edcdef06b0576865a567fd4853da8c5d121793ac20726643167c3ab969b1343bb79759432b992d9fe58f7d404d
719c17ff10e1797a57d8bae240a1f5c6e52bddbb7925f5145a1b07c90da3987c05c44ecb18a6b5ecb7ffa91c685e41aebf95b8c965ea74b4813b5cae6118dc3ea6ba2a8b28e366d86d7e048099d33ac1ea163e87d17bb192ed83c9f59979c2586878831b
7612324e79e7cd92521db2fa9da7f0943b1ec92fa852045e06b94026c8f21fbcc455aa5eb2f8137e5b00d7992b10043cc769b3acdf4cc4b30957004589f5c2d775f600e24fc9a03d4d3b09ab5092c2d70e20b8da0169203d960ead7bb4e29c8ea167704a
5e9efc0d6f219ee0c514adec4d6f9bbca9da994c961450cb9ee426e6cbe7826203e1359fb5d7e4cc210c300a694e71359faa761a20b28b031f072bbbd8041fa940315e9d23df32f884fbe6034cf88663666e2612e794e16d1cf0d776fbb102c6274f9ff5
4abf9e81746e390ddbea80af364b9c09654c0597bca57474ad4abe181d8d8f8a8e2ffefad1d1f1703a102a04dd05323d1daf853884b28b73ecb91b485028121155303e1a1f0f0f923f4e11e86b64e00b7c6a21d7c20408a279aa194581157a588fd23343
82d88a183038e211d1718b684cc631e9ba567ae9bb613400ba2c2e4f4c379f0c17aacaa0a28617dbb44b3e0db5fc14e809b6052e4434c70d80da03308e0e3771a91b20c730bb2b4093ef3b9ba1a69e598170c77486cb7d9205ac5876a120df7eb1be75d6
84866faf29dea83ddc958e27f18ce5eaa0dc32e32d5e5b4d8cc672cd1d29a1b6b5a8f192a1b1d7a6a3c9255dc5d05124f44e3ccd81668941b9246954f789653d1728f6fc48c95db9c6d15cc203ea597b0186c5b2cd00f141638c183d232f6ef10392863d
5c87a4e12ae294345c7f1308f55ed09a78596546bec15e1b6dcd48efd7097b227371ad65be5ceeb06603c2b5593e27542ce07d6cfe6c19bc27598ffaa097d0cf40e149fb4af7233a95c31e0097aab175ea14aa2c546c41f4112c3690816b8f51dd575ace
500a54124238357c6d18d9dc42803828b11979031108e384268778f9b2385a8fdb9bef70eb5b48c512b8d6cc8503831bef1c9a3464d94f935b0bd40fa9252983c933efd16c45582b78ed3a200f4e462a1e983f69943585946f5ef70e1fdb0e14ebf81163
98f120f2c189dd6c4f3d387f46bb2ec8f0162a2806b58c50ffa3203fbb99ebb91f3074ae1b0f536d279a69e0199d45bcacd64c9a23e1f162796b99900339147d2b1fa2e89b2c308152ada07500ecba6fdbce805243d2dd44bec1d2dba7e396c17cc1d741
a612ae0b0dd7c1efa2f413e2aad3304a89bd2084ace6821e17845614cff0a58172e6c6bd24661e623dc060aae213f39ae4b565ea4c8dafc80b6d17c587e70b4196c53c19ca8553b50e544a934abc65a478ba8d4bd52a4218cbe32048ad961a1ed4f955ce
04a6ef4cf7356722a13c915f291eccc47ae3f4a14afa89ca928f8ba1fd5e792c7b876aec87efb40a15bae1f8e754243853a5e5f0fde6c5f0472dd72be492305754c52f22dc5cc0cf9cd3475a2ca1154bc8244412cdc488d2564af7579589fb5a8de86c79
fb4e206fbf94a358b2481fe96864b65ffd4b6d571ad5461585f51cf70d776d6be168ad512b454b6b2b5b5c5b2b0a76112c29c44a156da431a53425db78dcb09636b608114a1215912284282d4d59c2686bd9219625296012858448a6644cc2244c328b6f
12dcb7735cf223243393b7dcfbddefbbf7cd42e846e69e61f9b852bbbbfa7ef2c5adae71c179f4ed5ca6aa0f56381202c4de9febd4b972a62374c56ba5921e556b2cf4e6af71b393391985af0cb8637f756b33b8d81c02d5429bb771e6f897f69aedc6a5
ede11bb9feaa343deae582e586e30f93cf33d129646ea2377cd7f1e389ae50b52b1addb6f5702ef3a019416b35734198f0cd65a12793993af39078aee66b770cf65dfe143ccaf4c298ac51404d23b30a27d38794311473d9df67a0614b1d38b5f0b1dfe3
ffae554fe8371d8ffaf5f5b9473f791b84fd47576d8cfeddbff540827b5de07c96e3b9a7f67abd1a17711c94a414cd47afa81beb3c10fdca68ce354f5e74c51737cfe67c7399b1ace8de6b526f45aebcedbcc26f2ef35d7aab7af59b179cb760ab70c309
bde385672e79f8a98738c6e68b3e191e83a211a445b43593c444a367b6744a78d2564c0b07e2f78b87addf49eeea874475d46d1a78303b08cb49431aad6eb0f6aadb1d48fc545fc7384da6dad8329917a22b66c6e5935af318e5d5ad84ac5e7f0047e929
1c0fe6d7645578ce744500e17a63d240d804774db78a04037bec25cace25ecc640c9a755e54a61dc0965168e93b55ebfb7c19a56715abbc698436b5248a3a5dbc42517aa3f4b2733e3ad1bb450e0cb2d4f42fecfe8047e6d400cbe7c4a07cfd02f615c3a
c832f4601a92e483bad25f0a2110dddb466fa423c9c2e22840a897b4d02ab5b12b151195ee7a0593b60f16dcd65fbdb9433e41ac2f389fb574dfa0c8be84ab3026217815579e45eca4786607698129272a91d66542a67e7f6b3335988dadcc214768e934
742cc05712477d2387d0a67b29b101c66068db9169b690f37525fdb20700f2f16f273614ea7aba5287360d164c8a06ee383613376891b6cbb5b1d3d53a58c58bf78e1afd05b00ed89a3369c4742b309d568f1828ff0a3169a2a92d5c0e1d74585ed2d3fa
14d9252c3640c7b52a683287674f1442847bf6db097a2157dc65deec4cb95b39fe9d39cbf3d8fa3843c41ef5f1423a491ad8a9286db4e94bbb0ef989c99225b8bf8b6b52043885045d01f902bce918836155335d6730bf71824a1544d07a3519a45aaec0
e9fb2027e2dec8c2c507455d12d2cfba5a6bd74868338fa6a5ce7329c2bb5cf781073b83d91c6cfabec83d201fc93b53e9de63467da5751870e7e974d92dca1c7d4fb3b73fdf9c317e9b082989c0757d5cb8e13065e33eb4843e8ba5a370bfba438313a8
e9a0c351d21328792cc85e4f07cf5afd56a9d784298adfe6889758219d05920eb49478b0ef634393cf521209c2f16a7753f6e633077ce35b1f87150e8d544dc77d922e9bec57a7270da98953463c470b8be8c63a5e9fbf2d528ff9a08f28ff08e45b4427
e1624c77d4b28d3f1d448d416daa4c857cbb3c89eb3fa14d8e4999a764587fc3ee7c4fb19fb20be2aaaa163e13931269523e63c97b2f7fea718ec8943f256dd77b96e550cd91a023de0b7670edbf28884c4dc31d14caa3dbe86ef8cd342a8b5c48c7bb34
52da2ca2b1b583a53fa28f0e0430e48315e21101053e9c649ee87fe3c4b7df7e3b53dda3dceb259aaa53ea244ba3b8593b9f3f75d261309833ca0ccd03232506485a4e13cb4b0d6d153142dd1dea98a8479af68f9bf66eb62f226d27b5d96d0a932879cf
a1ef22d449511dd5bc55459ea8760db0e1fb3f199b9baa8725d7d2cba12e8a2bb315e09fd28b30d840f5acb869351e31610446f16fdc0af7b152487fade4d80a6e6b090a7350da3bb8c65d81aeddb34e457b78eb542d434dabec79293220c5779ca5c432
992aee64a7f81c9ebd44c5b32516624baf19166f77f4724daf058aa1cb35447e626f1a8461b68211be341193447bed251d1ffa17744ed38f92e811c80aa1c120da987f03dfce38c36048983e0dad62b2db8f5fd6b1d81aa46bc9f90aa73987d8503fd121
902d996a7d88927a98691dbb190e2c71225d74cc51df2683c98068b44c3802e8e476c27554a931b3b591998095219ccfbb77b1f19a23db0148b2d53d75227f533a54f7a22f804c6b7366aeebfa9496f665d16779bec09898d6175b1ac32310ac64b19b6a
1f26233fb73c55e5ed25bb16099bd6b20ef57b5ffc02b0631cfa756ea5036f4ecdb6c49721c797f7df8e777874467bc94598701ef868c882142eb8343f5a4fe6485db2eb7d50b778961f6ce6f1503048af2daa07dc81fb08829a3820de300a9170eee046
84a3dbe5b3551b45cf9d5d3f9580641a95c2fadac5de82b45aafebd4bcc5f4d394b1d9b8246a0526bc35f47993131d20fd1ed3c1955ac271dda9475b8da8fe33ba523c02a3b0a38b5d0a37f6fbad1339be51c8731f33ada7bbcc15c44779e64012cdc9b7
e86e0935d2ea398039d184d00cfad683818325d4665b6ea28192bb9e039056b198c3e2ac905c3dc2a35398a425cde7b4399a5e4bd86758983dbcd63733beb52ea8ff7ae12da6e2fea355a63d3e57acaa3f6fba3f9806666acd480780884fa53e2334f947
86ac5541ee273a3a32086b01d988554436ce419eaf81c56610e833adf2c1598959891cc6c6df3d1d960b484a06b0afcaab160508dc5b085e0fb1d292fc262eb4b0ddd3b45824909181fc1bd989f9b2a9feeecdae8c62a460f7dbde1d4948b799d5ed8093
fa20d97cefbae77bbc9e75937b0fd277ab8c8a16ebbb0ef6f90909b2d9fc5ec56c7499e14864d2c209c5e642f7895595cc8837a70f2bc223eecb2f6646acf52be4e3ea497150cb6eb05068de8f56996c5eeb44b3fc50ab13f6e68ecc81f72ba24c9db05f
42add7af9a9a91a509bc919f674c2dd7ae831d9fee545d58ddc1831d9eb06184129f75c85ae091dbf99af8a4201f6da4969a2195823c365e244bfc554fc6e68923f4bd41bf55c3f4568d9cf9604e60b6003c0dc6e12f661a06aef8b4cdb03bcef025fe2e
322ba8e0deb97067517b08349625514e7419e806b05546d0100e9b1852d49ac1a70bdd593e34f8e35ee0f0a6b1cc25d68c6eff03613c2681976b87e79a7ca3068d959dcd2b7b2a33c2298f06f7a8ea49ec2ee9e286e7e960b99e1a319dc5747eca1f87df
b12b11c7514867bd1b3c2e52cda656ddbb46bc9b2a536becfa0e79f5fe1861f1e1f82f76be5d293cf428134f354f255ec64e111457ef57233d67bad578a931904558245bdb9e5b2ee3272db32e9b0faf8c2ae36f9a0f32006c729137bad22df61ec04b4f
cfeaf14e49cfc0ac133dbc12aaa983da5a06f690516c881f4ca7d784f6bdf0cb761a965360881855cce73d67953199d67b275c4271b2b1d95bb76f97ea40ff11cb73f58bd0ccde89c3f113a2b66a1d358aab7813fe4971fd3eeb2194e93f9ad17919bfcd
310afa5655b987ad0db845dcef252a24b6eb3a3a5b496b07354c37fcfa6710601611dda55b437f6b0b755a5bacdef97e3e2b435894a85f356f10b517f0ac39adfbcb91c3da58275e2542b44af400b44982f9e381686a2999e9109a691a982db8498f2526
7b4d22af1ec998cf9657eada725e94613473145b4ce6eae9808de58e9d0c38b5c9a9bf56335f58cdb86135735d7120bf69ece164b459e49f679078ee51f0ab9b2fc23a4a87accfd54b0d0572869d3183ca570f9712c1dd3c0e0a27bd38da3007b80ff058
76c14dc9f1daac8a9dcfb26b8fe7b3dec31d0e75fbce5ddc83d5e50673eeb28fbd04b94d6554b7778a269f04b19f9dece49755d1eca3ef92fc96b98633f46dfb390e79c83f08a9934db2e4d9537e7d56c50ee5cf0233b069759c21a3b6583f94a11446ae
f9d1f03f5bb74bbc91ff049939f9f3e6216bc36c63afc904d51803923690629c667c0097e2ba6608833201200c8d003f89a676b4cfdf9b0501914043cc3862561147eb73a6c434308ad6de9c51b02353835b022a4b80e7103f6f00a94564eac40b154f42
3dbd2a008560c068e0c4c3a416cc0892918ddec4230e1040c72c30a3f5af944ccb3c1b72f48a609ddf1628e0ca3e4e4999c876a06f042680959799da96ddd74d9946e0404eea1193d51844f583bc683be208230490b4cd752d263e479c5ed21feb5f20ff
7af122d6daa904f5f537bd19583abfa96575b481f7a2063da5002b472f29d9d9ceaa74483febe4bf94f47c8f7a1db9b00baae017f0f1d84fe845b8dc1badeb570b8c819ee3c314d91b524446644af1759a9463aecd62e52e0d83f5485cbb976bc8695d81
b1a0d3870cbb79ce546adce26536c48437f0ab7e9e9eb9af2b55b62b07b17a8b91a7e7af0c83963e867b238735ae3c1083dcc7a8b1c974a8a7936ef3d4d2cfd9e05c6a04e123647cd8da4c1088e60dce7bbe75634c4a7bb335d951864c996fd09bcaeaf3
d5f9966a8e696f20fb62aca377882d2e67cc0a9129dae86004ebc72cd056bfada022a54678623d72aa6ba29a15f966427dfc17ea7dfdd16e0e6c65ed38b851a8c232a31b96ba15fd6b94f0bdf3b994d72bc8a59ab35497f8ee2e0243838b6989045b796f
9427cac17125c281a843118cb5f4b32197b0574319ba87e682f6416f8eccb3aa745716e0f42f77345c731f5e5355bc60d89980a434ba5e52f4fb372f60da4fd4630555e3c621eb01c261aa859149b10d5e0a6c3b4ce77b133d6a6e384c0904925327c3ea
66066b8788ad3a3f3139fef340d2c4540247b023b392c1a702321305f66c4df0eb5a36bed728026eb9872703bef82c3d6cc9602253612f09ce0e7d3b1d22e89daa26d5ceb7a3f5fd43526ad3b3be207124e61706a4b358ec37c279a881ed3dd2d8eaffde
3de4b66fdf0e02384530b39d7fdfdac71cf8cdee5441dec2a6e0c333939542ddbed3b31eb55ace71189e86d7df53ce25f79d52af8056634259928dddaf6b6d24e60dd338fe0ebd0ad0abac7d131233911634c07e5d9a6fdaf633c3066cd5bb6ac16315d1
0697044939b6d29a972bc1c149c3bbf6a9dd4690473f12236be76c803c37f855ec094d0d84efcd228a74be34279865cbd80206b18cc75d2ffe04981971816514765403d67ce1d4745fc8fcb95e47e227a060cb22c914caea18b6a236f51238402b89b1c9
506442524fb1645e9e745eccf0de0dab7f46520ecfb34a3900e4f306961c0175548ed1befd9a683db2430d95be4726d16793c97b62016d3daf85357e2e3cc8eba14efebe9425ebc68dca6726d56a68fee08874ad6a5b5b9bf8913883553bd928921e1d5f
c34f12099177a0bb288dc761bb07f36cfcb470cb72683593ca09da1e21f78582f96bb10c635fcf40e9744f182c4603f1d28f69f1a741147f51490ced1888dd76d45b1f6fe73942006bc4bddd1d9a1a38c44c993784902876a4d3a6509b8690ec91aa70dc
4e87aadf36bf56a87667d4d7963898c8f7f7017a3bd66c90e6a2640fcc97fd1a6b3f47ad8bc50ec30c94b062650d40d89767fd780ed7292fab817ccb4303b6c4eb8de321e7b7333cb67d7b98c78ad5449bba3373e98e83efce25d1f58b841d873157e9e9
0cebde1880a2337150fb50b29612015d3d23e92d655706e20f0264792c9e9c8df41a264ab72bd913759842504b06cb7e9a4eae06404b58af4f693172a069899c309dd23a622de58162f8bbbe309f09509cd9a0086d68d4ad877eaa0d5c933616bbe50806
4e79e717590cad6126e41f62a3ebccce24bfff185d05a84b86e98a08148089bb1ab0da2f695e1f87afad56dca3dcd29e8c85b2e0bfb14e4099c5f1458525ae350eefca1c06d85b8fbe5e65dc5bdc919a9a7059c166e1abec054aceb84e06a7da6ead7125
202d195b33c76394f2382877791be1704c8c12f9fa84ebce6eb991c90e5834ce307f282043f009139ac89dc3c0152aa28e6e2ffc23bcdab7b276783624b3567e325c60546e338f2c5582ec86695f2c42bc8f9d02785a841bb4e990a9cfdf0994b3d15b4b
3384c68665a18c0637fdc5b2cab1715bf36a0710e918ba99016706a8ba407c6b30202acf1a0927977a564b8468d62f0e1714ee9a9363761bcb593795909738752d47f4c706fced3a4801ba451268daee50489a5a4e55c7745cf371c54d5d3174b94d01bf
c3a51e94e1119544c73aeae4f152711f349d59b1a60411cce5cd2dfa2a2f901d839559a1a8f59670a9159d31f49604225d86dbd9a0885ec3fc38cf6e806933f3fcb767166bcbd5031797ca070e94c813b29c6902e0443f92263db9585011cab55e5011ef
fabfd1134fcfedfb9928d2fb529b2e3dd1235fa77b1b74decad539172cdd3331272d36165ad6d3b17e6ed74ff090101419a4bba356bb0ebfbc6fa0e4baa97619352bbb5177d07af7024f0fbc18b7436b65b8ee56988801332e3d081357a89efd49585a42
059f85cd0a89c41869738c9d784d5d173c505c3928be30efd599294773306ca24b7f9aee4406b0dbee95782a124a1eebb6fa8bc16ac3fe89aa86a5b519ca1c9590e7e9816e8ca04bb83f19f67698e0bd434bedf4ccb4fbeeb8104dec0925d7af8653ecda
c9ea56a156f26e90aff873a3b5c4b4fe89d168ec0f8d76a203b5c2b496d86293e69b76bbda53e0ab766d949d7c8920dce44c752ef063f26f4c14dd474fbb6789c440c4afeb1afbfecbc0d79bc0b382c0ae5f000b2f5303a80176a5619a9c3ea986f6c3f0
9009e0f656681b5a3e7f0653c0c7016b0f7da08589530384669493f15a1be5b94131890e9b3975c0ee976d5affddcbc935892b3a239d810d852f553d25def6ce0acce98a365a812c067dd3bb7517e176eb41c27383a787db097cc8a0168289b0ff090431
69e5f688a92fbbc5df47464626492802ac8eeeb6bbb55cf80aa88dd1c165e067d0cd30e1e989016fa146e6e373893f16cbe6b649ee2b2a201a16713e64b4cd4f74858e7e23d423fc7ab86362836c4e0b57b0ab1689f07bb62defffae79f4858ad3f98da7
575522db2a05ab4dc3ab278aea6bf7b5cfcb4c5fb02fb6b9fedef9393b3373ffa7037f84c6f762998d5d1476644c38a2a3bb62e030e794ff8bf7d0425c367ed2a06647a86767a60699758508351b4a229a6e9743604561d65b25122c2bc5c3e1a1e0cac0
5b28584c9de8af10f86d873caa3055827bec774fba7bf6bfb427ab2281f24d8f6d79772eb67e1cf962f06795c2fa13b4a7deca9215cdffa726fa8f0edcb5f6a639df93bd86b4817dc3283ef6f6aff108a6414d7be34309c8f76eb75ba028561f46bb3f5d
119a1914113e34121cfa5e0c5d184147142caedf79c0f1500173d664ed23290fd73ff8ccab3f00504b01023f001400000008001a7fee54f701a255097900007cd700001800240000000000000020000000000000004c6576656c5f315f4175737472616c
69615f30362e706e670a00200000000000010018000092b601d597d8010018aeba9e6ed901005daa01d597d801504b050600000000010001006a0000003f7900000000
'*** 09.26:
score_512x36y.png.txt '(4996bytes...1st byte:89, last byte:82)
89504e470d0a1a0a0000000d4948445200000200000000240806000000ffda82f3000000017352474200aece1ce90000096349444154785eed5deb95a62a1064323114433114433114433193dd73862e662dbe1ef0ad6bdd3ff7ec7c0a76358feaa281af
10c29fa0ff848010100242400808815721f02502f02a7fcb582120048480101002df088800a821080121200484801078210222002f74ba4c16024240080801212002a0362004848010100242e085088800bcd0e93259080801212004844022007d2730ce
40a01f3ed7f216fc65bffcff0901b5ff33469febeb787bffbfda038cbf08c0c91e797b0790fd2200220039022240270fc42fad2e23007d373f07c01ba05f8ad76e66730707cefcf7a6752402fa9261f8fdb9aebb97a4338df3eff1ec9f9aa90af3a11f7f
7daeebdbaa72ce7aa8999a59559efdddfc31f7f386fef72fef0abf9f6537ea19c8ad9efda1f2bb4b13e6edc631b2cbb5bfa903e069fd3f4c73bb3cfb6fe7b7b33bca41f579f3cf9708c0418853b122002200ff3609118088463691d7cd7ff97bdcdfea78
f4399dffdbd0795522009ffd2f02704c932c1200017f0cf05c2a1cc103406de48fc8beefe388d2b6f389751ce3c887df4b91027fdfdeca01d70f2580edaf8ffc2d446ea202d034f390799a2cd49ca202d0f5758a428a54fbca10bcb2b970fd5002d8feda
c81f01621214f873cd5c0829147815bfba32002d968307b87e2801d904583bf1c35e9be01b127a260843d62d16ba3fececfe90d56f7666f65702ffd3efa3e15efb1fc708049eaf75d8d2e74be566e5598360fb35ff9490dce7779e7f92022007ec0370a9
14118038328b00cc2320118052cf31bc44008cf88b00d4b5183df52f02220017b787b504a014f9b3594b9580bd237ffe1e28016b158001a19913f9737d4b958054fe41ed034ac05a05a018f96700c43fd42a019501e86a74a004ac55005264ee44fe99f9
0b9580bd237ffe9ea404ac54004a91bfd7fe6b9580bd23ffcc7e532c910b2005607557daf4a208c026f8b6bf2c02b04e011001886dcf95fe450066082c5d0a1001a85c835939042682a125809508eef39a08c03e38ae2ea596007044deb651f203a3affd
00ef3d5e9be7fabc2cebb54b454b15803c224756d7d2dd0d9fdfe3b579ae6f6ffb972a001c9163785e3a4c7beff1da7c569f03f35aff2f5500b209196bfdbf6ffec8bb85f31eafcd737d7bfb7fa902c01139d6fa93b255390078ef71f9d9bf77f6bf0840
a5c30e7e4c04e060804bc58b00d429002200f396240260788800948698d9ef22008be0faef1f1601b8d8c52502e0adf5b7ede7ecf4718c69dff89dff0d73f1772f3720d58bec69da46e56d23a985b35601f0a4fe69dc667fd3469cbcdc00d4cbfe817d5b
edaf5500bcb57e4b7dc8e0aef5bf6d8a08c1d925807a8fb2bf5601f0d6fae918858443adfd2917c2c90d40bd47d95fab00786bfdde6e9e5afbd1bfd1fe393700f51e66bf72006a87ca439f13013814de72e12200bf2b002200b10df15abf08c0e7be553b
018a00c47e2702501ea3ffe72744002ef66e2d01c0da7d6f8baebdbd58ca01e001b1540e228bdb2900214a108de53e4cb6af3984df73007205e4f7721099df4d0180e4dfd91af660916b290780ed2f9583c8fc760a80d9dd981235c1ed852580ccff8572
1099df4d018074cf393ca51c00b6bf544e8afc2d42970270f1047170f5220007035c2a5e04a052011001f86e4a2200a6888800cc97b09c814604a03402bffb7711808bfd5f2200f83c44e68800d25a34d6d2ec0f1d9d8437e0243cfb9db37ba12070d6ff
5d1480643fcefa27fb425acc8e4f96ec0fac9d1b3e7c57c05d14801ffb61dfbcc1f2550925fb79ed1cfbf0f9ae80bb2800a99d63c267c187fe5db2df78e40f88a628f06e86bb2800dcfff9a43f56004bf6f3f8010521dbf52305e0e299e19cea4500cec1
d9ad4504a076178069bd2200b3b6240230ef5aa5095004607e56b208c0c513c0c5d58b00dccc017008ee020033ef829d651f62f67b6f59ecc809184c1bee6877c060bb023a5b3446ee406f59f483a5810f214eb077cd0160fb5bc30339012dcefa77ec1f
2df247eec0087bc9febbe60098b9c1dc9f8e4ec692406fa1bde7ffde9842ca1d40e48cab118c5fdd350720f3bfdd92899c00ec7af1ec87148edc81d16ea3e4f67fd71c00b6bfb3f69c227acb89f1ec0f746ec860fd25b31f91bf14808b678673aa170138
07e7d50a800840243c2200d6846cf723246b1180888b084064702200170fe80fab5e04e062879596009800e073b1f4bd760d9097c29fa200a435d194fd3f5f042e4ac0a60177a405c3fedb2b0006005222781740c9fe748010dd9a678248baa6fd2e3900
588b07014cfe6f4db2a05d0025fba1a474e31c00f8ffee0a00ec1f4dd1e15d0025fbd32e004a0649f64b01b8784638b77a118073f1ce6a1301a8db05904d0022007129885a546902100188808900cc0fd21201b87822b8a87a11808b8047b5250280e7bc
bb009003c027faa5f28dd1b7ad4db4cef9014fbd0b209d0b80dd0eb42b0059ffe90854e7fc80a7de058025003ed12f294518e7edffdef9014fbd0b209d0b4027faa56e4db7057ae7073cf52e00e400f0813eb01fbfa3fd433164e54077015c3c115c54bd
08c045c08b00c491b9f63a60ef2e0011006b4974a4af0880212002f00d8408c0c503fd4dab1701b8d831b50a002b017ca21f7e8712f01301ccd7c8f90441ef4c714f79d80a17d7574b0050ef0f11989fe897263c3af780f74df309821cf9b37d39f1d886
00d7d7d85a2cdf87de7dbeea20a4b579fb8ca4002400e8fba81c560038f267ebf856c06dd687946390fc69c485edcfd636ec857437009de897cca79c8086721d5801e0c89feddbfb5ae0ac3e5b93c9ec778047a4ce27fad5b67f560038f2cfeca77346b6
fa3fab4fd7016f8574d3fb22009be0dbfeb20840dd39002200110111006b092200df407807fba0bf7807076109400460fb18fee4125c0200a3d6def7fd6450cef876ef3639fe3bce03e06f424e009f0dee95cbcf9522ffa33140e4cfed8cbf7fe2936eec
055602702780677f4859ff91709422ffa3ed47e45fb2bf560948c97d74325e8a2c1141dbff4b91ffd1f6e304c292fdb54a007631b8fe8712803b1470fec1d1867ae553f666a600a419fcf36d0fac04a409ddf13f5f035c9af80f87851aa067bfe69f633c
e1f593afbe0b7ffead520e38d701220073bc45003eb73f56024400224e2200f3f682f15b04e09871fca9a5ba0420844800f881a71a7af7eff608d65bf097fd9f5ba8fc7ff79ebbcff7a9fdbfbbfdefd38ad697c2edef4b04603d986bded400f0ee0140fe
97ff3f212002b86634d53b4b117009c0d282f4bc101002424008080121f05c049202f05c13f4e5424008080121200484c05204fe02dd7bc6882f81e0680000000049454e44ae426082
'
09c:here 5 texts (09.27-09.31) to copy into notepad and save with the name.txt into: .Loderunner_L001/
*** 09.27:
.Loderunner_debugging_L000-L001_subs_0002.txt '(2737 bytes)
'
'include .Loderunner_L001/.Loderunner_debugging_L000-L001_subs.txt
'********************************************************************************************************************************************
sub bug(x) 'debugging
if ae(116) = 0 then 'L001
if x=1 and a9(112)=0 then color(0,255,255)
locate 0,7:
printr "v13x:";v(13,0);" "
printr "v13y:";v(13,1);" "
printr '"a01:";a01;" "
printr "f01a00:";f01a00
'w(900)
printr "a04:";a04;" "
'w(777)
printr "a05:";a05;" "
printr "a06:";a06;" "
printr "a07:";a07;" "
printr "a08:";a08;" "
printr "f01:";f01;" "
printr "f02:";f02;" "
printr "f03:";f03;" "
printr "f04:";f04;" " :color(255,0,0)
printr "at7:";at7;" " :color(0,255,255)
printr "a_end:";a_end;" "
printr "f_end:";f_end;" "
'
printr "ak38:";ak38;" "
printr "aa:";aa;" "
printr "ak1:";ak1;" "
printr "ak2:";ak2;" "
printr "f_all:";f_all;" "
printr "az:";az;" "
'printr "a02:";a02;" "
'printr "at(3):";at(3);" "
'printr "a01b:";a01b;" "
'printr "a_all:";a_all;" "
endif
endif
'-----------------------------------------------------------------------------------------------
if ae(116) = 1 then 'L002
'locate 0,0:printr "v4:";v4 ;" "
'printr "v5:";v5;" "
'printr "v6:";v6;" "
'printr "v6b:";v6b;" "
if x=1 and a9(112)=0 then color(0,255,255)
locate 0,7:
printr "v88x:";v(88,0);" "
printr "v88y:";v(88,1);" "
printr "a01:";a01;" "
printr "az:";az;" "
'
'printr "F123456789ABCDEF"
if f01 then w(900) else w(777) :endif:print "f1"
if f02 then w(900) else w(777) :endif:print "2"
if f03 then w(900) else w(777) :endif:print "3"
if f04 then w(900) else w(777) :endif:print "4"
if f05 then w(900) else w(777) :endif:print "5"
if f06 then w(900) else w(777) :endif:print "6"
if f07 then w(900) else w(777) :endif:print "7"
if f08 then w(900) else w(777) :endif:print "8"
if f09 then w(900) else w(777) :endif:print "9":
if f10 then w(900) else w(777) :endif:print "A":printr
'
if a00 then w(900) else w(777) :endif:print "a0"
if a05 then w(900) else w(777) :endif:print "5"
if a06 then w(900) else w(777) :endif:print "6"
if a08 then w(900) else w(777) :endif:print "8":printr:w(777)
'f08a00,f08a05
printr "vy1:";vy1;" "
printr "f08a05:";f08a05;" "
' printr "f07:";f07;" "
printr "aa:";aa;" "
printr "ab:";ab;" "
printr "ac:";ac;" "
printr "a2:";a2;" "
printr "ak40:";ak40;" "
w(900):printr "at7:";at7;" "
printr "a_end:";a_end;" "
printr "f_end:";f_end;" "
endif
endif
'-----------------------------------------------------------------------------------------------
end sub
sub p(i0):print i0:end sub :sub pr():printr:end sub :sub ps(a$):print a$:end sub
'
*** 09.28:
.Loderunner_L001_quad_0002.txt '(792 bytes...1st byte:89, last byte:82)
'
'include .Loderunner_L001/.Loderunner_L001_quad.txt
'********************************************************************************************************************************************
if ae(116) = 0 then 'L001
quad(6,14,36)
'---------------------------------------------
'quad(nr,size,pos)
quad(14,30,34) 'settings
quad(7,5,19) 'ladder
quad(7,5,35) '2nd_ladder
quad(29,51,42) '3rd_ladder
quad(29,51,83) '4th_ladder
'
quad(12,20,24) 'ground
quad(13,25,29) 'score
'
quad(30,64,63) '3rd_row_b
quad(31,69,68) '4th_row_b
quad(32,74,73) '5th_row_b
quad(33,79,78) '2nd_row_b
quad(at(1),9,13)'lode_runner:animation:at(1)
endif
'*********************************************************************'**********************************************************************
'
*** 09.29:
.Loderunner_L001_steer.0010.txt '(4931 bytes...1st byte:89, last byte:82)
'
'include .Loderunner_L001/.Loderunner_L001_steer.txt
'********************************************************************************************************************************************
if ae(116) = 0 then
if an_a98 = 0 then 'angel
ak37=ak(37):ak39=ak(39) 'l,r
ak38=ak(38):ak40=ak(40) 'u,d
'akud = ak38 and ak40
if ak37 and ak39 then ak3739=true else ak3739=0:endif
'
if ak38=0 and ak40=0 then a02=0:endif
'
if az then f_01() :f_02():: endif '1st and last ladder
if a01 or a04 then f_03() :endif
if a05 or a07 then f_04() :endif
if az and at7=0 then timer(7,50):endif: if at(7)=3 then ab=ab+1:at7=true:at(7)=0:endif 'at7 timer
'
if f03 then f03a04 = f03 and a04 :f03a01 = f03 and a01 else f03a04 = 0:f03a01 = 0 :endif
if f04 then f04a07 = f04 and a07 :f04a05 = f04 and a05 else f04a07 = 0:f04a05 = 0 :endif
'
if a01 then f010203 = (f01 or f02 or f03) else f010203=0 :endif
if a05 then f04b = f04 else f04b=0 :endif
'
if f01 or f02 or f03 or f04 then f_all=true else f_all=0:endif
if f_end=0 then
if f_all then 'f_all=true'v13.x
if at7 then
if ak38 then if f03a04 then ak38=0:endif:
if f04a07 then ak38=0:endif :endif
if ak40 then if f010203 then ak40=0:endif:if f04b then ak40=0:endif :endif
endif
if a02 = 0 then
if (ak38 or ak40) then
if f01 then v(13,0)=-3.24:endif
if f02 then v(13,0)= 3.24:endif
if f03 then v(13,0)=-1.07:lu=-1.98:ld=-4.37:endif '3rd ladder
if f04 then v(13,0)= 1.1 :lu= 2.01:ld=-0.4 :endif '4th ladder
'
if f01 or f02 then lu= 4.65:ld=-4.37:a:endif
'
animate(11,8) 'go up and down (upper limit + lower limit)
'
if at7 then
if f03 then
if (a01 and ak38) or (a04 and ak40) then a_end=true:at7=0:endif
endif
if f04 then
if (a05 and ak38) or (a07 and ak40) then a_end=true:at7=0:endif
endif
if f01 or f02 then
if (a01 and ak38) or a04 or a05 or a07 or a08 then a_end=true:at7=0:endif 'arrive F
endif
endif
a01d=0:a02=true
endif
endif
'-----------------------------------------------------------------------------
'if (f03a04 or f04a07) and ak38 then a_end=0:endif :'only ladder down
if a_end then :timer(3,100):endif
if at(3)=1 then a_end=0:at(3)=0:endif
'-----------------------------------------------------------------------------
if not (f03a04 or f04a07) then 'only ladder down
if ak38 and v(13,1)<= lu then v(13,1)=v(13,1)+.004::endif
endif
'f04a05 = f04 and a05
if not (f04a05) then
if ak40 and v(13,1)>= ld then v(13,1)=v(13,1)-.004::endif 'down
endif
'-----------------------------------------------------------------------------
else a02=0 :'f_all=0 'if f01 or f02 or f03 or f04
endif
endif
'
if f_end then timer(5,200):endif:if at(5)=1 then f_end=0:at(5)=0:endif
if f01=0 and f02=0 and f03=0 and f04=0 then a02=0::endif
'
if a_end=0 then
if v(13,1)<-4.34 then a01=true else a01=0 :endif ' 1st ground
if v(13,1)<-1.97 and v(13,1)>=-1.98 then a04=true else a04=0 :endif ' 2nd platform
if v(13,1)<-0.39 and v(13,1)>=-0.40 then a05=true else a05=0 :endif ' 3rd platform
if v(13,1)<2.02 and v(13,1)>= 2.01 then a07=true else a07=0 :endif ' 4th
if v(13,1)<3.64 and v(13,1)>= 3.62 then a08=true else a08=0 :endif ' 5th
if a01 or a04 or a05 or a07 or a08 then az=true else az=0 :endif
' -------------------------------------------------------------------------------------------
if az then
if ak2=0 then ::if ( f_all=0 or (f03a04 or f03a01) or (f04a05 or f04a07) ) or f_all and ak1=0 then
if a01d=0 then animate(24,21):a01d=true :endif :endif
else a01d=0:endif 'standing
if ak3739 and akLR=0 then animate(24,21):akLR=true:endif
if ak3739=0 and akLR then akLR=0:a01b=0 : a01c=0:endif
'
if a01b=0 and a01c=0 then
if at7=0 then 'leaving F and arrive A
if ak39 or ak37 then a01d=0 :f_end=true:'timer(5,150) 'aa=aa+1:
a02=0
if a01 then v(13,1)=-4.37 :endif '1st platform
if a04 then v(13,1)=-1.98 :endif '2nd platform
if a05 then v(13,1)=-0.40 :endif '3rd
if a07 then v(13,1)= 2.01 :endif
if a08 then v(13,1)= 3.62 :endif
endif
'else :leaving A
endif
if ak39 then animate(20,18):a01b=true:endif 'go right
if ak37 then animate(17,15):a01c=true:endif 'go left
else
if not(ak39) then a01b=0:endif
if not(ak37) then a01c=0:endif
endif
if ak39 then v(13,0)=v(13,0)+.004:if v(13,0)> 6.2 then v(13,0)=-6.2:endif:endif
if ak37 then v(13,0)=v(13,0)-.004:if v(13,0)<-6.2 then v(13,0)= 6.2:endif:endif
else :a01b=0:a01c=0:at7=0:a01d=0
endif'if az then
endif '280/if a_end=0 then
endif:endif
'********************************************************************************************************************************************
'
*** 09.30:
.Loderunner_L001_vector_(size and pos).txt '(2577 bytes...1st byte:89, last byte:82)
'
m0:
data -2, -2,0, -2, 2,0, 2, 2,0, 2, -2,0 'v1-v4
data -.26, 0,0, -.26,9.28,0, .26,9.28,0, .26, 0,0 'v5-v8 'ladder_size
data -0.37,-0.40,0, -0.37, 0.44,0, .38, 0.44,0, 0.38,-0.40,0 'v9-v12 'loderunner_size'.............................
'data -0.37,-0.40,0, -0.37, 0.40,0, .38, 0.40,0, 0.38,-0.40,0 'v9-v12 'loderunner_size'.............................
data -2.5,-4.39,0 'v13 'loderunner_move
data 0, 0,0, 0, 11.54,0, 11.54, 11.54,0, 11.54, 0,0 'v14-v17 'green brickwall_size
data 0, 0,0 'v18 'brickwal_ move
data -3.24,-4.75,0 'v19 'ladder move
data 0, 0,0, 0, .98,0, 11.55, .98,0, 11.55, 0,0 'v20-v23 'ground_size
data -5.77,-5.74,0 'v24 'ground_move
'
data -5.7,-.45,0, -5.7, .45,0, 5.7, .45,0, 5.7,-.45,0 'v25-v28 'score_size
data 0, 0,0 'v29 'score_move
data -5.8, -.2,0, -5.8, .2,0, 5.8, .2,0, 5.8, -.2,0 'v30-v33 'settings_size
data 0,0,0 'v34: 'settings_move
data 3.24,-4.75,0 'v35: '2nd ladder move
data -5.77,-5.77,0 ,.19,3.22,0 'v36-v37 '2 green_wall pos
data -5.77,-3.96,0 'v38 '2nd row,1st stone pos
data -2.90,-3.96,0 'v39 '2nd row,2nd stone pos
data -.7,-3.96,0 'v40 '2nd row,3rd stone pos
data 3.58,-3.96,0 'v41 '2nd row,4th stone pos
'
data -1.07,-4.75,0 'v42 '3rd ladder pos
'
data 0,0,0 ,0,1.6,0 ,2.16,1.6,0 ,2.16,0,0 'v43-46 '1st stone size
data 0,0,0 ,0,1.6,0 ,1.48,1.6,0 ,1.48,0,0 'v47-50 '2nd stone size
data -.265, 0,0 ,-.265,2.37,0 ,.265,2.37,0 ,.265, 0,0 'v51-54 'small ladder_size '.....
data 0,0,0 ,0,1.6,0 ,3.58,1.6,0 ,3.58,0,0 'v55-58 '3rd stone size
data 0,0,0 ,0,1.6,0 ,2.17,1.6,0 ,2.17,0,0 'v59-62 '4th stone size
'
data -5.77,-1.58,0 'v63 '3rd_row_b pos y:-3.16
data 0, 0,0, 0,.8,0, 11.55, .8,0, 11.55,0,0 'v64-67 '3rd_row_b size
'
data -5.77,0.02,0 'v68 '4th_row_b pos
data 0, 0,0, 0, 1.6,0, 11.55, 1.6,0, 11.55, 0,0 'v69-72 '4th_row_b size
'
data -5.77,2.44,0 'v73 '5th_row_b pos
data 0, 0,0, 0,.8,0, 11.55, .8,0, 11.55,0,0 'v74-77 '5th_row_b size
'
data -5.77,-3.96,0 'v78 '2nd row
data 0, 0,0, 0, 1.59,0, 11.55, 1.59,0, 11.55, 0,0 'v79-82
'
data 1.1,-.76,0 'v83 'small ladder pos
'
*** 09.31:
.Loderunner_sub_f01 to f99_L000-L001.txt '(1567 bytes...1st byte:89, last byte:82)
'
'include .Loderunner_L001/.Loderunner_sub_f01 to f99_L000-L001
'--------------------------------------------------------------------------------
sub f_01(): if tx2=0 then f01= (v(13,0)> -3.52 and v(13,0)<-3.00) :endif
if tx2=1 then f01= (v(88,0)> -4.70 and v(88,0)<-4.62) :endif:'-4.66
end sub'v.x = -3.26
sub f_02(): if tx2=0 then f02= (v(13,0)> 3.11 and v(13,0)< 3.37) :endif
if tx2=1 then f02= (v(88,0)> -1.18 and v(88,0)<-1.08) :endif '-1.13
'if tx2=1 then f02= (v(88,0)> 3.99 and v(88,0)<4.01) :endif '-1.13
end sub
'
sub f_03(): if tx2=0 then f03= (v(13,0)> -1.15 and v(13,0)<- .95) :endif
if tx2=1 then f03= (v(88,0)> 2.40 and v(88,0)< 2.6) :endif '2.50
end sub '-1.07
'
sub f_04(): if tx2=0 then f04= (v(13,0)> 1.0 and v(13,0)< 1.2) :endif
if tx2=1 then f04= (v(88,0)> 6.79 and v(88,0)< 6.89) :endif '6.84
end sub
'
sub f_05(): if tx2=1 then f05 = (v(88,0)>10.40 and v(88,0)<10.50) :endif '10.45
end sub
'
sub f_06(): if tx2=1 then f06 = (v(88,0)>11.82 and v(88,0)<11.86) :endif '11.84
end sub
'
sub f_07(): if tx2=1 then f07 = (v(88,0)> -2.6 and v(88,0)<-2.5 ) :endif ' 6.54
end sub
'
sub f_08(): if tx2=1 then f08 = (v(88,0)> 1.67 and v(88,0)<1.87) :endif ' 1.77
end sub
'
sub f_09(): if tx2=1 then f09 = (v(88,0)> 5.30 and v(88,0)<5.45) :endif ' 5.35
end sub
'
sub f_10(): if tx2=1 then f10 = (v(88,0)> 6.74 and v(88,0)<6.94) :endif ' 5.35
end sub
'
sub f_11(): if tx2=1 then f11 = (v(88,0)> 9.58 and v(88,0)<9.78) :endif ' 9.68
end sub
'--------------------------------------------------------------------------------
'
09d: convert 26 texts from 09b
' >> Battle_loderunner_add_file/.convert_photo_PB_18.gb:
'
dim n1$,n$(26),i 'Line1
reset m0:for i=1 to 26:read n$(i):next
'
dim n2$: ',n1$="2022-07-01 11_42_28-Window_b.png.txt"
dim sf$,df$
'
dim a$(99),c$(99),d$(9999),da$(9999),d1$,e$,d2$(99999),rp$(9999)
dim i1,rb(100000),e,i0,wf,f,i2
'-----------------------------------------------------------------------------------------------------------------
declare function hex$(a,s) :declare function dec(h$) :declare function r0(a)
dim ba(4),s0,s1,s2,s3,s4,s5,s6,a,c,i001,i002,i003,i004,dc, s=5'amount: 1(1 byte),3(2 bytes),5(3 bytes)
dim h$,s$(s),s1$(15),b$,i$
reset m1:for i=0 to 15:read s1$(i):next
reset m2:for i=1 to 4:read ba(i):next 'ba=byte.amount
declare sub file_error()
dim l1,l2,ia,file,i4,i3
dim p1$,p(99999),p1
'-----------------------------------------------------------------------------------------------------------------
resizetext(100,40)
'-----------------------------------------------------------------------------------------------------------------
for i0=1 to 26
n2$=left$(n$(i0),len(n$(i0))-4)
sf$="text/"+n$(i0) 'sf$:source_file
df$="texture2/"+n2$
color (255,255,0):printr i0 :color(200,200,200)
'
file = openfileread(sf$):file_error()
i1=-1:do :i1=i1+1 :da$(i1)=readline(file) :loop until da$(i1)="":ia=i1-1
l2=len(da$(ia-1)) :l1=len(da$(ia)) :printr:printr da$(0):printr l2;"/";l1
i2=-1
for i=0 to ia
for i1=1 to len(da$(i)) step 2
p1$=mid$(da$(i),i1,2) :p1=dec(p1$)
if i=ia then print p1$;"=";p1;"/"; :endif
i2=i2+1:p(i2)=p1
next
next
CloseFile (file)
'
printr:printr p(i2) 'last byte:217,d9
color (255,0,0):printr "********************************************************************"
'
file = OpenFileWrite (df$):file_error() :for i=0 to i2:writeByte(file,p(i)):next :CloseFile (file)
next
color (0,255,0):printr:print "End":end
'-----------------------------------------------------------------------------------------------------------------
function r0(a):dim x2:a=a+1:x2=(rnd()%a):return x2:end function ' 0-10
sub file_error():if FileError () <> "" then print FileError ():end:endif:end sub
function hex$(a,s):dim s0,s1,s2,s3,s4,s5,s6 as integer
s=ba(s):s0=s-1:s1=a:s2=a:h$="":for s6=0 to s:s$(s6)=0:next
do:s3=-1:do:s3=s3+1:s1=s1/16:loop until s1<16
s4=s0-s3:s$(s4)=s1$(s1):s5=pow(16,s3+1)*s1:s2=s2-s5:s1=s2
loop until s1<16
s$(s)=s1$(s1):for s6=0 to s:if s$(s6)="" then s$(s6)="0":endif:h$=h$+s$(s6):next:return h$:end function
'
function dec(h$):i001=len(h$)
i003=-1:dc=0
for i002=i001 to 1 step -1:i003=i003+1
i$=mid$(h$,i002,1):i004=asc(i$)
if i004>47 and i004<58 then i004=i004-48:endif:if i004>96 and i004<103 then i004=i004-87:endif
dc=dc+i004*pow(16,i003)
next
return dc
end function
'
m1:data 0,1,2,3,4,5,6,7,8,9,a ,b ,c ,d ,e ,f
m2:data 1,3,5,7 'hex$(a,b):b=1:1 byte,b=3:2 bytes,b=5:3 bytes
m0:
data "2nd row, small ladder_b.png.txt" '01.. (comma ---> with double quotation)
data 2nd_row_b.png.txt '02..
data 3rd_row_b.png.txt '03..
data 4th_row_b.png.txt '04..
data 5th_row_b.png.txt '05..
data 2022-07-01 11_42_28-Window_b.png.txt '06..
data 2022-07-01 11_44_03-Window_b.png.txt '07..
data 2022-07-01 11_46_04-Window_b.png.txt '08.
data 2022-07-01 11_47_08-Window_b.png.txt '09.
data 2022-07-05 10_59_57-left_run_32_b.png.txt '10.
data 2022-07-05 11_01_47-left_run_32_b.png.txt '11.
data 2022-07-05 11_03_35-left_run_32_b.png.txt '12.
data 2022-07-05 11_06_50-right_run_32_b.png.txt '13.
data 2022-07-05 11_10_58-right_run_32_b.png.txt '14.
data 2022-07-05 11_12_00-right_run_32_b.png.txt '15.
data 2022-07-05 11_15_43-stand_b.png.txt '16.
data 2022-07-05 11_16_33-stand_look_left_b.png.txt '17.
data 2022-07-05 11_17_24-stand_look_right_b.png.txt '18.
data Angel_01b.png.txt '19.
data Angel_03b.png.txt '20.
data empty 512x464 and all y and x.png.zip.txt '21.
data file_settings_512x_20y.png.txt '22.
data ground_brown_brick.png.txt '23.
data ladder_l.png.txt '24.
data Level_1_Australia_06.png.zip.txt '25.
data score_512x36y.png.txt '26.
'
09e) in folder texture2:
extract:(copy out of zip_folder) into texture2/:
1) empty 512x464 and all y and x.png.zip
2) Level_1_Australia_06.png.zip
'
09f) start (GO): Battle_loderunner_start_PB14.gb :
'
'use:font.03.png '(line 1)
'--------------------------------------------------------------------------------------------------------------------
declare sub find_all_files() :const d=1:
dim a,a#,a$ ,b# ,c ,c$(1000),hmf,mY#,mX#,rtri#,rquad#,rx,ry,g$="Texture/"
'*********************************************************************************************************************************************
dim wf,w1,h1:wf=WindowFullscreen():w1=1000:h1=800:if wf then:w1=1920:h1=1080:endif 'not fullscreen
SetWindowTitle(">> super_minesweeper_N.state.26.02.12.fin << PCN_Hedgehog >> [ 2019,02 ** 2021,10+11 ** 2022,5+6 ] >> origin:[ minesweeper 1.04 : 2019,02.28 ] <<")
SetWindowWidth(w1):SetWindowHeight(h1):SetWindowBorder(true):UpdateWindow()
'*********************************************************************************************************************************************
find_all_files()
'1000 text colors:2022,7.18
dim i,i1,i2,i3,i4,cr2(10),c4(999,2),co(9,2)'1000 colors
for a=0 to 9:cr2(a)=a*28:next'1000 text_colors
for i=0 to 999:i1=i/100:i2=i1*100:i3=(i-i2)/10:i4=i-i2-i3*10:c4(i,0)=cr2(i1):c4(i,1)=cr2(i3):c4(i,2)=cr2(i4):next'1000 text_colors
sub w(i):color(c4(i,0),c4(i,1),c4(i,2)):end sub'1000 colors wo comma
'---------------------------------------------------------------------------------------------------------------------------------
declare sub glC(a as integer)
dim cr(10) as single,gc(999,2) as single
for a#=0 to 9:cr(a#)=a#/9:next'1000 gl_colors
for i=0 to 999:i1=i/100:i2=i1*100:i3=(i-i2)/10:i4=i-i2-i3*10:gc(i,0)=cr(i1):gc(i,1)=cr(i3):gc(i,2)=cr(i4):next'1000 gl_colors
'---------------------------------------------------------------------------------------------------------------------------------
'2023,4.17:
dim n1$="Battle_loderunner_add_file/"
'
dim t0(100),a1$(100):declare function skd(i0)
reset m2:
for a=6 to 24:read a1$(a):t0(a)=LoadTexture(n1$+"texture2/"+a1$(a)):next '36 0
for a=29 to 36:read a1$(a):t0(a)=LoadTexture(n1$+"texture2/"+a1$(a)):next '36 0
'
if skd(17) then resizetext(50,20):for i=0 to 36:printr i;":"a1$(i):next:end:endif
'---------------------------------------------------------------------------------------------------------------------------------
declare sub bT(i0):declare sub mouse():dim mx0 as single,my0 as single,m0(2) as single 'blend_02c.uc5.gb :2022,6.22
declare sub pct(i0):dim v(99)(2) as single,x as single,y as single,z as single,f10b(99),u(99),a03=8 'blend_03.01:2022,7.01
'
include Battle_loderunner_add_file/.Loderunner_L001/.Loderunner_L001_vector_(size and pos).txt
'
reset m0:for i=1 to 88:read x,y,z:v(i)=vec3(x,y,z):next
'L002
data 0, 0,0, 0, 30.85,0, 18.7, 30.85,0, 18.7, 0,0 'v84-87 'green brickwall_size
data -3,-3.77,0 'v88 'loderunner_move 'v88 'pos
'-------------------------------------------------------------------------------------------------------
'blend_04.04uc w keys - blend_04.06fin :2022,7.1
declare function key(i0) :declare sub readkeys() :
dim kd,ik$,is,isk,rk,ak(40),i0,o(255) ,b ,x1,y1,vx(99)
declare sub tV(x0,y0,v0() as single,vnr):declare sub quad(nr,vnr,vm):
'blend_04.12 :2022,7.5-7.6
dim a01,ul,ll,t1,a01b,a01c,a02,ak1,a01d,f01,f02,ak37,ak38,ak39,ak40 'bug,
declare sub animate(ul1,ll1) :declare sub an_timer() :declare sub keys() :declare sub bug(x)
dim a04,f03,lu as single,ld as single 'blend_04.27 :2022,7.6
dim a05,a06,a07,a08,f04,aa 'blend_04.34
'blend_04.39:2022,7.8
dim gdr,f01b,a04b,pc3,pc4
declare sub f_01():declare sub f_02():declare sub f_03():declare sub f_04()
dim e1,a_end,at(99),f03a04,f04a07,f04a05,a02b,f_end,at7:declare sub timer(a1,a2) 'blend_04.50:2022,7.9
dim a3,f010203,f04b 'blend_04.55
dim ab,ac,an_a98,v13y as single,a8(255),a9(255),ae(255):declare sub skd_not(i0) 'blend_04.55.08.08 - blend_04.55.08.14.fin :2022,7.12
dim v2(1) as single,cl 'blend_04.55.08.16 :2022,7.13
dim ak2,f_all,a_all,vnr:ae(116)=0 'blend_05.01 :2022,7.14
'blend_05.09.fin :2022,7.15
dim az,tx(9) as single,v3 as single,a50,a51,akud
'blend_05.16.05 :2022,7.16
dim f03a01,tx2
'blend_05.17.02 :2022,7.18
dim ak3739,akLR,f06,f05,a00,a2,ty(9) as single ,ty2,vy as single,f02b
dim f01a00,f01a05,f02a00,f02a05,f03a00,f03a05,f04a00,f05a00,f05a05
declare sub f_06():declare sub f_05():declare sub p(i0) :declare sub pr():declare sub ps(a$):declare sub an_stand()
'blend_05.17.06.05 :2022,7.19
dim f07,f08,f07a00,f07a08,f09,f07a05,f08a00,f08a05,f08a08,f09a00
dim f01a01,f02a01,f02a08,f03a08,f09a08,f09a05,f10,f10a08,f10a06,f10c,f06a06,f06a08
declare sub f_07():declare sub f_08():declare sub f_09():declare sub f_10()
'blend_05.19.01 :2022,7.20
dim f11,f11a06,f11a05,f11a08,stop1,f09a06,f08a06
dim walk_a06,walk_a06_right,walk_a06_left,wl,wr,v4,v5,v6,v6b,v7,v8,v9,v9b,vy1,vy2,abc
declare sub f_11():declare sub walk_left():declare sub scroll_left():declare sub walk_right():declare sub scroll_right()
'blend_06.01
dim v88y=v(88,1),v88y1,v88y2,f10d,nn,vy3,az2,vn2 as single,vn3 as single,vn4 as single,vn5
'***************************************************************************************************************************************************
rx=30:ry=30 'resize_text
glViewport(0, 0, WindowWidth(), WindowHeight())
'
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
gluPerspective(60, (1*WindowWidth()) / WindowHeight(), .1, 10000000)
'
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
'
glEnable(GL_DEPTH_TEST)
glDepthFunc(GL_LEQUAL)
glEnable(GL_TEXTURE_2D)
'
textmode(texT_OVERLAID):
font(loadtex("Battle_loderunner_add_file/font.03.png"))
resizetext(rx,ry)
'***************************************************************************************************************************************************
c = GL_DEPTH_BUFFER_BIT or GL_COLOR_BUFFER_BIT
' position
v(34,1)=5.6 'settings
v(29,1)=5 'score
'
ac=true
animate(11,8)
'----------------------------------------------------------------------------------------------------------------------------------------------------------
do :tx2 = ae(116):ty2 = tx2
glClear(c)
'--------------------------------------------------------------------------------------------------------------------
glLoadIdentity()
glTranslatef(tx(tx2),ty(ty2),-10)
mouse()
'--------------------------------------------------------------------------------------------------------------------
glEnable ( GL_BLEND)
glBlendFunc (GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA)'glBlendEquation(GL_FUNC_ADD)
glColor4f(1, 1, 1, 1)
'--------------------------------------------------------------------------------------------------------------------
include Battle_loderunner_add_file/.Loderunner_L001/.Loderunner_L001_quad_0002.txt
'--------------------------------------------------------------------------------------------------------------------
'
if ae(116) = 1 then
'quad(nr,size,pos)
quad(36,84,36)
quad(at(1),9,88)'lode_runner:animation:at(1)
' left :right :up down
ak37=ak(37):ak39=ak(39):ak38=ak(38):ak40=ak(40) 'u,d
'
if ak37 and ak39 then ak3739=true else ak3739=0:endif
if ak37 and f01 then ak37=0:endif
'if f06 then ak39=0: if a06 then ak37=0:endif :endif
'
if a9(116) then a01=0:a04=0:a05=0:a07=0:a08=0:f01=0:f02=0:f03=0:f04=0:f05=0::f06=0:f07=0:f08=0:f09=true
a9(112)=true:a9(116)=0:endif' clear_text_for new_level
'
if v(88,1)<=-3.77 then a00=true else a00=0 :endif ' ground 0
if v(88,1)>=1.75 and v(88,1)<=1.80 then a05=true else a05=0 :endif ' ground 5:1.79
if v(88,1)>=6.50 and v(88,1)<=6.55 then a08=true else a08=0 :endif ' ground 8:6.54
if v(88,1)>=3.39 and v(88,1)<=3.42 then a06=true else a06=0 :endif ' ground 6:3.36
if a00 or a01 or a04 or a05 or a06 or a07 or a08 then az=true else az=0 :endif
'
if f06 then ak39=0: if a06 then ak37=0:endif :endif
if f01 then ak37=0: if a06 then ak39=0:endif :endif
'
if a00 then
if f01 then f01a00 = f01 and a00 else f01a00 =0 :endif
if f02 then f02a00 = f02 and a00 else f02a00 =0 :endif
if f03 then f03a00 = f03 and a00 else f03a00 =0 :endif
if f04 then f04a00 = f04 and a00 else f04a00 =0 :endif
if f05 then f05a00 = f05 and a00 else f05a00 =0 :endif
'if f06 then f06a00 = f06 and a00 else f06a00 =0 :endif
if f07 then f07a00 = f07 and a00 else f07a00 =0 :endif
if f08 then f08a00 = f08 and a00 else f08a00 =0 :endif
if f09 then f09a00 = f09 and a00 else f09a00 =0 :endif
else:f01a00=0:f02a00=0 :f03a00=0 :f04a00=0 :f05a00=0:f07a00 =0:f08a00 =0:f09a00 =0
endif
if a00 then f010203 = (f01 or f02 or f03) else f010203=0 :endif
if a05 then
if f01 then f01a05 = f01 and a05 else f01a05 =0 ::endif
if f02 then f02a05 = f02 and a05 else f02a05 =0 :endif
if f03 then f03a05 = f03 and a05 else f03a05 =0 :endif
if f04 then f04a05 = f04 and a05 else f04a05 =0 :endif
if f05 then f05a05 = f05 and a05 else f05a05 =0 :endif
'if f06 then f06a05 = f06 and a05 else f06a05 =0 :endif
if f07 then f07a05 = f07 and a05 else f07a05 =0 :endif
if f08 then f08a05 = f08 and a05 else f08a05 =0 :endif
if f09 then f09a05 = f09 and a05 else f09a05 =0 :endif
if f11 then f11a05 = f11 and a05 else f11a05 =0 :endif
'if f11 then f09a05 = f09 and a05 else f09a05 =0 :endif
else:f01a05 =0 :f02a05=0:f03a05=0:f04a05=0 :f05a05=0 :f07a05 =0:f08a05 =0:f09a05 =0 :f11a05 =0
endif
if a06 then
if f06 then f06a06 = f06 and a06 else f06a06 =0:endif
if f08 then f08a06 = f08 and a06 else f08a06 =0:endif
if f09 then f09a06 = f09 and a06 else f09a06 =0:endif
if f10 then f10a06 = f10 and a06 else f10a06 =0:endif
if f11 then f11a06 = f11 and a06 else f11a06 =0:endif
else f10a06 =0 :f06a06 =0 :f11a06 =0:f09a06 =0:f08a06 =0
endif
if a08 then
if f02 then f02a08 = f02 and a08 else f02a08 =0 :endif
if f03 then f03a08 = f03 and a08 else f03a08 =0 :endif
if f06 then f06a08 = f06 and a08 else f06a08 =0 :endif '.........
if f07 then f07a08 = f07 and a08 else f07a08 =0 :endif
if f08 then f08a08 = f08 and a08 else f08a08 =0 :endif
if f09 then f09a08 = f09 and a08 else f09a08 =0 :endif
if f10 then f10a08 = f10 and a08 else f10a08 =0 :endif
if f11 then f11a08 = f11 and a08 else f11a08 =0 :endif
else f07a08 =0 :f02a08 =0 :f08a08 =0 :f03a08 =0 :f09a08 =0 :f10a08 =0 :f06a08 =0 :f11a08 =0
endif
'
'if f06a08 then ak37=0:endif 'key_control after :f01a00 - f11a08
if f09a06 then ak39=0:endif
if f08a06 then ak39=0:ak37=0:endif
'
if az and at7=0 then timer(7,50):endif: if at(7)=3 then :at7=true:at(7)=0:endif
'-----------------------------------------------------------------------------------------------------------------------------------------
if f01 or f02 or f03 or f04 or f05 or f06 or f07 or f08 or f09 or f10 or f11 then f_all=true else f_all=0:endif
if an_a98=0 then
if f_end=0 then
if f_all then
if az then
if ak40 then
if a00 then
if f01a00 then ak40=0:endif
if f02a00 then ak40=0:endif
if f03a00 then ak40=0:endif
if f04a00 then ak40=0:endif
if f05a00 then ak40=0:endif
if f07a00 then ak40=0:endif
if f08a00 then ak40=0:endif
endif
if a05 then
if f07a05 then ak40=0:endif
if f08a05 then ak40=0:endif
if f09a05 then ak40=0:endif
if f11a05 then ak40=0:endif '...
endif
if a06 then
if f10a06 then ak40=0:endif
endif
endif
if ak38 then
if a00 then
if f07a00 then ak38=0:endif
if f08a00 then ak38=0:endif
if f09a00 then ak38=0:endif
endif
if a05 then
if f02a05 then ak38=0:endif
if f03a05 then ak38=0:endif
if f04a05 then ak38=0:endif
if f05a05 then ak38=0:endif
endif
if a06 then
if f11a06 then ak38=0:endif '...
endif
'
if a08 then
if f02a08 then ak38=0:endif
if f03a08 then ak38=0:endif
if f07a08 then ak38=0:endif
if f08a08 then ak38=0:endif
if f09a08 then ak38=0:endif
if f10a08 then ak38=0:endif
endif
'
endif 'if ak38 then
endif 'if az
if a2 = 0 then
if (ak38 or ak40) then
if f01 then v(88,0)= -4.66:endif
if f02 then v(88,0)= -1.10::endif 'ab=ab+1
if f03 then v(88,0)= 2.50:endif 'ladder 3
if f04 then v(88,0)= 6.84:endif 'ladder 4
if f05 then v(88,0)= 10.45:endif 'ladder 5
if f06 then v(88,0)= 11.84:endif 'ladder 6
'
if f07 then v(88,0)= -2.54:endif 'ladder 7
if f08 then v(88,0)= 1.76:endif 'ladder 8
if f09 then v(88,0)= 5.4: endif 'ladder 9
'
if f10 then v(88,0)= 6.84:endif 'ladder 10
if f11 then v(88,0)= 9.68:endif 'ladder 11
'
if f01 or f06 then lu= 16 :ld=-3.79:endif
if f02 or f03 or f04 or f05 then lu= 1.79 :ld=-3.79:endif
'if f02 or f03 or f04 or f05 then lu= 7 :ld=-3.79:endif
if f07 then lu=6.54 :ld=1.79:endif 'ladder 7
'if then lu= 16 :ld=-3.79:endif'............
if f08 then lu= 6.51 :ld=-3.79:endif
if f09 then lu= 6.51 :ld=-3.79:endif
if f10 then lu= 6.51 :ld= 3.36:endif
if f11 then lu= 3.40 :ld=1.77 :endif
'
animate(11,8) 'go up and down (upper limit + lower limit) ....climb
'
if at7 then 'arrive F
if f02 or f03 or f04 or f05 or f07 or f08 or f09 or f10 or f11 then
if ak40 then 'down
if a05 then a_end=true:at7=0:endif
if a06 then a_end=true:at7=0:endif 'ladder 11
if a08 then a_end=true:at7=0:endif 'ladder 7-11
endif
if ak38 then 'up
if a00 then a_end=true:at7=0:endif
if a05 then a_end=true:at7=0:endif
if a06 then a_end=true:at7=0:endif
endif
endif
'
if f01 or f06 then
if (a00 and ak38) or a04 or a05 or a07 or a08 then a_end=true:at7=0:endif 'arrive F
endif
endif 'if at7
a01d=0:a2=true:
endif 'if (ak38 or ak40)
endif 'if a2 = 0
'-----------------------------------------------------------------------------
'if (f03a04 or f04a07) and ak38 then a_end=0:endif :
if a_end then timer(3,100)::endif 'only ladder down
if at(3)=1 then a_end=0:at(3)=0:endif
'-----------------------------------------------------------------------------
v3=v(88,1)
if ak38 and v(88,1)<= lu then v(88,1)=v(88,1)+.004:ty(ty2)=ty(ty2)-.004:endif
if ak40 and v(88,1)>= ld then v(88,1)=v(88,1)-.004:ty(ty2)=ty(ty2)+.004:endif 'down
'-----------------------------------------------------------------------------
n001: 'else a2=0 :'f_all=0 'if f01 or f02 or f03 or f04
endif 'if f_all
endif 'if f_end=0
'-----------------------------------------------------------------------------------------------------------------------------------------
if f_end then timer(5,50):endif:if at(5)=1 then f_end=0:at(5)=0:a01b=0 :a01c=0endif
if f01=0 and f02=0 and f03=0 and f04=0 and f05=0 and f06=0 and f07=0 and f08=0 and f09=0 and f10=0 and f11=0 then a2=0::endif
'
if a_end=0 then
if f01a05 and ak37 then az=0 :endif
'
vy=v(88,1):
vy1 = (vy>1.7 and vy<6.6) :vy2=(vy>2.5 and vy<6.6) :vy3=(vy>1.7 and vy<3.5)
if az then f_01():f_06():f_09()
if vy<2 then f_02():f_03():f_04():f_05():f10c=0:endif
if vy1 then f_07():f_08():f_09():endif
if vy2 then f_10():endif
if vy3 then f_11():endif
'if f09 then f09=f09 and vy1 :endif
'
if ak2=0 then ::'add here:ladder going to a
if a00 then if f01 then f02b = f01a00 :endif
if f02 then f02b = f02a00 :endif
if f03 then f02b = f03a00 :endif
if f04 then f02b = f04a00 :endif
if f05 then f02b = f05a00 :endif :endif
'
if a05 then if f02 then f02b = f02a05 :endif
if f03 then f02b = f03a05 :endif
if f04 then f02b = f04a05 :endif
if f05 then f02b = f05a05 :endif
if f07 then f02b = f07a05 :endif
if f08 then f02b = f08a05 :endif :endif
'
if a06 then if f10 then f02b = f10a06 :endif
if f11 then f02b = f11a06 :endif :endif
'
if a08 then 'if f02 then f02b = f02a08 :endif
if f07 then f02b = f07a08 :endif
if f08 then f02b = f08a08 :endif
if f09 then f02b = f09a08 :endif
if f10 then f02b = f10a08 :endif
if f11 then f02b = f11a08 :endif :endif
'if f06 then f02b = f06a08 :endif'.............................
'
if ( f_all=0 ) or (f02b) or f_all and ak1=0 then
if a01d=0 then animate(24,21):a01d=true:a2=0 :endif
endif
else a01d=0:
endif ':if ak2=0 :'standing
'
if ak3739 and akLR=0 then animate(24,21):akLR=true:endif
if ak3739=0 and akLR then akLR=0:a01b=0 : a01c=0:endif
'
if a01b=0 and a01c=0 then
if at7=0 then 'leaving F and arrive A
if ak39 or ak37 then a01d=0 :f_end=true:'timer(5,150) 'aa=aa+1:
a2=0:'aa=aa+1
if a00 then v(88,1)= -3.77 :endif ' platform 0
if a05 then v(88,1)= 1.77 :endif ' platform 5
if a06 then v(88,1)= 3.40 :endif ' platform 6...
endif
'''else :leaving A
endif
if ak39 then animate(20,18):a01b=true:endif 'go right
if ak37 then animate(17,15):a01c=true:endif 'go left
else
if not(ak39) then a01b=0:endif
if not(ak37) then a01c=0:endif
endif
'the area on this left_little_platform:
if a06 then
v3=v(88,0) :
v4=(v3>=6.84):v5=(v3<=9.68):'v6=(v4 or v5) :
v6b=(v3<10) and (v3>6.5)
v7=(v3>=3.2) :v8=(v3<=5.4) :'v9=(v7 or v8) :
v9b=(v3<6) and (v3>3)
else v6b=0:v9b=0: 'v6=0:v9=0
endif
'
if a06 then
if v6b then
if v4 then walk_left() :scroll_left() :endif
if v5 then walk_right() :scroll_right():endif
endif
if v9b then
if v7 then walk_left() :scroll_left() :endif
if v8 then walk_right() :scroll_right():endif
endif
else :walk_left() :scroll_left() :walk_right():scroll_right()
endif
'
else :a01b=0:a01c=0:at7=0:a01d=0 :walk_a06_right=0 :walk_a06_left=0:wl=0:wr=0:ac=ac+1
endif 'if az then f_01()
endif 'if a_end=0
endif'...................................
endif 'if ae(116) = 1
'--------------------------------------------------------------------------------------------------------------------
gldisable( GL_BLEND)
an_timer()
keys()
bug(1) '1=debugging
'--------------------------------------------------------------------------------------------------------------------
include Battle_loderunner_add_file/.Loderunner_L001/.Loderunner_L001_steer.0010.txt
'-----------------------------------------------------------------------------------------------------
if az or az2 then :az2=true
if a9(113) and an_a98=0 then
if ae(116)=0 then vnr=13:endif :if ae(116)=1 then vnr=88:endif :
animate(35,34):a9(113)=0:an_a98=true:v2=vec2(v(vnr,0),v(vnr,1)):
endif
if an_a98 then :if vn3=0 then vn2 = v(vnr,1) :vn3=true:vn5=7-ty(ae(116)):endif
v(vnr,1)=v(vnr,1)+.004:v(vnr,0)=v2(0)+sin(v(vnr,1))*.5
if v(vnr,1)>vn5 then an_a98=0:az2=0:vn3=0::v(vnr)=vec3(v2(0),v2(1),0):animate(24,21):endif
endif
endif
'-----------------------------------------------------------------------------------------------------
drawtext():SwapBuffers ()
loop
'--------------------------------------------------------------------------- either for use in L2 or txt
include Battle_loderunner_add_file/.Loderunner_L001/.Loderunner_sub_f01 to f99_L000-L001.txt
'----------------------------------------------------------------------------------------------------------------------------------------------------------
sub scroll_right():if ak39 and a50=0 then v(88,0)=v(88,0)+.004:endif:end sub
sub walk_right():if ak39 then if v3<11.84 then a50=0:tx(tx2)=tx(tx2)-.004 else a50=true:endif:endif:end sub
sub scroll_left():if ak37 and a51=0 then v(88,0)=v(88,0)-.004:endif:end sub
sub walk_left():if ak37 then ::if v3>-4.66 then a51=0:tx(tx2)=tx(tx2)+.004 else a51=true:endif ::endif :end sub
sub an_stand() :if a01d=0 then animate(24,21):a01d=true:a2=0 :endif ::end sub
sub animate(ul1,ll1):ul=ul1+1:ll=ll1:at(1)=ll1:end sub
sub an_timer(): timer(1,300): if at(1)=ul then at(1)=ll :endif:end sub
sub timer(a1,a2):a3=a1+1:if f10b(a1)=0 then:pct(a1):f10b(a1)=true:endif:pct(a3): if u(a3)>u(a1)+a2 then at(a1)=at(a1)+1::f10b(a1)=0:endif:end sub
sub pct(i0):u(i0)=PerformanceCounter():end sub
sub quad(nr,vnr,vm):bT(nr):glBegin(GL_quads):tV(0,0,v(vnr),vm):tV(0,1,v(vnr+1),vm):tV(1,1,v(vnr+2),vm):tV(1,0,v(vnr+3),vm):glEnd():end sub
sub keys() :skd_not(113):skd_not(112):skd_not(116) :ak1=0:for i=37 to 40:ak(i)=skd(i):ak1=ak1+ak(i):next: :a = key(0) : :b = key(1)
ak2=ak(37) or ak(39)
if a9(112)=0 then cl=0 :color(200,200,200)
locate 0,3:for i=37 to 40:print ak(i);" ":next:printr
printr "skd:";a;" "
printr "kd :";b;" ";chr$(b);" "
color(255,0,0):print "F1":color(255,255,0):print "F2":color(255,0,255):print "F5"
else : if cl=0 then clearregion (0,0,20,30):cl=true:endif :endif
end sub
'***************************************************************************************************************************************************
sub bT(i0):glBindTexture(GL_TEXTURE_2D, t0(i0)):end sub
sub tV(x0,y0,v0() as single,vnr):glTexCoord2f(x0,y0):glVertex3fv(v0+v(vnr)):end sub
sub find_all_files():a$=findfirstfile(g$+"*.*"):a=-1:do:a=a+1:c$(a)=findnextfile():loop until c$(a)="":hmf=a-1:end sub
'
sub glC(a as integer):glColor3f(gc(a,0),gc(a,1),gc(a,2)):end sub
'
m2:'animate_phase
data empty 512x464 and all y and x.png '6
data ladder_l.png '7
'
data 2022-07-01 11_42_28-Window_b.png '8 (=10)
data 2022-07-01 11_46_04-Window_b.png '9
data 2022-07-01 11_44_03-Window_b.png '10
data 2022-07-01 11_47_08-Window_b.png '11
'
data ground_brown_brick.png '12
data score_512x36y.png '13
data file_settings_512x_20y.png '14
data 2022-07-05 10_59_57-left_run_32_b.png '15
data 2022-07-05 11_01_47-left_run_32_b.png '16
data 2022-07-05 11_03_35-left_run_32_b.png '17
data 2022-07-05 11_06_50-right_run_32_b.png '18
data 2022-07-05 11_10_58-right_run_32_b.png '19
data 2022-07-05 11_12_00-right_run_32_b.png '20
'
data 2022-07-05 11_15_43-stand_b.png '21
data 2022-07-05 11_16_33-stand_look_left_b.png '22
data 2022-07-05 11_15_43-stand_b.png '23
data 2022-07-05 11_17_24-stand_look_right_b.png '24
'
data "2nd row, small ladder_b.png" '29
'
data "3rd_row_b.png" '30
data 4th_row_b.png '31
data 5th_row_b.png '32
data 2nd_row_b.png '33
'
data Angel_01b.png '34
data Angel_03b.png '35
'
data Level_1_Australia_06.png '36
'
m11:'--------------------------------------------------------------------------------------------------------------------------------------------------------------
data 126,96,33,49,64,50,35,51,36,52,37,53,94,54,38,55,42,56,40,57,41,48,95,45,43,61,123,91,125,93,124,92,58,59
data 34,39,60,44,62,46,63,47,97,65,98,66,99,67,100,68,101,69,102,70,103,71,104,72,105,73,106,74,107,75,108,76
data 109,77,110,78,111,79,112,80,113,81,114,82,115,83,116,84,117,85,118,86,119,87,120,88,121,89,122,90,-1,-1
'------------------------------------------------------------------------------------------------------------------------------------------------------------------
sub skd_not(i0):i1=abs(i0):if a8(i1)=0 then:if (ScanKeyDown (i1)) then a8(i1)=true:a9(i1)=not(a9(i1)):i3=(i0<0)-(i0>0):ae(i1)=ae(i1)+i3:if ae(i1)>1 then ae(i1)=0:
endif:endif:endif:if a8(i1) then:if not (ScanKeyDown (i1)) then a8(i1)=0 :endif:endif:end sub
sub mouse():mx0=mouse_x()*11-5:my0=5-mouse_y()*11:m0=vec3(mx0,my0,0):end sub
function key(i0)::if rk=0 then readkeys():rk=true:endif
if i0=0 then isk = InScanKey ():if isk<>0 then is=isk :endif :if is>0 then if skd(is)=0 then is=0 :endif:endif:return is:endif
if i0=1 then ik$= inkey$() :if ik$<>"" then kd=asc(ik$):endif :if kd>0 then if keydown(chr$(o(kd)))=0 then kd=0 :endif:endif:return kd :endif
end function
function skd(i0):i1=ScanKeyDown(i0):return i1:end function
sub readkeys():dim a1,b1:for i=0 to 255:o(i)=i:next:reset m11:i=0:do:read a1,b1:if a1<>-1 then o(a1)=b1:i=i+1:endif:loop until a1=-1 :end sub
'----------------------------------------------------------------------------------------
include Battle_loderunner_add_file/.Loderunner_L001/.Loderunner_debugging_L000-L001_subs_0002.txt
'------------------------------------------------------------------------------------------------------------------------------------------------------------------
'climb up and down the battle_lode_runner ladder with Arrow_keys vk_up and vk_down
'and build a new loderunner_clone.
'PCNew_Hedgehog :2022,07.1-7.11
'
'steer the loderunner with 2 arrow_keys:
'left +up......left +down
'right+up......right+down
'------------------------------------------------------------------------------------------------------------------------------------------------------------------
'
'