about summary refs log tree commit diff stats
path: root/html/fake-console.png
blob: 3f8a50b2d5c92a1ad1592f6a3edf9232a8d3f45e (plain)
ofshex dumpascii
0000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 01 16 00 00 00 7e 08 06 00 00 00 e1 9d 3e .PNG........IHDR.......~.......>
0020 cc 00 00 18 27 69 43 43 50 49 43 43 20 50 72 6f 66 69 6c 65 00 00 58 85 95 79 07 54 14 4d b3 76 ....'iCCPICC.Profile..X..y.T.M.v
0040 cf ce 06 58 96 25 a7 25 e7 24 39 83 e4 9c 73 46 60 c9 39 67 54 a2 48 50 11 04 14 01 15 54 10 54 ...X.%.%.$9...sF`.9gT.HP.....T.T
0060 30 90 44 4c 08 22 8a 08 2a 60 40 24 18 48 2a 28 a0 08 c8 1d 82 be df 7d ef 7f fe 7b 6e 9f d3 33 0.DL."..*`@$.H*(.......}...{n..3
0080 cf 56 57 57 3f dd 55 dd 33 b5 03 00 3b 2b 39 22 22 04 45 0b 40 68 58 4c 94 8d a1 0e 8f 93 b3 0b .VWW?.U.3...;+9"".E.@hXL........
00a0 0f 6e 0c a0 00 09 10 91 4a 22 7b 47 47 68 5b 59 99 01 a4 fc b9 ff f7 b2 3c 04 a0 cd fb 73 89 4d .n......J"{GGh[Y........<....s.M
00c0 5b ff b3 fd ff 5b e8 7c 7c a3 bd 01 80 ac 10 ec e5 13 ed 1d 8a e0 46 00 d0 24 ef 88 a8 18 00 30 [....[.||.............F..$.....0
00e0 fd 88 9c 3f 3e 26 62 13 2f 22 98 31 0a 21 08 00 96 62 13 fb 6f 63 8e 4d ec b5 8d a5 b7 74 ec 6c ...?>&b./".1.!...b..oc.M.....t.l
0100 74 11 ac 07 00 05 81 4c 8e f2 07 80 b8 69 9f 27 ce db 1f b1 43 8c 40 da e8 c3 7c 02 c3 10 d5 4c t......L.....i.'....C.@...|....L
0120 04 6b 78 07 90 7d 00 20 75 22 3a bb 42 43 c3 37 f1 3c 82 45 bc fe c3 8e ff 7f b3 e9 f5 d7 26 99 .kx..}..u":.BC.7.<.E..........&.
0140 ec ff 17 6f cf 65 ab 50 e8 05 46 47 84 90 13 ff 8f cb f1 bf 97 d0 90 d8 3f 63 f0 21 95 10 10 65 ...o.e.P..FG............?c.!...e
0160 64 b3 39 67 64 dd 2e 04 87 9b 6e 62 02 82 db c3 bc 2c 2c 11 4c 8f e0 87 81 3e 5b fa 9b f8 75 40 d.9gd.....nb.....,,.L....>[...u@
0180 ac 91 fd 8e fe 9c 77 b4 2e b2 66 80 19 20 ee f6 21 eb 99 22 18 59 4b 14 73 6c b0 bd f6 0e 96 25 ......w...f.....!..".YK.sl.....%
01a0 47 6d f5 45 f4 51 16 81 31 c6 76 3b d8 2b 2a dc 66 c7 3e 2a 2e 2c c4 c2 6c c7 4e 76 80 af f1 1f Gm.E.Q..1.v;.+*.f.>*.,..l.Nv....
01c0 7c ca 37 5a df f6 8f 8e 5f a0 81 31 82 91 48 43 35 26 05 d8 39 6e f3 44 75 c6 05 3a 58 20 98 88 |.7Z...._..1..HC5&..9n.Du..:X...
01e0 e0 fe e8 60 5b d3 9d be a3 49 01 ba 16 7f 74 a2 62 6d 36 39 0b 20 78 d1 2f ca c0 66 5b 07 66 0d ...`[....I....t.bm69..x./..f[.f.
0200 8d fe 33 2f 58 d2 9b bc 35 16 2b 82 b5 62 02 ec 8c b6 fb c2 4e be d1 4e 66 7f 38 f8 f8 ea e9 6f ..3/X...5.+..b......N..Nf.8....o
0220 73 80 7d 7c c3 ec 77 b8 c1 48 74 e9 d8 ec f4 cd 8a 08 b1 da d1 87 4f f9 86 18 da 6c af 33 7c 25 s.}|..w..Ht...........O....l.3|%
0240 3a ce f6 4f df 67 31 48 80 6d af 03 3c 11 44 36 b1 da e6 0f 2f 47 c4 58 d9 6d 73 43 a3 81 19 d0 :..O.g1H.m..<.D6..../G.X.msC....
0260 05 7a 80 07 c4 22 d5 0b 84 83 20 10 d8 37 d7 32 87 fc da 6e 31 00 64 10 05 fc 81 2f 90 d8 91 fc .z...".......7.2...n1.d..../....
0280 e9 e1 b8 d5 12 86 5c 6d 41 12 f8 8c 20 5f 10 fd b7 9f ce 56 ab 2f 88 43 e4 eb 7f a5 db 57 09 e0 ......\mA...._.....V./.C.....W..
02a0 b7 d5 1a b7 d5 23 18 7c 44 70 28 9a 84 d6 40 ab a1 cd 90 ab 16 52 65 d1 ca 68 95 3f fd 78 68 fe .....#.|Dp(...@......Re..h.?.xh.
02c0 8c 8a d5 c7 ea 61 8d b0 06 58 d1 bf 3c bc 11 d6 21 48 8d 02 81 ff 0f 99 29 72 f7 45 66 b7 c9 25 .....a...X..<...!H......)r.Ef..%
02e0 ec cf 1c fe b1 87 f9 88 19 c0 4c 60 06 31 63 98 57 c0 01 bc df b2 b2 a3 e5 11 98 1e f5 2f e6 3c ..........L`.1c.W............/.<
0300 c0 1c 8c 21 d6 0c 76 66 e7 85 d8 9c fe a3 83 16 42 58 2b a0 75 d0 ea 08 7f 84 3b 9a 19 4d 02 12 ...!..vf........BX+.u.....;..M..
0320 68 79 64 26 da 68 4d 64 6e 0a 88 f4 3f 19 c6 fe e5 f6 cf 5a fe 7b bc 4d d6 ff 39 9f 1d 39 51 8c hyd&.hMdn...?......Z.{.M..9..9Q.
0340 a8 b0 c3 c2 eb af 67 74 ff 6a fd db 8a ee 7f ac 91 0f 72 37 fd b7 26 9c 0d 5f 87 bb e1 7b 70 0f ......gt.j........r7..&.._...{p.
0360 dc 0e b7 00 1e f8 0e dc 0a f7 c2 b7 36 f1 df 48 78 bf 15 09 7f 46 b3 d9 e2 16 8c d8 09 fc a3 23 ............6..Hx....F.........#
0380 7d 51 7a 5a 7a ed 7f 8c 4e de 61 10 b5 e5 6f 10 e3 9b 10 b3 b9 21 74 c3 23 12 a3 02 fd 03 62 78 }QzZz...N.a...o......!t.#.....bx
03a0 b4 91 13 d9 97 c7 38 cc 5b 72 17 8f ac b4 8c 22 00 9b e7 fb f6 f1 f1 dd 66 eb dc 86 98 9f fe 23 ......8.[r....."........f......#
03c0 f3 9d 02 60 37 12 e3 94 fd ff c8 82 8e 01 50 d7 05 00 4b ee 3f 32 21 57 00 d8 76 01 70 f5 99 77 ...`7.........P...K.?2!W..v.p..w
03e0 6c 54 dc b6 0c bd 79 c1 00 3c a0 41 76 06 1b e0 02 fc 40 04 99 93 2c 50 04 6a 40 0b e8 03 13 60 lT....y..<.Av.....@...,P.j@....`
0400 09 ec 80 33 70 47 56 3d 00 84 22 ac e3 c1 5e 90 06 b2 40 1e 38 0a 8a c1 49 70 1a 9c 05 17 c0 65 ...3pGV=.."...^...@.8...Ip.....e
0420 70 0d b4 80 76 70 0f 3c 00 8f 41 3f 18 04 6f 90 d8 f8 00 66 c1 3c 58 06 ab 10 04 e1 20 6a 88 01 p...vp.<..A?..o....f.<X......j..
0440 62 83 b8 21 41 48 1c 92 85 94 21 0d 48 1f 32 83 6c 20 67 c8 13 f2 87 c2 a0 58 68 2f 94 01 e5 41 b..!AH....!.H.2.l.g......Xh/...A
0460 85 d0 49 a8 12 aa 85 ae 42 37 a0 7b 50 0f 34 00 bd 82 c6 a1 69 e8 1b f4 0b 05 a3 08 28 46 14 27 ..I.....B7.{P.4.....i.......(F.'
0480 4a 08 25 85 52 46 69 a3 4c 51 76 a8 3d 28 7f 54 24 2a 09 95 89 3a 82 3a 81 aa 42 5d 42 35 a3 ee J.%.RFi.LQv.=(.T$*...:.:..B]B5..
04a0 a1 1e a3 06 51 63 a8 59 d4 12 0c 60 2a 98 19 e6 85 25 60 65 58 17 b6 84 5d 60 3f 38 0a de 0f e7 ....Qc.Y...`*....%`eX...]`?8....
04c0 c2 25 70 15 5c 0f b7 21 be 7e 0e 8f c1 73 f0 0a 1a 8b 66 40 f3 a0 25 90 f8 34 42 db a3 bd d1 91 .%p.\..!.~...s....f@..%..4B.....
04e0 e8 fd e8 43 e8 93 e8 0b e8 66 74 27 fa 39 7a 1c 3d 8f fe 8d a1 c6 70 60 c4 31 aa 18 63 8c 13 c6 ...C.....ft'.9z.=.....p`.1..c...
0500 1f 13 8f c9 c2 94 60 aa 31 4d 98 2e 64 ef 7c c0 2c 63 b1 58 66 ac 30 56 09 d9 9b ce d8 20 6c 32 ......`.1M..d.|.,c.Xf.0V......l2
0520 f6 10 b6 02 db 80 bd 8b 1d c0 4e 62 97 70 38 1c 1b 4e 1c a7 8e b3 c4 91 71 31 b8 2c 5c 29 ee 12 ..........Nb.p8..N......q1.,\)..
0540 ee 0e ee 19 ee 03 ee 27 05 15 05 37 85 2c 85 01 85 0b 45 18 45 3a 45 09 45 1d c5 6d 8a 67 14 9f .......'...7.,....E.E:E.E..m.g..
0560 28 56 29 69 29 05 29 55 29 2d 29 7d 28 13 29 f3 29 cf 51 b6 51 3e a5 fc 40 b9 8a a7 c3 0b e3 d5 (V)i).)U)-)}(.).).Q.Q>..@.......
0580 f1 76 f8 20 7c 1a fe 04 be 1e df 85 1f c1 7f a7 a2 a2 e2 a3 52 a1 b2 a6 0a a4 4a a5 3a 41 75 85 .v..|...............R.....J.:Au.
05a0 ea 21 d5 38 d5 0a 81 9e 20 46 d0 25 b8 11 62 09 47 08 35 84 bb 84 57 84 ef d4 d4 d4 42 d4 5a d4 .!.8.....F.%..b.G.5...W.....B.Z.
05c0 2e d4 31 d4 47 a8 6b a9 ef 53 8f 52 ff 24 32 10 25 89 c6 44 1f 62 0a b1 8c d8 4c 7c 46 fc 42 43 ..1.G.k..S.R.$2.%..D.b....L|F.BC
05e0 49 23 48 a3 4d e3 4e 93 44 53 42 73 9d e6 29 cd 1c 2d 25 ad 10 ad 2e 2d 99 76 3f 6d 19 ed 0d da I#H.M.N.DSBs..)..-%....-.v?m....
0600 61 da 25 3a 06 3a 19 3a 4b ba 50 ba 43 74 75 74 3d 74 53 f4 38 7a 21 7a 7d 7a 1f fa 4c fa b3 f4 a.%:.:.:K.P.Ctut=tS.8z!z}z..L...
0620 f7 e9 27 19 60 06 7e 06 5d 06 6f 86 0c 86 73 0c 5d 0c 1f 18 b1 8c c2 8c c6 8c 41 8c 79 8c 97 19 ..'.`.~.].o...s.].........A.y...
0640 fb 18 e7 99 e8 99 e4 99 1c 98 12 98 ca 98 6e 31 8d 31 c3 cc 42 cc c6 cc 21 cc f9 cc d7 98 87 98 ..............n1.1..B...!.......
0660 7f b1 70 b2 68 b3 f8 b2 e4 b0 d4 b3 3c 63 f9 c1 ca ce aa c5 ea cb 9a cb da c0 3a c8 fa 8b 8d 87 ..p.h.......<c............:.....
0680 4d 9f 2d 98 ad 80 ad 85 ed 2d 09 4d 12 23 59 93 e2 49 a7 48 5d a4 39 76 46 76 35 76 6f f6 5c f6 M.-......-.M.#Y..I.H].9vFv5vo.\.
06a0 6b ec af 39 50 1c 62 1c 36 1c c9 1c 67 39 7a 39 96 38 b9 38 0d 39 23 38 4b 39 ef 73 ce 71 31 73 k..9P.b.6...g9z9.8.8.9#8K9.s.q1s
06c0 69 71 05 71 15 71 dd e6 9a e6 66 e0 d6 e0 0e e4 2e e2 be c3 3d c3 c3 c4 a3 cd 13 c2 73 82 a7 93 iq.q.q....f.........=.......s...
06e0 67 9e 97 83 d7 88 37 96 b7 92 b7 8f 77 95 4f 98 cf 9e 2f 9d af 81 ef 2d 3f 9e 5f 99 df 8f bf 88 g.....7.....w.O.../....-?._.....
0700 bf 83 7f 5e 80 5b c0 5c 60 af c0 45 81 d7 82 94 82 ca 82 01 82 c7 05 bb 05 7f 08 09 0b 39 0a 1d ...^.[.\`..E.................9..
0720 14 6a 11 9a 12 66 15 36 16 4e 12 be 28 3c 22 42 2d a2 29 12 29 52 25 f2 42 14 2b aa 2c 1a 2c 5a .j...f.6.N..(<"B-.).)R%.B.+.,.,Z
0740 21 da 2f 86 12 53 10 0b 10 2b 13 7b 2a 8e 12 57 14 0f 14 af 10 1f d8 85 d9 a5 b2 2b 6c 57 d5 ae !./..S...+.{*..W...........+lW..
0760 61 09 82 84 b6 44 9c c4 45 89 71 49 66 49 33 c9 74 c9 16 c9 2f 52 02 52 2e 52 05 52 dd 52 bf a5 a....D..E.qIfI3.t.../R.R.R.R.R..
0780 15 a4 43 a4 cf 49 bf 91 a1 97 31 91 49 97 69 93 f9 26 2b 26 eb 2d 5b 26 fb 42 8e 5a ce 40 2e 45 ..C..I....1.I.i..&+&.-[&.B.Z.@.E
07a0 ae 55 6e 41 5e 5c de 57 fe 94 fc 4b 05 06 05 73 85 83 0a 1d 0a eb 8a 4a 8a 51 8a f5 8a d3 4a 02 .UnA^\.W...K...s.......J.Q....J.
07c0 4a 9e 4a e5 4a c3 ca 8c ca 56 ca 87 94 1f aa 60 54 74 54 52 54 da 55 56 54 15 55 63 54 af a9 7e J.J.J....V.....`TtTRT.UVT.UcT..~
07e0 55 93 50 0b 56 ab 53 9b da 2d bc db 77 f7 b9 dd 93 ea 7c ea 64 f5 4a f5 31 0d 1e 0d 4f 8d 33 1a U.P.V.S..-..w.....|.d.J.1...O.3.
0800 63 9a bc 9a 64 cd 2a cd 09 2d 7e 2d 1f ad 6a ad 4f da a2 da 41 da 97 b4 bf e8 48 eb 44 e9 34 e9 c...d.*..-~-..j.O...A.....H.D.4.
0820 fc d0 55 d5 dd a7 7b 57 0f d6 33 d4 cb d5 eb d3 a7 d7 b7 d7 3f a9 3f 6a c0 67 e0 6f 70 d1 60 de ..U...{W..3.........?.?j.g.op.`.
0840 50 c1 30 d9 f0 ae 11 c6 c8 d4 a8 c0 68 d8 98 d3 d8 db b8 d6 78 de 44 c9 64 9f 49 a7 29 c1 d4 d6 P.0.........h.......x.D.d.I.)...
0860 f4 a4 e9 84 99 98 59 94 59 9b 39 ca dc c4 fc 98 f9 88 85 a0 45 98 45 8b 25 b0 34 b6 3c 66 f9 d6 ......Y.Y.9.........E.E.%.4.<f..
0880 4a d8 2a d2 ea a6 35 d6 da ca ba cc fa a3 8d 8c cd 5e 9b 6e 5b 06 5b 0f db 3a db 65 3b 1d bb 7c J.*...5..........^.n[.[..:.e;..|
08a0 bb 37 f6 22 f6 b1 f6 1d 0e 34 0e 6e 0e b5 0e 3f 1c f5 1c 0b 1d c7 9c a4 9c f6 39 3d 76 26 39 07 .7.".....4.n...?..........9=v&9.
08c0 3a b7 ba e0 5c 1c 5c aa 5d 96 5c f5 5d 8b 5d 3f b8 29 b8 65 b9 0d ed 11 de 93 b0 a7 c7 9d e4 1e :...\.\.].\.].]?.).e............
08e0 e2 7e cb 83 c6 83 ec 71 dd 13 e3 e9 e8 59 e7 b9 46 b6 24 57 91 97 bc 8c bd ca bd e6 bd 75 bd 8f .~.....q.....Y..F.$W.........u..
0900 7b cf fa 68 f9 14 f9 4c fb aa fb 16 fa 7e f2 53 f7 2b f4 9b f2 57 f7 3f e6 3f 1d a0 19 50 12 30 {..h...L.....~.S.+...W.?.?...P.0
0920 17 a8 1b 78 32 70 21 c8 28 e8 74 d0 8f 60 cb e0 9a e0 8d 10 c7 90 86 50 8a 50 cf d0 1b 61 f4 61 ...x2p!.(.t..`.........P.P...a.a
0940 c1 61 9d e1 5c e1 09 e1 03 11 e2 11 59 11 63 91 aa 91 c5 91 f3 51 a6 51 d5 d1 50 f4 9e e8 d6 18 .a..\.......Y.c......Q.Q..P.....
0960 46 e4 55 a7 37 56 24 f6 40 ec 78 9c 46 5c 59 dc cf 78 87 f8 eb 09 74 09 61 09 bd 89 62 89 39 89 F.U.7V$.@.x.F\Y..x....t.a...b.9.
0980 9f 92 0c 92 ce 27 a3 93 bd 93 3b f6 f2 ee 4d db 3b be 4f 7b 5f e5 7e 68 bf d7 fe 8e 14 fe 94 cc .....'....;...M.;.O{_.~h........
09a0 94 0f a9 86 a9 17 d2 f0 69 c1 69 4f d2 a5 d3 0b d3 17 33 1c 33 da 32 39 33 53 33 27 0f 18 1e b8 ........i.iO......3.3.293S3'....
09c0 98 45 cc 8a ca 1a 3e a8 76 f0 74 36 3a 3b 30 bb 2f 47 2e a7 34 e7 77 ae 4f ee a3 3c e9 bc 92 bc .E....>.v.t6:;0./G..4.w.O..<....
09e0 b5 43 de 87 1e 1d 96 39 7c e2 f0 c6 11 bf 23 7d f9 8a f9 a7 8e 62 8f 86 1d 1d 2a d0 2c b8 50 48 .C.....9|.....#}.....b....*.,.PH
0a00 57 98 54 38 79 cc fc 58 73 11 4f 51 6e d1 62 b1 47 71 4f 89 7c c9 e9 e3 f8 e3 b1 c7 c7 4e 98 9d W.T8y..Xs.OQn.b.GqO.|........N..
0a20 68 2d 15 28 3d 5a ba 76 32 e0 e4 60 99 4e 59 43 39 47 79 4e f9 8f 0a 9f 8a 67 a7 b4 4e d5 9f e6 h-.(=Z.v2..`.NYC9GyN.....g..N...
0a40 3c 9d 77 fa d7 99 c0 33 2f 2b 0d 2b 9b ab 84 aa 4a ce 62 cf c6 9d fd 78 ce e1 5c f7 79 e5 f3 b5 <.w....3/+.+....J.b....x..\.y...
0a60 d5 a4 ea bc ea f5 9a b0 9a b1 0b 36 17 3a 6b 95 6a 6b eb 38 ea f2 2f a2 2e c6 5e 9c be e4 76 a9 ...........6.:k.jk.8../...^...v.
0a80 ff b2 de e5 d6 7a 89 fa ca 06 e6 86 bc 2b e0 4a ec 95 99 ab 9e 57 87 ae 99 5e eb b8 ae 7c bd be .....z.......+.J.....W...^...|..
0aa0 51 b0 b1 bc 89 a1 29 b7 19 6a 4e 6c 9e 6f 09 68 19 6b 75 6e 1d b8 61 72 a3 a3 4d ad ad e9 a6 e4 Q.....)..jNl.o.h.kun..ar..M.....
0ac0 cd 9a 76 de f6 b2 5b 4c b7 f2 6f e3 6f 67 de de b8 93 74 67 e9 6e c4 dd b9 7b fe f7 26 3b 3c 3a ..v...[L..o.og....tg.n...{..&;<:
0ae0 de dc 77 ba ff a2 d3 ba b3 af cb b4 eb e1 03 83 07 f7 bb b5 bb ef 3c 54 7f d8 de a3 da 73 e3 91 ..w...................<T.....s..
0b00 f2 a3 96 c7 8a 8f 9b 7b 15 7a 9b 9e 28 3c 69 ea 53 ec 6b 7e aa f4 b4 b5 5f a5 bf 6d 60 f7 c0 ed .......{.z..(<i.S.k~...._..m`...
0b20 67 9a cf ee 3d d7 7b fe e0 85 f1 8b c7 83 16 83 03 43 f6 43 2f 87 dd 86 c7 5e fa bc 9c 7a 15 f2 g...=.{..........C.C/....^...z..
0b40 6a e1 75 dc eb d5 37 a9 23 98 91 dc b7 b4 6f 4b 46 39 46 ab de 89 be 6b 18 53 1c bb 35 ae 37 de j.u...7.#.....oKF9F....k.S..5.7.
0b60 3b 61 3b f1 66 d2 7b 72 f6 7d f4 fb b5 0f 99 1f a9 3f 96 7c e2 fe 54 3b 25 3b d5 3e 6d 30 dd 3f ;a;.f.{r.}.......?.|..T;%;.>m0.?
0b80 e3 3a f3 61 36 62 76 75 2e eb 33 dd e7 f2 2f 22 5f 1a bf 6a 7d ed 9d 77 9a ff b0 10 b5 b0 f1 ed .:.a6bvu..3.../"_..j}..w........
0ba0 d0 77 b6 ef 35 8b f2 8b 1d 4b 56 4b a3 cb a1 cb ab 3f 72 7f b2 fd bc b0 a2 bc d2 fd cb f1 d7 a7 .w..5....KVK.....?r.............
0bc0 d5 f8 35 dc da 89 75 d1 f5 b6 df a6 bf 47 36 42 37 36 22 c8 51 e4 ad 57 01 18 a9 28 3f 3f 00 be ..5...u......G6B76".Q..W...(??..
0be0 d5 00 40 ed 0c 00 03 92 c7 e1 89 db f9 d7 4e 81 a1 cd b4 03 00 07 48 1f a5 0d 2b a3 59 31 78 2c ..@...........N.......H...+.Y1x,
0c00 05 4e 9a c2 99 32 03 7f 87 80 a5 26 13 5b 68 f1 74 21 f4 8f 18 15 98 ca 59 00 6b 30 5b 1f bb 22 .N...2.....&.[h.t!......Y.k0[.."
0c20 c7 51 ce 59 6e 2d 9e 7c de 01 7e bc 80 8a a0 b3 50 b0 70 a8 88 9b a8 8e 18 a7 d8 82 f8 83 5d a5 .Q.Yn-.|..~.....P.p...........].
0c40 12 c1 92 ea 52 d4 52 ef a4 1b 64 52 65 ad e5 78 e5 3e cb df 50 38 a0 68 ad c4 a1 f4 41 b9 5e 25 ....R.R...dRe..x.>..P8.h....A.^%
0c60 41 55 5b 0d af f6 7c 77 b9 ba 8f c6 2e 8d 6f 9a 2d 5a 7b b5 75 74 08 3a ef 74 6f eb d5 e9 57 18 AU[...|w......o.-Z{.ut.:.to...W.
0c80 14 18 ee 37 22 1b 6b 9a b0 9a 2c 98 f6 9a d5 9b 57 58 54 5a b6 5b 4d da 60 6c d9 ec 48 f6 b4 0e ...7".k...,.....WXTZ.[M.`l..H...
0ca0 b0 c3 9a e3 aa 33 70 a1 74 25 ba 51 ef 41 ef 59 72 9f f0 e8 f7 bc 4b be ee 55 ed 5d ea 93 eb 9b .....3p.t%.Q.A.Yr.....K..U.]....
0cc0 e8 e7 ef 6f 17 a0 13 28 1f 24 16 cc 1b c2 16 4a 13 06 87 2d 86 4f 44 f4 47 de 8c 3a 17 7d 24 26 ...o...(.$.....J...-.OD.G..:.}$&
0ce0 25 36 2b ae 29 01 9d e8 9b 74 77 2f d8 27 b4 5f 35 c5 38 d5 35 2d 36 fd 48 46 71 66 f2 01 f9 03 %6+.)....tw/.'._5.8.5-6.HFqf....
0d00 93 59 f9 07 ad b2 05 73 a8 72 41 1e ea 10 dd 61 91 23 1a f9 16 47 1d 0b 5c 0a 5d 8e 39 15 39 14 .Y.....s.rA....a.#...G..\.].9.9.
0d20 db 95 58 1f b7 38 61 5a 6a 78 52 a7 4c a3 5c a5 42 ee 94 c4 69 b1 33 d2 95 a6 55 19 67 c7 ce 1b ..X..8aZjxR.L.\.B...i.3...U.g...
0d40 57 5f aa 99 ad a5 ab 13 bc 28 73 49 ed b2 5e bd 79 83 e3 15 8f ab 01 d7 22 ae c7 37 ee 6f 4a 6f W_.......(sI..^.y......."..7.oJo
0d60 3e d0 92 dd 9a 77 23 bf ad f8 66 79 7b f5 ad c6 db 5
<P>
<A NAME="polly"></A>
<P><P><CENTER><IMG SRC="../ss-pics/polly.jpg" ALT="figure: polly"></CENTER>
<HTML>
<HEAD>
<TITLE>Simply Scheme: Introducing Computer Science ch 19: Implementing Higher-Order Functions</TITLE>
</HEAD>
<BODY>
<HR>
<CITE>Simply Scheme:</CITE>
<CITE>Introducing Computer Science</CITE> 2/e Copyright (C) 1999 MIT
<H2>Chapter 19</H2>
<H1>Implementing Higher-Order Functions</H1>

<TABLE width="100%"><TR><TD>
<IMG SRC="../simply.jpg" ALT="cover photo">
<TD><TABLE>
<TR><TD align="right"><CITE><A HREF="http://www.cs.berkeley.edu/~bh/">Brian
Harvey</A><BR>University of California, Berkeley</CITE>
<TR><TD align="right"><CITE><A HREF="http://ccrma.stanford.edu/~matt">Matthew
Wright</A><BR>University of California, Santa Barbara</CITE>
<TR><TD align="right"><BR>
<TR><TD align="right"><A HREF="../pdf/ssch19.pdf">Download PDF version</A>
<TR><TD align="right"><A HREF="../ss-toc2.html">Back to Table of Contents</A>
<TR><TD align="right"><A HREF="../ssch18/trees.html"><STRONG>BACK</STRONG></A>
chapter thread <A HREF="../ssch20/part6.html"><STRONG>NEXT</STRONG></A>
<TR><TD align="right"><A HREF="http://mitpress.mit.edu/0262082810">MIT
Press web page for <CITE>Simply Scheme</CITE></A>
</TABLE></TABLE>

<HR>


<P>This chapter is about writing <EM><A NAME="g1"></A>higher-order procedures&mdash;</EM>that is, procedures that implement
<A NAME="g2"></A><A NAME="g3"></A>higher-order functions.  We are going to study the implementation
of <CODE>every</CODE>, <CODE>keep</CODE>, and so on.

<P>Really there are no new techniques involved.  You know how to write
recursive procedures that follow the <CODE>every</CODE> pattern, the <CODE>keep</CODE>
pattern, and so on; it's a small additional step to generalize those
<A NAME="g4"></A>
patterns.  The truly important point made in this chapter is that you aren't
limited to a fixed set of higher-order functions.  If you feel a need for a
new one, you can implement it.

<P><H2>Generalizing Patterns</H2>

<P>In Chapter 14, we showed you the procedures <CODE>square-sent</CODE> and <CODE>pigl-sent</CODE>, which follow the <CODE>every</CODE> pattern of recursion.  In order to
write the general tool, <CODE>every</CODE> itself, we have to
<EM>generalize the pattern</EM> that those two have in common.

<P>Before we get to writing higher-order procedures, let's look at a simpler
case of generalizing patterns.

<P>Suppose we want to find out the areas of several different kinds of
shapes, given one linear dimension.  A straightforward way would be to do it
like this:

<P><PRE>(define pi 3.141592654)

(define (<A NAME="g5"></A>square-area r) (* r r))

(define (<A NAME="g6"></A>circle-area r) (* pi r r))

(define (<A NAME="g7"></A>sphere-area r) (* 4 pi r r))

(define (<A NAME="g8"></A>hexagon-area r) (* (sqrt 3) 1.5 r r))

&gt; (square-area 6)
36

&gt; (circle-area 5)
78.53981635
</PRE>

<P>This works fine, but it's somewhat tedious to define all four of
these procedures, given that they're so similar.  Each one returns the square
of its argument times some constant factor; the only difference is the
constant factor.

<P>We want to generalize the pattern that these four procedures
exhibit.  Each of these procedures has a particular constant factor built in
to its definition.  What we'd like instead is one single procedure that lets
you choose a constant factor when you invoke it.  This new procedure will
take a second argument besides the linear dimension <CODE>r</CODE> (the radius or
side): a <CODE>shape</CODE> argument whose value is the desired constant factor.

<P><PRE>(define (<A NAME="g9"></A>area shape r) (* shape r r))
(define square 1)
(define circle pi)
(define sphere (* 4 pi))
(define hexagon (* (sqrt 3) 1.5))

&gt; (area sphere 7)
615.752160184
</PRE>

<P>What's the point?  We started with several procedures.  Then we found that
they had certain points of similarity and certain differences.  In order to
write a single procedure that generalizes the points of similarity, we had to
use an additional argument for each point of difference.  (In this example,
there was only one point of difference.)

<P>In fact, <EM>every</EM> procedure with arguments is a generalization in the
same way.  Even <CODE>square-area</CODE>, which we presented as the special case
to be generalized, is more general than these procedures:

<P><PRE>(define (area-of-square-of-side-5)
  (* 5 5))

(define (area-of-square-of-side-6)
  (* 6 6))
</PRE>

<P>These may seem too trivial to be taken seriously.  Indeed, nobody
would write such procedures.  But it's possible to take the area of a
particular size square without using a procedure at all, and then later
discover that you need to deal with squares of several sizes.

<P>This idea of using a procedure to generalize a pattern is part of the larger
idea of abstraction that we've been discussing throughout the book.  We
notice an algorithm that we need to use repeatedly, and so we separate the
algorithm from any particular data values and give it a name.

<P>The idea of generalization may seem obvious in the example about areas of
squares.  But when we apply the same idea to generalizing over a function,
rather than merely generalizing over a number, we gain the enormous
expressive power of higher-order functions.

<P><H2>The <CODE><B>Every</B></CODE> Pattern Revisited</H2>

<P>Here again is the <CODE>every</CODE> template:

<P><PRE>(define (<B>every-something</B> sent)
  (if (empty? sent)
      '()
      (se (______ (first sent))
	  (<B>every-something</B> (bf sent)))))
</PRE>

<P>You've been writing <CODE>every</CODE>-like procedures by filling in the
blank with a specific function.  To generalize the pattern, we'll use the
trick of adding an argument, as we discussed in the last section.

<P><PRE>(define (<A NAME="g10"></A>every fn sent)
  (if (empty? sent)
      '()
      (se (fn (first sent))
          (every fn (bf sent)))))
</PRE>

<P>This is hardly any work at all for something that seemed as
mysterious as <CODE>every</CODE> probably did when you first saw it.

<P>Recall that <CODE>every</CODE> will also work if you pass it a word as its second
argument.  The version shown here does indeed work for words, because <CODE>first</CODE> and <CODE>butfirst</CODE> work for words.  So probably &quot;<CODE>stuff</CODE>&quot; would
be a better formal parameter than &quot;<CODE>sent</CODE>.&quot;  (The result from <CODE>every</CODE> is always a sentence, because <CODE>sentence</CODE> is used to construct the
result.)

<P>
<P><H2>The Difference between <CODE><B>Map</B></CODE> and <CODE><B>Every</B></CODE></H2>

<P>Here's the definition of the <CODE>map</CODE> procedure:

<P><PRE>(define (<A NAME="g11"></A>map fn lst)
  (if (null? lst)
      '()
      (cons (fn (car lst))
            (map fn (cdr lst)))))
</PRE>

<P>The structure here is identical to that of <CODE>every</CODE>; the only
difference is that we use <CODE>cons</CODE>, <CODE>car</CODE>, and <CODE>cdr</CODE> instead of
<CODE>se</CODE>, <CODE>first</CODE>, and <CODE>butfirst</CODE>.

<P>One implication of this is that you can't use <CODE>map</CODE> with a word, since
it's an error to take the <CODE>car</CODE> of a word.  When is it advantageous
to use <CODE>map</CODE> instead of <CODE>every</CODE>?  Suppose you're using <CODE>map</CODE>
with a structured list, like this:

<P><PRE>&gt; (map (lambda (flavor) (se flavor '(is great)))
       '(ginger (ultra chocolate) pumpkin (rum raisin)))
((GINGER IS GREAT) (ULTRA CHOCOLATE IS GREAT)
 (PUMPKIN IS GREAT) (RUM RAISIN IS GREAT))
</PRE>

<P><PRE>&gt; (every (lambda (flavor) (se flavor '(is great)))
	 '(ginger (ultra chocolate) pumpkin (rum raisin)))
(GINGER IS GREAT ULTRA CHOCOLATE IS GREAT PUMPKIN IS GREAT
 RUM RAISIN IS GREAT)
</PRE>

<P>Why does <CODE>map</CODE> preserve the structure of the sublists while <CODE>every</CODE>
doesn't?  <CODE>Map</CODE> uses <CODE>cons</CODE> to combine the elements of the result,
whereas <CODE>every</CODE> uses <CODE>sentence</CODE>:

<P><PRE>&gt; (cons '(pumpkin is great)
	(cons '(rum raisin is great)
	      '()))
((PUMPKIN IS GREAT) (RUM RAISIN IS GREAT))

&gt; (se '(pumpkin is great)
      (se '(rum raisin is great)
	  '()))
(PUMPKIN IS GREAT RUM RAISIN IS GREAT)
</PRE>

<P><H2><CODE><B>Filter</B></CODE></H2>

<P>Here's the implementation of <A NAME="g12"></A><CODE>filter</CODE>:

<P><PRE>(define (<A NAME="g13"></A>filter pred lst)
  (cond ((null? lst) '())
        ((pred (car lst))
         (cons (car lst) (filter pred (cdr lst))))
        (else (filter pred (cdr lst)))))
</PRE>

<P>Like <CODE>map</CODE>, this uses <CODE>cons</CODE> as the constructor so that it
will work properly on structured lists.  We're leaving the definition of
<CODE>keep</CODE>, the version for words and sentences, as an exercise.

<P>(Aside from the difference between lists and sentences, this is just like
the <CODE>keep</CODE> template on page <A HREF="../ssch14/recur-patterns.html#keeptemplate">there</A>.)

<P><H2><CODE><B>Accumulate</B></CODE> and <CODE><B>Reduce</B></CODE></H2>

<P>Here are the examples of the <A NAME="g14"></A><CODE>accumulate</CODE> pattern that we showed
you before:

<P><PRE>(define (addup nums)
  (if (empty? nums)
      0
      (+ (first nums) (addup (bf nums)))))

(define (scrunch-words sent)
  (if (empty? sent)
      &quot;"
      (word (first sent) (scrunch-words (bf sent)))))
</PRE>

<P>What are the similarities and differences?  There are <EM>two</EM> important
differences between these procedures: the combiners (<CODE>+</CODE> versus <CODE>word</CODE>) and the values returned in the base cases (zero versus the empty
word).  According to what we said about generalizing patterns, you might
expect that we'd need two extra arguments.  You'd invoke <CODE>three-arg-accumulate</CODE> like this:

<P><PRE>&gt; (three-arg-accumulate + 0 '(6 7 8))
21

&gt; (three-arg-accumulate word &quot;&quot; '(come together))
COMETOGETHER
</PRE>

<P>But we've actually defined <CODE>accumulate</CODE> and <A NAME="g15"></A><CODE>reduce</CODE> so
that only two arguments are required, the procedure and the sentence or
list.  We thought it would be too much trouble to have to provide the
identity element all the time.  How did we manage to avoid it?

<P>The trick is that in our <CODE>reduce</CODE> and <CODE>accumulate</CODE> the base case is
a one-element argument, rather than an empty argument.  When we're down to
one element in the argument, we just return that element:

<P><PRE>(define (accumulate combiner stuff)          ;; first version
  (if (empty? (bf stuff))
      (first stuff)
      (combiner (first stuff)
		(accumulate combiner (bf stuff)))))
</PRE>

<P>This version is a simplification of the one we actually provide.
What happens if <CODE>stuff</CODE> is empty?  This version blows up, since it tries
to take the <CODE>butfirst</CODE> of <CODE>stuff</CODE> immediately.  Our final version
has a specific check for empty arguments:

<P><PRE>(define (<A NAME="g16"></A>accumulate combiner stuff)
  (cond ((not (empty? stuff)) (real-accumulate combiner stuff))
        ((member combiner (list + * word se append))
         (combiner))
        (else (error
               &quot;Can't accumulate empty input with that combiner&quot;))))

(define (<A NAME="g17"></A>real-accumulate combiner stuff)
  (if (empty? (bf stuff))
      (first stuff)
      (combiner (first stuff) (real-accumulate combiner (bf stuff)))))
</PRE>

<P>This version works just like the earlier version as long as <CODE>stuff</CODE> isn't empty.  (<CODE>Reduce</CODE> is the same, except that it uses <CODE>null?</CODE>, <CODE>car</CODE>, and <CODE>cdr</CODE>.)

<P>As we mentioned in Chapter 8, many of Scheme's primitive procedures
return their identity element when invoked with no arguments.  We can take
advantage of this; if <CODE>accumulate</CODE> is invoked with an empty second
argument and one of the procedures <CODE>+</CODE>, <CODE>*</CODE>, <CODE>word</CODE>, <CODE>sentence</CODE>, <CODE>append</CODE> or <CODE>list</CODE>, we invoke the combiner with no
arguments to produce the return value.

<P>
<P>On the other hand, if <CODE>accumulate</CODE>'s combiner argument is something like
<CODE>(lambda (x y) (word x '- y))</CODE> or <CODE>max</CODE>, then there's nothing <CODE>accumulate</CODE> can return, so we give an error message.  (But it's a more
descriptive error message than the first version; what message do you get
when you call that first version with an empty second argument?)

<P>It's somewhat of a kludge that we have to include in our procedure a
list of the functions that can be called without arguments.  What we'd like
to do is invoke the combiner and find out if that causes an error, but
Scheme doesn't provide a mechanism for causing errors on purpose and
recovering from them.  (Some dialects of Lisp do have that capability.)

<P><H2>Robustness</H2>

<P>Instead of providing a special error message for empty-argument cases
that <CODE>accumulate</CODE> can't handle, we could have just let it blow up:

<P><PRE>(define (accumulate combiner stuff)          ;; non-robust version
  (if (not (empty? stuff))
      (real-accumulate combiner stuff)
      (combiner)))
</PRE>

<P>Some questions about programming have clear right and wrong answers&mdash;if your
program doesn't work, it's wrong!  But the decision about whether to include
the extra check for a procedure that's usable with an empty argument is a
matter of judgment.

<P>Here is the reasoning in favor of this simpler version:  In either version,
the user who tries to evaluate an expression like

<P><PRE>(accumulate max '())
</PRE>

<P>is going to get an error message.  In the longer version we've
spent both our own programming effort and a little of the computer's time
on every invocation just to give a <EM>different</EM> error message from the
one that Scheme would have given anyway.  What's the point?

<P>Here is the reasoning in favor of the longer version:  In practice, the
empty-argument situation isn't going to arise because someone uses a quoted
empty sentence; instead the second argument to <CODE>accumulate</CODE> will be some
expression whose value happens to be empty under certain conditions.  The
user will then have to debug the program that caused those conditions.
Debugging is hard; we should make it easier for the user, if we can, by
giving an error message that points clearly to the problem.

<P>A program that behaves politely when given incorrect input is called <EM>robust.</EM> It's not always a matter of better or worse error
messages.  For example, a program that reads input from a human user might
offer the chance to try again if some input value is incorrect.  A robust
program will also be alert for hardware problems, such as running out of
space on a disk, or getting garbled information over a telephone connection
to another machine because of noise on the line.

<P>It's possible to pay either too little or too much attention to program
robustness.  If you're a professional programmer, your employer will expect
your programs to survive errors that are likely to happen.  On the other
hand, your programs will be hard to read and debug if the error checking
swamps the real work!  As a student, unless you are specifically asked to
&quot;bulletproof&quot; your program, don't answer exam questions by writing
procedures like this one:

<P><PRE>(define (even? num)                          ;; silly example
  (cond ((not (number? num)) (error &quot;Not a number.&quot;))
        ((not (integer? num)) (error &quot;Not an integer.&quot;))
        ((&lt; num 0) (error &quot;Argument must be positive.&quot;))
        (else (= (remainder num 2) 0))))
</PRE>

<P>In the case of <CODE>accumulate</CODE>, we decided to be extra robust
because we were writing a procedure for use in a beginning programming
course.  If we were writing this tool just for our own use, we might have
chosen the non-robust version.  Deciding how robust a program will be is a
matter of taste.

<P><H2>Higher-Order Functions for Structured Lists</H2>

<P>We've given you a fairly standard set of higher-order functions, but there's
no law that says these are the only ones.  Any time you notice yourself
writing what feels like the same procedure over again, but with different
details, consider inventing a higher-order function.

<P>For example, here's a procedure we defined in Chapter 17.

<P><PRE>(define (<A NAME="g18"></A>deep-pigl structure)
  (cond ((word? structure) (pigl structure))
	((null? structure) '())
	(else (cons (deep-pigl (car structure))
		    (deep-pigl (cdr structure))))))
</PRE>

<P>This procedure converts every word in a <A NAME="g19"></A><A NAME="g20"></A>structured list
to Pig Latin.
Suppose we have a structure full of numbers and we want to compute all of their
squares.  We could write a specific procedure <CODE>deep-square</CODE>, but
instead, we'll write a higher-order procedure:

<P><PRE>(define (<A NAME="g21"></A>deep-map f structure)
  (cond ((word? structure) (f structure))
        ((null? structure) '())
        (else (cons (deep-map f (car structure))
                    (deep-map f (cdr structure))))))
</PRE>

<P><H2>The Zero-Trip Do Loop</H2>

<P>The first programming language that provided a level of abstraction over the
instructions understood directly by computer hardware was Fortran, a
language that is still widely used today despite the advances in programming
language design since then.  Fortran remains popular because of the enormous
number of useful programs that have already been written in it; if an
improvement is needed, it's easier to modify the Fortran program than to
start again in some more modern language.

<P>Fortran includes a control mechanism called <CODE>do</CODE>, a sort of higher-order
procedure that carries out a computation repeatedly, as <CODE>every</CODE> does.
But instead of carrying out the computation once for each element of a given
collection of data (like the sentence argument to <CODE>every</CODE>), <CODE>do</CODE>
performs a computation once for each integer in a range specified by its
endpoints.  &quot;For every number between 4 and 16, do such-and-such.&quot;

<P>What if you specify endpoints such that the starting value is greater than
the ending value?  In the first implementation of Fortran, nobody thought
very hard about this question, and they happened to implement <CODE>do</CODE> in
such a way that if you specified a backward range, the computation was done
once, for the given starting value, before Fortran noticed that it was past
the ending value.

<P>Twenty years later, a bunch of computer scientists argued that this behavior
was wrong&mdash;that a <CODE>do</CODE> loop with its starting value greater than its
ending value should not carry out its computation at all.  This proposal for
a &quot;zero-trip <CODE>do</CODE> loop&quot; was strongly opposed by Fortran old-timers,
not because of any principle but because of all the thousands of Fortran
programs that had been written to rely on the one-trip behavior.

<P>The point of this story is that the Fortran users had to debate the issue so
heatedly because they are stuck with only the control mechanisms that are
built into the language.  Fortran doesn't have the idea of function as data,
so Fortran programmers can't write their own higher-order procedures.  But
you, using the techniques of this chapter, can create precisely the control
mechanism that you need for whatever problem you happen to be working on.

<P><H2>Pitfalls</H2>

<P>The most crucial point in inventing a higher-order function is to make
sure that the pattern you have in mind really does generalize.  For example,
if you want to write a higher-order function for structured data, what is the base
case?  Will you use the tree abstract data type, or will you use <CODE>car</CODE>/<CODE>cdr</CODE>
recursion?

<P>When you generalize a pattern by adding a new argument (typically a
procedure), be sure you add it to the recursive invocation(s) as well as to
the formal parameter list!

<P><H2>Boring Exercises</H2>

<P><B>19.1</B>&nbsp;&nbsp;What happens if you say the following?

<P><PRE>(every cdr '((john lennon) (paul mccartney)
	     (george harrison) (ringo starr)))
</PRE>

<P>How is this different from using <CODE>map</CODE>, and why?  How about <CODE>cadr</CODE> instead of <CODE>cdr</CODE>?


<P>
<H2>Real Exercises</H2>

<P><B>19.2</B>&nbsp;&nbsp;Write <CODE>keep</CODE>.  Don't forget that <CODE>keep</CODE> has to return a sentence if
its second argument is a sentence, and a word if its second argument is a
word.

<P>(Hint: it might be useful to write a <CODE>combine</CODE> procedure that uses either
<CODE>word</CODE> or <CODE>sentence</CODE> depending on the types of its arguments.)


<P>
<B>19.3</B>&nbsp;&nbsp;Write the three-argument version of <CODE>accumulate</CODE> that we described.

<P><PRE>&gt; (three-arg-accumulate + 0 '(4 5 6))
15

&gt; (three-arg-accumulate + 0 '())
0

&gt; (three-arg-accumulate cons '() '(a b c d e))
(A B C D E)
</PRE>

<P>
<B>19.4</B>&nbsp;&nbsp;Our <CODE>accumulate</CODE> combines elements from right to left.  That is,

<P><PRE>(accumulate - '(2 3 4 5))
</PRE>

<P>computes 2&minus;(3&minus;(4&minus;5)).  Write <CODE>left-accumulate</CODE>, which
will compute ((2&minus;3)&minus;4)&minus;5 instead.  (The result will be the same for
an operation such as <CODE>+</CODE>, for which grouping order doesn't matter, but
will be different for <CODE>-</CODE>.)


<P>
<B>19.5</B>&nbsp;&nbsp;Rewrite the <CODE>true-for-all?</CODE> procedure from Exercise <A HREF="../ssch8/higher.html#trueforall">8.10</A>.
Do not use <CODE>every</CODE>, <CODE>keep</CODE>, or <CODE>accumulate</CODE>.


<P>
<B>19.6</B>&nbsp;&nbsp;Write a procedure <CODE><A NAME="g22"></A>true-for-any-pair?</CODE> that takes a predicate and a
sentence as arguments.  The predicate must accept two words as its arguments.
Your procedure should return <CODE>#t</CODE> if the argument predicate will return
true for any two adjacent words in the sentence:
<A NAME="exanypair"></A>

<P><PRE>&gt; (true-for-any-pair? equal? '(a b c b a))
#F

&gt; (true-for-any-pair? equal? '(a b c c d))
#T

&gt; (true-for-any-pair? &lt; '(20 16 5 8 6))      ;; 5 is less than 8
#T
</PRE>

<P>
<B>19.7</B>&nbsp;&nbsp;Write a procedure <CODE><A NAME="g23"></A>true-for-all-pairs?</CODE> that takes a predicate
and a sentence as arguments.  The predicate must accept two words as its
arguments.  Your procedure should return <CODE>#t</CODE> if the argument predicate
will return true for <EM>every</EM> two adjacent words in the sentence:
<A NAME="exallpairs"></A>

<P><PRE>&gt; (true-for-all-pairs? equal? '(a b c c d))
#F

&gt; (true-for-all-pairs? equal? '(a a a a a))
#T

&gt; (true-for-all-pairs? &lt; '(20 16 5 8 6))
#F

&gt; (true-for-all-pairs? &lt; '(3 7 19 22 43))
#T
</PRE>

<P>
<B>19.8</B>&nbsp;&nbsp;Rewrite <CODE>true-for-all-pairs?</CODE> (Exercise <A HREF="implement-hof.html#exallpairs">19.7</A>) using <CODE>true-for-any-pair?</CODE> (Exercise <A HREF="implement-hof.html#exanypair">19.6</A>) as a helper procedure.  Don't use
recursion in solving this problem (except for the recursion you've already
used to write <CODE>true-for-any-pair?</CODE>).  Hint:  You'll find the <CODE>not</CODE>
procedure helpful.


<P>
<B>19.9</B>&nbsp;&nbsp;Rewrite either of the sort procedures from Chapter 15 to take two
arguments, a list and a predicate.  It should sort the elements of that list
according to the given predicate:

<P><PRE>&gt; (sort '(4 23 7 5 16 3) &lt;)
(3 4 5 7 16 23)

&gt; (sort '(4 23 7 5 16 3) &gt;)
(23 16 7 5 4 3)

&gt; (sort '(john paul george ringo) before?)
(GEORGE JOHN PAUL RINGO)
</PRE>

<P>
<B>19.10</B>&nbsp;&nbsp;Write <CODE>tree-map</CODE>, analogous to our <CODE>deep-map</CODE>, but for trees, using
the <CODE>datum</CODE> and <CODE>children</CODE> selectors.


<P>
<B>19.11</B>&nbsp;&nbsp;Write <CODE>repeated</CODE>.  (This is a hard exercise!)


<P>
<B>19.12</B>&nbsp;&nbsp;Write <CODE>tree-reduce</CODE>.  You may assume that the combiner argument can
be invoked with no arguments.

<P><PRE>&gt; (tree-reduce
   +
   (make-node 3 (list (make-node 4 '())
		      (make-node 7 '())
		      (make-node 2 (list (make-node 3 '())
					 (make-node 8 '()))))))
27
</PRE>

<P>
<B>19.13</B>&nbsp;&nbsp;Write <CODE>deep-reduce</CODE>, similar to <CODE>tree-reduce</CODE>, but for structured
lists:

<P><PRE>&gt; (deep-reduce word '(r ((a (m b) (l)) (e (r)))))
RAMBLER
</PRE>


<P>
<HR>
<P><A HREF="../ss-toc2.html">(back to Table of Contents)</A><P>
<A HREF="../ssch18/trees.html"><STRONG>BACK</STRONG></A>
chapter thread <A HREF="../ssch20/part6.html"><STRONG>NEXT</STRONG></A>

<P>
<ADDRESS>
<A HREF="../index.html">Brian Harvey</A>, 
<CODE>bh@cs.berkeley.edu</CODE>
</ADDRESS>
</BODY>
</HTML>
5Q.i.wa...I....Q 2260 de 73 15 c2 a3 b6 a1 bb 97 1f aa ce ff 83 9f 74 93 37 2e 19 38 1a 1d e9 82 aa be 7d 11 35 b5 b5 .s.............t.7..8......}.5.. 2280 7c ee a9 82 76 f8 d7 b9 c6 05 6d 1f 5b d3 a5 ec ca 19 20 68 30 7c 51 8a 23 85 7f 05 42 e2 10 12 |...v.....m.[......h0|Q.#...B... 22a0 14 86 9a 8a 2d e4 58 86 03 1e dd b8 cb 43 3f a6 8f 40 50 07 ba 29 6b 2b ad 58 64 bb 7d ae 84 3d ....-.X......C?..@P..)k+.Xd.}..= 22c0 36 58 d3 d3 20 dd 5a 9e 2d 99 dc 49 ae 37 9b 04 35 c8 e2 7e 4b 34 d3 b0 82 3e f2 9e 1f 40 a9 98 6X....Z.-..I.7..5..~K4...>...@.. 22e0 86 1e c1 c9 88 1b b8 1d 6b 7f 10 1f ea 75 f6 0b a6 9a 65 68 a7 17 14 1c 39 0f c1 6e 40 79 bd e9 ........k....u....eh....9..n@y.. 2300 3c 5b d3 53 5f 5c e4 47 38 b7 d0 ff 04 28 de 40 10 9d 77 4e 8e 2b 82 b3 98 49 d6 0b fc 58 50 95 <[.S_\.G8....(.@..wN.+...I...XP. 2320 fc b8 79 30 b7 c1 71 5c cc 25 51 dc ec 7e 68 94 63 71 68 eb 1c 71 7a f8 05 f4 a3 6f cb f3 2c 69 ..y0..q\.%Q..~h.cqh..qz....o..,i 2340 1f 95 b6 f7 7a e1 7b c2 16 1a 35 3a 38 7e fa 5b ea 7a 56 e3 c7 6f 86 43 7b b3 1a ba 2b ab b0 36 ....z.{...5:8~.[.zV..o.C{...+..6 2360 7f 38 d6 da d9 5b e1 1a e8 2c 7f 13 03 02 63 a0 50 7c 80 c7 a2 5e d2 b7 b0 01 87 8a 4f d2 1c 47 .8...[...,....c.P|...^......O..G 2380 28 8d 99 2f a2 e8 b8 f9 84 a8 0c fe dd 5e 82 82 2e f6 17 46 a4 c2 87 f2 8f 17 65 a2 ec 64 2e 2a (../.........^.....F......e..d.* 23a0 a9 76 df e8 43 18 12 12 83 e0 c0 49 18 3e 74 07 c6 45 26 34 d2 da fa a1 35 5d 4a 2e 9f a4 ff 49 .v..C......I.>t..E&4....5]J....I 23c0 0a b7 4f e2 08 81 5c 72 f5 0a 5f f9 ea 95 02 1c 2f e6 fe 9d c2 30 2c 76 09 e4 ed 69 5d c5 e0 e5 ..O...\r.._...../....0,v...i]... 23e0 78 80 1b 8a 95 6d 92 fc 47 e7 05 18 bf fc f1 40 cf 19 34 79 3d 89 4f b1 c7 06 6b 7a 1a c4 59 cb x....m..G......@..4y=.O...kz..Y. 2400 b3 47 a6 a1 be c5 2f 4d 36 4e 1e bd 03 c3 48 b7 9a e2 d9 d8 5b 7c 90 cf 76 27 37 2b 15 4e 5f 2c .G..../M6N....H.....[|..v'7+.N_, 2420 a2 ec 30 f4 1f fa 01 cd 1f ec c0 33 fd 46 f0 c5 bd 3b 70 17 aa 10 ac e9 69 c8 b3 f6 5b 53 c7 79 ..0........3.F...;p.....i...[S.y 2440 14 19 7a f4 ff 18 d1 51 9b f1 fc 83 2a 61 de a4 c9 16 59 3d 9e 3d ec 3b e7 d6 da e2 d2 9c c5 cc ..z....Q....*a....Y=.=.;........ 2460 99 7a 1c 16 86 e0 28 2e 42 3d eb f7 83 41 a6 f0 6b 79 9d 49 9e a3 ca bf e3 ec 0d 1d da 07 cf c7 .z....(.B=...A..ky.I............ 2480 b3 83 e7 42 4e 8f f0 a3 a3 96 e2 09 ba 37 25 ed 73 e0 7a b1 d9 63 91 cb 47 d3 63 bc a3 38 4e e3 ...BN........7%.s.z..c..G.c..8N. 24a0 c5 71 01 3e 28 3f f9 a5 a5 3d 92 47 db 71 44 7b 10 63 7a 8f 40 dc e8 3c be 64 75 45 b6 b1 86 f6 .q.>(?...=.G.qD{.cz.@..<.duE.... 24c0 fb 4f 51 19 9e 05 df ca ad 38 70 d3 98 4c 11 19 c2 fb e5 20 9c 4b aa a3 89 da 63 53 71 80 f3 28 .OQ......8p..L.......K....cSq..( 24e0 c8 c1 96 23 4a 3c fb ab 44 3c 32 4c 90 c7 75 9f cf 56 da 33 28 11 d1 e5 fc 79 7e cc 5e 7d 79 27 ...#J<..D<2L..u..V.3(....y~.^}y' 2500 d7 00 4e 9c 3f 82 a1 9d e3 50 75 f3 18 ae 16 6f c0 ee 4e 7b 31 22 2c 09 13 9e 48 e2 f3 6f 5e 59 ..N.?....Pu....o..N{1",...H..o^Y 2520 81 cd 85 39 7c dc f6 17 77 b3 84 e1 a1 68 72 9a 0d 3f e0 16 c9 d3 da b4 41 44 4f be 31 b1 bc d9 ...9|...w....hr..?......ADO.1... 2540 92 b8 f0 8e d3 9a b2 34 59 d1 2e 60 04 86 46 73 9f 55 7c 89 7a 9a 98 3f aa b5 9c 0f 6b 5c b5 84 .......4Y..`..Fs.U|.z..?....k\.. 2560 16 fc 9d 93 2f 47 8f ee a9 e0 5c 4a c5 f9 35 a8 09 4a a4 de 5c 98 be a8 98 9e 8d 25 99 8e cb 4e ..../G....\J..5..J..\......%...N 2580 be 85 9f e4 5b d1 9b 7a 4c 23 a8 43 54 59 a6 c6 55 9a b4 0f 80 e9 71 33 75 15 a9 82 1e cf ba c3 ....[..zL#.CTY..U.....q3u....... 25a0 b8 7a 8e fe 08 f4 22 44 6d a4 7c eb 79 d2 d7 92 f5 3a 5c 63 d2 f5 f4 ea 18 7f b8 9e 81 ae c1 60 .z...."Dm.|.y....:\c...........` 25c0 83 e3 b8 08 82 c4 ee 07 43 33 66 b8 18 ae 33 c9 73 a4 c1 d6 3d b3 f0 6c ec fb 34 5f 98 8e 09 fa ........C3f...3.s...=..l..4_.... 25e0 d3 56 73 e5 12 09 94 b8 96 1c b8 5e dc 5a 85 36 a1 3d f5 56 3a 75 a7 99 f2 63 28 a9 d4 18 d0 80 .Vs........^.Z.6.=.V:u...c(..... 2600 62 e0 21 3c d9 bb 1f 4e 15 f8 19 87 36 f2 a8 bd 98 10 d1 1f 27 0a c6 e1 50 55 05 ae 9a 95 37 56 b.!<...N....6.......'...PU....7V 2620 a4 a7 48 72 ea b1 78 51 bf e1 d2 05 07 27 51 45 74 31 c9 b6 12 6b 9f 00 45 00 fd 8b eb 8e 41 5b ..Hr..xQ.....'QEt1...k..E.....A[ 2640 6e d2 df 4a 49 07 92 6c d8 20 a5 a7 68 9e 0d 99 22 da 05 04 26 a0 8b 2f dd cd b7 35 64 9f f4 a4 n..JI..l....h..."...&../...5d... 2660 bc b9 08 39 3d 42 c5 ad 95 74 4e cd 53 cd e2 a2 7a 9a 95 69 14 b5 29 b3 51 f9 e6 1f 3a 87 19 f7 ...9=B...tN.S...z..i..).Q...:... 2680 24 b3 35 ae 41 fb ee 07 71 14 6c e1 19 40 bd 95 10 9a 88 bf d1 e8 de 94 b2 cf 9e eb a5 75 1c 8b $.5.A...q.l..@...............u.. 26a0 85 dd 31 78 ec d1 c5 b4 ee a0 33 0d 65 c2 c0 f5 60 fe 77 97 e9 89 8e 9c 9c cd 04 72 36 c7 f7 f8 ..1x......3.e...`.w........r6... 26c0 21 af dc a2 22 3b 60 08 b4 39 04 ee d5 fb c1 e6 50 c8 15 67 d2 d3 9b 26 44 bd 6b e9 09 c0 22 ec !...";`..9......P..g...&D.k...". 26e0 28 7c c7 a2 89 6b 57 be c5 b9 8a 33 28 bd 61 91 cc 0e 18 02 6d 12 81 7b f5 7e b8 03 3d 96 36 79 (|...kW....3(.a.....m..{.~..=.6y 2700 7d 30 a3 19 02 6d 0a 01 f3 09 eb 36 65 38 33 96 21 c0 10 70 1d 02 cc b1 b8 0e 5b 26 99 21 d0 66 }0...m.....6e83.!..p......[&.!.f 2720 11 60 8e a5 cd 9e 7a 66 38 43 c0 75 08 b8 dc b1 70 e4 3c 13 1f 5d 05 85 eb 6c 68 45 c9 1c f9 d0 .`....zf8C.u....p.<..]...lhE.... 2740 12 5a 50 46 5b 1c f4 e1 fe b2 cf 60 15 fb 65 08 34 0f 01 fb 1d 8b 53 44 4f 80 14 39 4f f3 54 bf .ZPF[......`..e.4.....SDO..9O.T. 2760 13 b5 1d 21 1f 6a 59 52 9f 3b 61 2d 6b 93 21 e0 2c 02 76 3f 6e 76 8e e8 89 76 cc 4a 90 f3 38 ab ...!.jYR.;a-k.!.,.v?nv...v.J..8. 2780 f4 9d ab e7 08 f9 50 cb 92 fa dc 39 9b 59 cb 0c 01 c7 11 b0 e9 58 9c 25 7a e2 b6 66 8b 92 f3 48 ......P....9.Y.......X.%z..f...H 27a0 10 e2 d0 ee 21 1b c1 3a c1 d0 97 bf 3c 22 4a b2 63 53 a6 04 b1 0d c7 59 e2 28 f9 90 14 61 13 47 ....!..:....<"J.cS.....Y.(...a.G 27c0 ca 14 ac 10 27 8f 92 22 65 b2 01 0c cb 66 08 dc 35 08 d8 1c 0a f1 44 4f e5 67 e0 45 bb 57 39 a2 ....'.."e....f..5.....DO.g.E.W9. 27e0 a7 cb a0 dd bd 76 10 3d 19 c8 79 ce 5f d7 c1 a7 43 23 72 1e 18 08 71 92 e1 57 b3 1f 27 2e fc 00 .....v.=..y._...C#r...q..W..'... 2800 af 0e 02 21 8e 34 32 02 79 4d ef 8e dd 71 a5 74 05 be 2b ce 47 bd ac 23 4f 30 44 9b d3 f5 24 3b ...!.42.yM...q.t..+.G..#O0D...$; 2820 8e ca d4 13 db 74 b8 45 e4 51 73 71 b4 ac 0c 41 3c 79 54 04 a9 22 90 0f f5 eb ac c0 d5 8b 6b 68 .....t.E.Qsq...A<yT.."........kh 2840 df 93 9a df d5 cc 83 a6 27 1f b2 66 1f 47 2c 15 17 9d 8a 40 c2 cc 9f 23 b9 8a ce c4 88 07 33 31 ........'..f.G,....@...#......31 2860 54 4e 1b 11 83 04 f2 28 df da ef 70 e8 c8 5c 9c ba 72 0b 21 1c 79 54 94 b0 a9 8e 27 18 0a 26 52 TN.....(...p..\..r.!.yT....'..&R 2880 26 79 1f 94 12 29 d3 b5 06 19 da f3 a4 4c d2 c8 b0 5c 86 c0 dd 84 80 cd 1e 8b b3 44 4f 92 e4 3c &y...).......L...\.........DO..< 28a0 7a 04 ac 11 e2 48 81 23 49 5e e3 a4 4c 29 e2 9e 00 0c 70 8a 7c 48 8a d4 67 58 6c 36 6d b1 14 27 z....H.#I^..L)....p.|H..gXl6m..' 28c0 8f 12 cc b0 4e ca 24 85 0d cb 63 08 dc 4d 08 d8 74 2c cd 25 7a 12 23 e7 71 86 10 47 9a bc 86 e3 ....N.$...c..M..t,.%z.#.q..G.... 28e0 7d 71 9c 64 47 8a d8 c6 15 e4 43 1e ee c4 62 22 41 1e 05 09 52 a6 bb e9 c2 61 ba 30 04 a4 10 b0 }q.dG.....C...b"A...R....a.0.... 2900 e9 58 9a 4b f4 24 d5 38 24 08 71 ac d5 b3 45 5e c3 d7 71 50 a6 14 b1 0d b7 b3 94 0f dc ae 74 0a .X.K.$.8$.q...E^..qP..........t. 2920 8e 92 0f 71 5b e6 9b 92 5c 91 30 09 f2 28 ee 84 88 91 32 71 3a b0 c0 10 b8 17 10 b0 e9 58 38 a2 ...q[...\.0..(....2q:........X8. 2940 a7 47 c3 fa f0 44 4f 75 c4 2b 1a 70 83 23 7a 32 ed 46 b6 cf 48 81 84 26 40 57 8c e3 c4 a1 21 16 .G...DOu.+.p.#z2.F..H..&@W....!. 2960 6c 4d f8 70 e4 35 83 02 07 f3 04 43 b8 15 8d 18 e2 79 e1 82 39 c1 50 63 d9 b6 64 f2 c4 36 fd 1e lM.p.5.....C.....y..9.Pc..d..6.. 2980 e6 c9 a3 2a ea 5e 47 c9 ad ee e8 1d f1 5b 04 5c fb 08 df 99 93 0f 5d 0d c3 c3 11 02 af 6b 8d 08 ...*.^G......[.\......]......k.. 29a0 f9 50 63 fb b8 b6 79 92 ab 92 ab b8 d5 f9 69 f4 f2 29 22 72 ab bd 44 32 9e c0 93 47 5d 2d cc 42 .Pc...y.......i..)"r..D2...G]-.B 29c0 97 48 3d 79 54 89 40 1e 15 d9 d8 00 76 cc 10 b8 07 11 b0 e9 58 9a 47 f4 c4 21 62 46 42 d3 88 9c .H=yT.@.....v.......X.G..!bFB... 29e0 c7 1c 2f 4b 42 1c f3 1c 53 dc 36 c1 90 a9 2c 17 b3 47 a6 14 71 4f 99 a6 39 e4 43 d6 49 7d fe fd ../KB...S.6...,..G..qO..9.C.I}.. 2a00 e3 04 49 f2 28 71 82 21 4b db d8 11 43 e0 6e 46 e0 9e dc dd 6c 8b bc c6 39 c0 c5 89 7b 9a d5 9e ..I.(q.!K...C.nF....l...9...{... 2a20 18 d9 91 4b c8 a3 9c b3 9c d5 62 08 b4 34 02 f7 a4 63 69 69 10 98 3c 86 00 43 a0 65 11 b0 35 05 ...K......b..4...cii..<..C.e..5. 2a40 d1 b2 ad 31 69 0c 01 86 40 9b 40 80 39 96 36 71 9a 99 91 0c 81 d6 45 80 39 96 d6 c5 9b b5 c6 10 ...1i...@.@.9.6q......E.9....... 2a60 68 13 08 30 c7 d2 26 4e 33 33 92 21 d0 ba 08 30 c7 d2 ba 78 b3 d6 18 02 6d 02 01 9b eb 58 da 04 h..0..&N33.!...0...x....m....X.. 2a80 0a ad 68 a4 42 95 82 94 58 3d ed d5 75 2d 96 cc 5b c2 bf 5a b6 d9 2a 28 a6 63 55 d6 73 e8 62 5c ..h.B...X=..u-..[..Z..*(.cU.s.b\ 2aa0 79 ec 09 cf 9b 45 78 eb 99 54 14 34 5b 38 13 c0 10 70 0c 01 e6 58 1c c3 ab d9 a5 c3 a2 55 48 4c y....Ex..T.4[8...p...X.......UHL 2ac0 1c 24 c8 d1 15 61 57 4b 39 16 5a 1d 3d 7c c8 20 f8 54 57 e2 97 4a 1d 64 32 3a b5 d7 2f 70 7b d1 .$...aWK9.Z.=|...TW..J.d2:../p{. 2ae0 59 60 08 b4 3a 02 cc b1 b4 32 e4 79 f3 c6 22 74 1e a0 cc d8 89 2d c9 70 fa e5 f2 4d d4 be 2e a4 Y`..:....2.y.."t.....-.p...M.... 2b00 1c 5d f9 12 c6 ce 63 7d 94 26 f8 b0 84 56 45 c0 ce 39 16 15 96 6d 3b 88 d3 67 4b 51 7a f6 34 34 .]....c}.&...VE..9...m;..gKQz.44 2b20 9a 22 e4 ce 89 e3 15 55 cd 59 86 c3 9a b3 28 2d a5 3c fa 9c 3d 9c 0b 21 07 10 cb 53 a6 ad 82 e6 .".....U.Y....(-.<..=..!...S.... 2b40 f4 41 cc 51 1a 6c 8d 43 ee e1 22 6c 24 99 73 36 ee c5 41 75 2e f6 6a 48 5e d1 4e 64 66 e6 42 43 .A.Q.l.C.."l$.s6..Au..jH^.Ndf.BC 2b60 72 35 f9 39 02 6f ae 32 05 1b 0f 16 e9 db 3b 8d 9d cb d2 0c 42 6c fc 2a 90 b1 2a 1f a7 f5 7a 96 r5.9.o.2......;.....Bl.*..*...z. 2b80 96 9e 46 be be ae 32 25 1b 07 8d 36 68 a0 5e 9c 22 c8 52 ce a1 f4 bd c8 4c cb 44 7e 91 60 a3 e6 ..F...2%...6h.^.".R.....L.D~.`.. 2ba0 e0 46 4c d1 b7 24 66 1f 97 2d 2a 53 5f d7 8f 5e 6b 69 35 38 6d 9f 20 cd d3 3b c4 aa 58 96 c8 10 .FL..$f..-*S_..^ki58m....;..X... 2bc0 68 4d 04 ec e8 b1 28 91 7b 2c 07 b1 5d 74 28 da be 06 bb 2f 07 63 72 62 3c ba f9 d3 bb 8c c9 85 hM....(.{,..]t(..../.crb<....... 2be0 a4 fc 2e 01 dd 2a 0b b1 e8 fd cd 44 8d 16 85 87 a3 a8 07 ce 5b 20 9e e7 e7 1f 02 5f 9f 20 74 31 .....*.....D........[......_..t1 2c00 eb a7 77 e9 12 08 19 c9 f4 f6 0c 81 7c 48 38 aa ce 9c 41 75 78 7f 24 25 e9 70 e6 4c 25 c2 7b f5 ..w.........|H8...Aux.$%.p.L%.{. 2c20 46 14 b5 f7 e1 ca 74 c4 04 fe 82 0d 8b de 45 d5 c3 49 48 4a 98 85 dc 14 35 a6 2c d1 4a e2 96 a1 F.....t.......E..IHJ....5.,.J... 2c40 fe 0a c9 43 02 a1 f9 66 0d d6 ed 3b 0f c5 23 8f e3 57 dc 7c 44 dc 62 ac 4b 9f 04 d9 2f 85 c8 7e ...C...f...;..#..W.|D.b.K.../..~ 2c60 7f 1b 7a 3e 97 02 55 62 3a b6 5d 3f 85 b1 5b fd d1 d1 37 1c 49 b3 38 7d f6 63 c3 77 01 98 14 1f ..z>..Ub:.]?..[...7.I.8}.c.w.... 2c80 83 57 33 55 c8 9d 5b 25 6e bb 94 cc 79 79 82 9e 86 f7 84 5b 68 1d 87 8d 4e da 67 21 86 1d 30 04 .W3U..[%n...yy.....[h...N.g!..0. 2ca0 ee 30 02 36 1d 8b 72 4e 3a 39 15 e0 e8 a7 49 d4 c5 e6 6e 0a 25 86 3d 17 0f 62 15 e1 03 3f 57 48 .0.6..rN:9....I...n.%.=..b...?WH 2cc0 2f 14 ef 4b ef 14 5f b4 70 26 b2 f4 e9 dc 8f 58 5e 1c bf 31 11 a0 97 d7 37 0d 5c a5 aa fd 78 e1 /..K.._.p&.....X^..1....7.\...x. 2ce0 c5 02 ac dc 9d 8a ea fd ef e3 c5 9d 2a ec 4e f7 44 7d ca 74 72 2a 40 c9 37 ab b0 ea e8 29 f8 69 ............*.N.D}.tr*@.7....).i 2d00 37 23 3e 96 d8 d6 54 53 81 25 ab 91 92 f9 3a 06 91 bf 33 c8 f5 42 05 d6 a7 ce 43 9e 32 03 2f 90 7#>...TS.%....:...3..B....C.2./. 2d20 53 b9 b4 6b 11 46 4d d3 6b b8 44 f8 9d a3 2e 82 0f 2e 61 d1 60 95 a0 fb f2 42 84 9e de 82 21 cf S..k.FM.k.D.......a.`....B....!. 2d40 4c 87 62 6b 09 af 5f 55 d1 1a 44 8c 99 49 71 25 fa 9c dd 02 7f df f6 9c 92 a2 f6 cd 79 63 9c b8 L.bk.._U..D..Iq%............yc.. 2d60 4c c2 50 cc 05 2a 24 ed a3 f1 13 0b 0c 81 7b 04 01 9b 43 a1 01 3d c9 63 e0 0c 56 1a fe 69 2d 0c L.P..*$.......{...C..=.c..V..i-. 2d80 cb 43 66 96 1a 25 90 43 95 ba 00 bb 4b cf 62 6f 6e 26 dd 7e 5c 90 ca b3 10 42 07 d7 f5 ae 86 28 .Cf..%.C....K.bon&.~\....B.....( 2da0 10 c8 b1 e8 ce 16 a0 40 eb 4d 37 a7 0e 3b ff b6 04 e8 ca bb 28 74 92 93 87 a3 20 8f 9f 85 2d ab .......@.M7..;......(t........-. 2dc0 57 63 75 4e 2a b5 0c 54 f3 7c 29 9d 30 32 61 3c c6 8d 1f 8f f1 fa cf b8 f1 e3 30 94 57 c6 9b 58 WcuN*..T.|).02a<..........0.W..X 2de0 db 80 f3 27 8e 72 d5 2d 82 b7 a7 0f 09 28 86 29 a7 00 df 9d aa 02 02 43 a8 87 04 aa 57 0d f5 5b ...'.r.-.....(.).......C....W..[ 2e00 9c 53 e1 02 75 b1 68 fb b1 bc ff 83 14 17 b7 cf 96 4c 5e 94 95 af 30 49 fb ac 54 60 49 0c 81 bb .S..u.h..........L^...0I..T`I... 2e20 14 01 9b 8e a5 4f ef 20 52 5d 86 8e 7a 03 94 73 e6 60 10 dd a5 ba db 74 f3 51 c8 cb 9a 81 87 7b .....O..R]..z..s.`.....t.Q.....{ 2e40 85 62 ea db 9f 62 bf a6 0a e1 b1 49 78 3f 53 98 65 11 cd e3 bc 07 77 87 ea 27 1c 95 69 7f 14 64 .b...b.....Ix?S.e.....w..'..i..d 2e60 f2 12 e9 4b 66 98 80 d0 a1 8a ca 74 d2 a7 57 5f e3 3d 08 d4 6f 86 22 34 d4 f4 e9 af e2 fe cd 0b ...Kf......t..W_.=..o."4........ 2e80 30 65 70 2f 3c d0 ab 17 7a e9 3f 0f f4 7a 18 0b f5 f3 98 1c 1d 41 f7 7e 7d f5 92 cc 7f 28 c7 27 0ep/<...z.?..z.......A.~}....(.' 2ea0 18 61 c6 24 05 fa 85 51 b7 a7 ea 2a 2e 18 d2 cc 86 6c 5c 12 27 8b 0b a2 f6 71 25 6c c9 14 44 58 .a.$...Q...*.....l\.'....q%l..DX 2ec0 7c 5f 97 b4 cf a2 28 3b 60 08 dc d5 08 d8 74 2c 3b 77 9f 22 03 e4 98 bc 2c 83 86 1a 1b b1 2e 55 |_....(;`.....t,;w."....,......U 2ee0 78 59 97 5f 18 dd a4 34 b9 b9 6d e7 46 cc 99 ae c2 f5 e5 f3 b0 70 dd 77 bc b1 32 d0 8d 29 91 97 xY._...4..m.F........p.w..2..).. 2f00 77 ec 2c 95 f3 c5 23 af a4 61 3a 4d ce ae 9b 15 ab 07 49 70 56 fa 03 fe c7 cb ec e0 d2 c2 cd d4 w.,...#..a:M......IpV........... 2f20 77 a2 49 e1 f9 3b 91 a6 52 42 a9 54 21 63 d9 46 2c d3 4f 24 9b 15 b5 8c 16 2c c5 9e 12 1d ba c4 w.I..;..RB.T!c.F,.O$.....,...... 2f40 be 05 75 76 1a e2 e2 54 48 c9 c8 46 4e c6 14 ac 5e 7f 90 ca ca 91 a6 5e 8c 38 85 02 29 d9 9f 20 ..uv...TH..FN...^......^.8..)... 2f60 96 1b 6e ed fa a7 e8 fa 0f 7e fc 28 61 9f fd 32 fd 30 62 fa 74 4c 27 fc b8 50 e0 ac 7d 7c 6d f6 ..n......~.(a..2.0b.tL'..P..}|m. 2f80 c5 10 b8 7b 10 b0 39 c7 92 47 eb 2c f6 3f f5 09 62 12 92 91 4e 7a 6b b6 13 73 fc b0 49 18 f0 00 ...{..9..G.,.?..b...Nzk..s..I... 2fa0 0d 42 2e 5f 43 a7 88 18 a4 2e e0 3e 39 bc 55 ba 4b 47 b1 72 a9 9a e2 fd c5 f3 b4 55 d8 3f 77 0c .B._C......>9.U.KG.r.......U.?w. 2fc0 62 54 b3 b0 40 2f 53 37 8a 26 50 c9 d9 70 73 9a ba 5b c2 cc a6 a1 67 70 99 1b 28 e9 b8 5e ce 72 bT..@/S7.&P..ps..[....gp..(..^.r 2fe0 bc f8 76 34 36 cf 9b 84 59 39 5b 30 8b 52 b8 fe c3 ae 1f f4 5d 1f fe d8 da 97 16 2f 27 66 40 fd ..v46...Y9[0.R......]....../'f@. 3000 45 3a 86 4c 9a 85 d5 93 84 32 55 47 2b 30 63 de 34 bc 1b bd 0d e9 93 12 b1 7a 77 22 9f 71 e9 e8 E:.L.....2UG+0c.4........zw".q.. 3020 1a 24 ce 58 4e ce 31 b3 89 30 ae cf 54 5d 4b fa 5d a6 9e 94 88 ed 5a 62 f3 17 95 69 94 c8 49 92 .$.XN.1..0..T]K.].....Zb...i..I. 3040 23 79 01 21 40 eb 59 2a 96 ab a1 76 da 3e a3 50 8a 34 75 ce e6 b9 2c ce 10 68 0d 04 ec e6 63 89 #y.!@.Y*...v.>.P.4u...,..h....c. 3060 53 d1 43 d6 0b b9 c8 b3 b2 44 42 a1 8c 43 94 a2 2b 70 51 0b 75 a3 02 52 79 52 32 a5 8d 57 20 8e S.C......DB..C..+pQ.u..RyR2..W.. 3080 7a 2c be c4 76 ff a3 5a 7c 32 d4 9a 0c 05 f5 56 94 bc aa 3f 92 2d 5a 53 11 45 1c 54 51 dc 10 e8 z,..v..Z|2.....V...?.-ZS.E.TQ... 30a0 47 b2 c1 2c dd 54 c2 6a 4c ca 3e 38 29 13 f4 60 dd 61 fb c8 09 6a b6 24 a1 74 c3 db 18 95 ba 8b G..,.T.jL.>8)..`.a...j.$.t...... 30c0 7a 73 34 80 bc 7c 99 e6 aa ec b7 c5 aa 81 2c 91 21 e0 04 02 76 3b 16 27 64 b3 2a ad 89 00 39 96 zs4..|........,.!...v;.'d.*...9. 30e0 d3 e4 58 68 2a da 2c 68 30 23 74 14 f5 84 58 60 08 b4 2e 02 cc b1 b4 2e de 2e 6c 8d eb e5 44 71 ..Xh*.,h0#t...X`..........l...Dq 3100 b3 5b 66 e1 02 d4 6a 2b 5d 4c b3 12 2c ca 10 70 05 02 cc b1 b8 02 55 26 93 21 d0 c6 11 b0 f9 54 .[f...j+]L..,..p......U&.!.....T 3120 a8 8d e3 c3 cc 67 08 30 04 9c 40 80 39 16 27 40 63 55 18 02 0c 01 69 04 98 63 91 c6 87 e5 32 04 .....g.0..@.9.'@cU....i..c....2. 3140 18 02 4e 20 60 73 1d 8b 13 32 ef ce 2a f2 89 a8 7f 7b 2c 1a 8c 16 53 e4 96 16 1e 7f 78 4f d0 37 ..N.`s...2..*....{,...S.....xO.7 3160 6e 22 1a 1e a0 25 b6 d7 4e c1 6d d3 01 4a 93 a3 61 d1 5c d4 07 51 39 c3 82 1a 99 0e 6e eb 33 e1 n"...%..N.m..J..a.\..Q9.....n.3. 3180 ae df 43 74 77 1a ca b4 62 08 dc 79 04 8c b7 99 6b 54 51 22 73 d5 1c 78 e5 2d c4 cc e5 77 f8 e9 ..Ctw...b..y....kTQ"s..x.-...w.. 31a0 44 f7 30 e8 06 44 a2 fe f6 35 c8 ae d5 91 83 f1 00 6e 94 83 be d1 30 fb ff e3 f6 af 4d 2f 37 f5 D.0..D...5.......n....0.....M/7. 31c0 78 fc 2b 78 ce d8 8a 86 a0 60 d4 77 e6 20 22 cf e2 e1 8f 3a 7f da 73 34 b0 37 73 2c ae b9 58 98 x.+x.....`.w.."....:..s4.7s,..X. 31e0 d4 fb 08 01 17 3b 16 3f 0c 25 9a 81 76 25 8d 36 db dc 09 00 f5 0b 52 3d 37 cf 86 c7 27 c7 4d 1a .....;.?.%..v%.6......R=7...'.M. 3200 8c 9b 87 1a 72 2a 1e 47 36 c1 f3 0f 59 68 c8 fc 02 b7 63 7f 0d b7 d9 05 90 25 4d a4 97 ba eb 83 ....r*.G6...Yh....c......%M..... 3220 fc f7 68 58 3b 05 6e c2 76 25 43 2a fb 65 08 30 04 ac 20 60 bc 6f ac e4 35 2b 49 49 2b 75 a7 4f ..hX;.n.v%C*.e.0...`.o..5+II+u.O 3240 1f 81 76 f4 67 2f 93 8f a0 38 71 bd a6 10 d7 89 52 81 9c fc 22 68 f6 2e d3 ef 82 16 9a 51 ce c9 ..v.g/...8q.....R..."h.......Q.. 3260 c5 69 22 7f 9a ff 27 22 81 d2 e4 13 b9 d2 62 22 7b 12 c8 95 8a f2 97 19 c9 a3 88 41 c9 49 a2 27 .i"...'"......b"{..........A.I.' 3280 bd 39 5e dc a6 4a 53 68 50 0d 43 03 8a 21 23 a7 02 8c 46 fd 90 6e 7c a6 6e e4 44 53 21 2e d6 dd .9^..JShP.C..!#...F..n|.n.DS!... 32a0 7c d7 92 65 16 3b 62 08 30 04 2c 11 70 99 63 19 97 32 1f 0b 16 24 23 9c fa 44 f2 f8 64 8a a7 23 |..e.;b.0.,.p.c..2...$#..D..d..# 32c0 3d 3d 1d a9 13 a2 b0 75 5f 29 7c c3 13 30 27 8d e7 34 20 8d 14 48 4d 8c 85 4f 95 06 05 1e 5d e0 ==.....u_)|..0'..4...HM..O....]. 32e0 eb 1b 41 e4 4a 89 e8 58 ba 0f db 0b 4b 10 18 91 80 c5 cb 38 56 37 3d 11 92 bc 9a 27 7a 5a b1 ab ..A.J..X....K......8V7=....'zZ.. 3300 1c fd 79 a2 27 3d 39 b5 a5 6d f6 1d 71 43 a2 ba 6a b8 51 e9 86 bf ce 44 ad f7 39 78 fe 74 13 e8 ..y.'=9..m..qC..j.Q....D..9x.t.. 3320 e0 4b 0e c7 2c b0 2d 38 66 60 b0 28 43 40 1a 01 97 39 96 79 63 23 88 da 60 2a 8a a8 c7 a2 59 31 .K..,.-8f`.(C@...9.yc#..`*....Y1 3340 c3 48 73 30 66 2e 6d b6 9b 9b 8d a3 d5 40 cc 6f fe 28 d0 4d aa 5e c7 c8 2e 40 e1 9a e5 b8 a1 d7 .Hs0f.m......@.o.(.M.^...@...... 3360 f7 52 e1 0a f4 1f 35 05 2f ab 5e e3 cb 76 e9 a5 40 63 22 a4 9d 6b 36 13 17 0c 04 a2 27 69 3b 6d .R....5./.^..v..@c"..k6.....'i;m 3380 e6 36 d0 90 e8 76 b4 3f 3c 73 16 c0 9d 74 e3 e6 55 38 67 c3 02 43 80 21 e0 38 02 2e 73 2c d2 aa .6...v.?<s...t..U8g..C.!.8..s,.. 33a0 a8 b1 64 53 11 91 29 c5 e2 cf d3 15 48 7b 29 81 76 36 6b f0 d9 42 3d 6d 23 91 2b fd f3 dd b9 7a ..dS..).....H{).v6k..B=m#.+....z 33c0 11 7e 02 09 94 ae 06 ae 20 42 6a 90 d5 51 3b a1 d0 fd 31 0e 6e e7 fe 05 8f b5 34 ff c2 f5 62 48 .~.......Bj..Q;...1.n.....4...bH 33e0 23 8b 1e 8b b4 41 2c 97 21 c0 10 30 43 c0 c5 93 b7 e0 9d 82 cc ca 56 7e f5 cc 6c a4 3e 97 83 f8 #....A,.!..0C.........V~..l.>... 3400 59 5f e0 e1 40 5f fc b2 7d 1d bf 59 2e ce 4c 39 3e aa 1c 81 de b4 b3 ae f2 52 39 cc 89 90 66 e4 Y_..@_..}..Y..L9>........R9...f. 3420 36 2e e8 dc b1 5b 39 f5 91 88 cc aa ce e3 17 78 cf 7a 8f 84 0c 43 7d b8 37 ed 0c 2e 67 3d 16 e7 6....[9........x.z...C}.7...g=.. 3440 20 65 b5 18 02 a6 87 1e ae c2 82 63 51 89 18 ff 7b 4c 57 2a a1 4a c9 40 36 91 2b 09 41 8d ec f5 .e.........cQ...{LW*.J.@6.+.A... 3460 1a ea b5 74 a3 8d 73 97 b0 7e 01 51 50 1a 83 8c e6 65 a6 40 35 3d 03 f9 9f 27 83 d8 6a b1 e6 7f ...t..s..~.QP....e.@5=...'..j... 3480 b2 5c 42 84 e4 b6 ed 30 0f 82 db b9 22 b8 d1 b8 aa 81 78 73 6b c9 af 78 ee de 64 d4 86 45 18 02 .\B....0....".....xsk..x..d..E.. 34a0 0c 01 c7 10 70 71 8f 25 0f 9f ad 2e c4 87 49 31 58 b0 65 0b af 59 65 e1 a7 46 0d d5 33 57 62 76 ....pq.%......I1X.e..Ye..F..3Wbv 34c0 e2 02 84 14 ed c0 42 0b da 10 19 e2 53 3f 42 3c 57 b2 9a 18 f9 df 4d d6 53 4c 3a 4b f4 64 6c 92 ......B.....S?B<W.....M.SL:K.dl. 34e0 22 b7 cc 0f 88 5f f2 3d 78 3e a2 c0 ed 84 38 54 ef 11 fa 4b 1e 27 bf 82 c7 47 dc 22 39 16 18 02 "...._.=x>....8T...K.'...G."9... 3500 0c 01 67 10 70 b1 63 01 bd 26 83 5e 95 b1 94 7a 2b ca 10 54 69 2d c9 95 54 99 2f 20 9c 26 49 d5 ..g.p.c..&.^...z+..Ti-..T./..&I. 3520 9f cd 6c a4 3b 3d f5 79 73 32 fe a2 bd 0c ad 39 19 13 95 d2 2e 4f c5 83 cb ff e2 38 11 92 be 85 ..l.;=.ys2.....9.....O.....8.... 3540 86 f6 a1 14 93 03 03 02 80 ab 57 89 83 b2 04 6e ef 4d 87 cf 4e 5a 79 1b 69 be f2 96 2b 46 e5 02 ..........W....n.M..NZy.i...+F.. 3560 b8 72 34 ef a2 27 f4 d6 8b 61 3f 0c 01 86 80 04 02 2e 77 2c 7c db da 02 a8 8d 3d 12 25 b2 37 ce .r4..'...a?.......w,|.....=.%.7. 3580 47 9f 80 4e 18 d4 5f 0e ae 07 63 31 5f c2 13 6d cb 50 73 b1 80 9c 8a 98 e6 5a e4 99 04 8a 15 b2 G..N.._...c1_..m.Ps......Z...... 35a0 9a ae 4b 48 83 2e c1 90 55 0c ef 47 a7 09 73 29 07 36 c1 cd a2 93 32 0c 75 2b 16 f1 c3 22 43 69 ..KH....U..G..s).6....2.u+..."Ci 35c0 ee 97 9b d6 65 81 21 c0 10 90 46 a0 75 1c 4b 23 1d 7c 3b 13 2b 7e a7 5a 14 aa b3 91 36 63 a1 45 ....e.!...F.u.K#.|;.+~.Z....6c.E 35e0 ee cf c7 76 63 7f e1 59 14 fe 6c 91 dc fc 83 e3 1b e0 f5 ce f7 8d 9e f4 48 4d d0 1e 80 c7 db ef ...vc..Y..l.............HM...... 3600 c0 9d 7b 85 90 59 70 cb fb d6 ec 88 45 19 02 0c 01 6b 08 30 a2 27 6b a8 b0 34 86 00 43 a0 59 08 ..{..Yp.....E....k.0.'k..4..C.Y. 3620 dc a1 75 2c cd d2 99 55 66 08 30 04 ee 72 04 98 63 b9 cb 4f 10 53 8f 21 70 2f 22 c0 1c cb bd 78 ..u,...Uf.0..r..c..O.S.!p/"....x 3640 d6 98 ce 0c 81 bb 1c 01 97 4d de 2a 54 b4 9b 39 56 21 98 7f 5d 8b 25 f4 e2 33 e3 83 21 3b 41 51 .........M.*T..9V!..].%..3..!;AQ 3660 a8 d2 f0 f6 4b a3 11 42 13 a8 97 fe bb 0f 7f 4e 5d e8 b0 0c 5b 4d d9 a3 a7 62 4a 26 3e 7c b6 13 ....K..B.......N]...[M...bJ&>|.. 3680 56 3e 33 c3 ce 57 69 d0 1b 15 33 53 e0 73 60 09 b2 9c 7c 7a 65 4b 6f 87 f3 e3 c6 11 91 15 ed ec V>3..Wi...3S.s`...|zeKo......... 36a0 be 46 13 d6 9b b6 3a 5c 9d 55 60 08 38 82 80 cb 1c 4b 58 b4 0a 89 89 83 04 5d e8 4d 7f bb 1c 74 .F....:\.U`.8....KX......].M...t 36c0 2c 8a 29 d9 d8 f6 d1 24 5a 95 5b 8d 4b 97 80 41 7d 3d f1 05 ef 58 5a 96 3c ca 1e 3d 9f 4d 9c 84 ,.)....$Z.[.K..A}=...XZ.<..=.M.. 36e0 98 21 be 38 13 47 8e c5 b0 9d 49 12 e5 30 4c 4e 4a 84 a7 d7 2e a7 1c 4b 43 e6 72 d4 c4 12 a1 d4 .!.8.G....I..0LNJ......KC.r..... 3700 c9 5c 78 be fa 37 c9 96 6c 66 ca 7f 0b dd da 69 46 12 3c be fc 8c 09 f0 7e fc 37 6c cb 82 4d f0 .\x..7..lf.....iF.<.....~.7l..M. 3720 58 01 67 11 70 d9 50 28 6f de 58 7e 47 f3 53 9f d2 66 43 72 5f 55 0e 6a 38 f5 d5 f1 f0 ad 2e a2 X.g.p.P(o.X~G.S..fCr_U.j8....... 3740 17 6e f5 c2 83 0f f6 42 68 af b1 fa de 82 40 1e 15 d3 a7 65 c8 a3 ec d1 73 a1 2a 02 4f 3d 35 02 .n.....Bh.....@....e....s.*.O=5. 3760 33 ed 72 2a 82 a1 b7 68 57 77 6d 8d 83 46 73 4e 60 cf 6e dc 1e 4e b4 98 54 b5 41 d6 12 1c 30 e7 3.r*...hWwm..FsN`.n..N..T.A...0. 3780 e0 be 7d 13 bc 67 52 0f ea d1 11 f0 fe 07 2d 0e 6a 1f 89 ba d9 a3 1d 54 8e 15 67 08 d8 8f 80 cb ..}..gR.......-.j......T..g..... 37a0 1c 8b 41 05 3f da 77 63 35 88 12 36 29 31 85 48 a1 7a fb c9 a0 2b 3f 8b ce 53 a6 23 8d 08 a2 e2 ..A.?.wc5..6)1.H.z...+?..S.#.... 37c0 68 54 25 4e 1e 65 b5 85 46 89 0a 64 ac ca c7 e9 d2 52 94 f2 9f d3 c8 5f 96 66 2c 63 55 4f 65 06 hT%N.e..F..d.....R....._.f,cUOe. 37e0 0e 9f 3e 4b c4 53 1a ac fc f8 cf 26 b2 29 63 2d 71 99 dc 1e 29 63 a0 17 c8 e7 17 9d 86 e6 60 ae ..>K.S.....&.)c-q...)c........`. 3800 15 19 c6 52 b4 0a f8 18 3c 3e cb 82 cf c8 37 e0 49 94 30 2d b2 bb ba 64 2b dc df cb a2 c5 7f b4 ...R....<>....7.I.0-...d+....... 3820 7a 98 0b 5d 69 38 44 c1 fd bf 3f f1 bf ec 8b 21 e0 0a 04 5c 36 14 32 2a 2b bc df dd 78 28 44 f4 z..]i8D...?....!...\6.2*+...x(D. 3840 84 4d 81 b4 0f 68 d1 bb a8 7a 38 09 49 3c 61 93 1a 53 4e 4d 40 e6 02 c3 ab 42 13 b0 e0 23 61 99 .M...h...z8.I<a..SNM@....B...#a. 3860 ec d1 ae a7 70 60 d8 7c 24 0f d2 bf eb 8f 23 8f e2 37 13 01 45 2b ce 43 5d 20 fd 22 d1 0c f5 57 ....p`.|$.....#..7..E+.C].."...W 3880 48 1e 12 08 cd 37 6b b0 6e df 79 28 1e 79 1c bf 32 bf fb ad e9 79 f9 14 f2 76 7c 89 e0 b0 31 88 H....7k.n.y(.y..2....y...v|...1. 38a0 8f 0a 69 f4 96 41 c0 b6 cc 0b e4 0d c9 39 6d 49 46 37 fc 82 4f 5f 9b 02 e9 4e cf 01 b8 ad e0 10 ..i..A.......9mIF7..O_...N...... 38c0 1a c6 2f f1 6d 71 3e 98 df 7e 44 7b a2 7a d2 10 6b 13 dc 37 95 08 a7 82 7d 33 04 5c 80 80 eb 1d ../.mq>..~D{.z..k..7....}3.\.... 38e0 8b 15 a5 1b 13 36 f9 69 37 23 3e 36 55 20 6c 1a 3b 17 bd 42 e7 22 73 e7 69 4c 95 e5 e2 81 51 06 .....6.i7#>6U.l.;..B."s.iL....Q. 3900 5e 16 4e 50 04 e6 d1 7f fe ce b3 ab 21 5b 3d 03 a3 88 34 ca 14 b8 09 d3 d7 c1 f9 1d c3 08 c4 0b ^.NP........![=...4............. 3920 15 58 9f 3a 0f 79 74 73 bf 40 4e e5 d2 ae 45 18 35 8d a3 a0 a4 b0 44 ff 2b 1c 59 ff d6 e6 62 26 .X.:.yts.@N...E.5.....D.+.Y...b& 3940 ed 37 50 cc d9 89 78 9a 2e b2 18 ce 49 ca 8c 43 2d 0d 85 fc fa a5 e2 60 72 3c ba 55 6b b0 e8 b1 .7P...x.....I..C-......`r<.Uk... 3960 51 c8 72 74 f6 da ba 56 ce a5 3e ff 21 6e bf a8 84 fb b9 3c 78 bd 6a 87 ed ce b5 c2 6a 31 04 78 Q.rt...V..>.!n.....<x.j.....j1.x 3980 04 ee 88 63 b1 20 6c d2 f7 3a 38 6d 2a 9b 45 54 dd 09 23 13 c6 e3 91 40 b3 b7 75 a0 1c c5 ab c8 ...c..l..:8m*.ET..#....@..u..... 39a0 b1 80 d8 f5 49 fe f9 13 47 79 a3 1d fd 0a b3 3a 9c 93 96 c9 39 16 79 ac 60 5c e1 5f 5f b9 b3 4e ....I...Gy.....:....9.y.`\.__..N 39c0 65 dc 9f 50 f3 fb 18 b8 15 93 53 99 9a e1 a8 f9 ac 3c 43 c0 61 04 ee 88 63 69 2e 61 13 e7 7f 9a e..P......S......<C.a...ci.a.... 39e0 92 47 15 60 ca e0 5e d6 01 50 0a ce a6 7b bf be 94 2f 3d 18 b1 2e c0 7a 2a f9 0e 88 c9 f4 f4 a1 .G.`..^..P...{.../=....z*....... 3a00 21 da 9a 15 a8 55 25 61 c8 ac af b0 58 db 1f 33 cd 3b 58 d6 45 ba 20 75 1c 74 b3 9f 40 7d f9 7e !....U%a....X..3.;X.E..u.t..@}.~ 3a20 f8 30 a7 e2 02 7c 99 48 6b 08 b8 7c f2 56 68 d4 0f 23 a6 4f 27 a6 7e 15 7f 58 b0 70 33 ce 50 4c .0...|.Hk..|.Vh..#.O'.~..X.p3.PL 3a40 35 7f 27 d2 54 4a 28 95 2a 64 2c db 88 65 73 e2 ac e9 d8 24 4d 9c 3c aa 49 51 21 a1 60 29 f6 94 5.'.TJ(.*d,..es....$M.<.IQ!.`).. 3a60 e8 d0 25 f6 2d a8 b3 d3 10 17 a7 42 4a 46 36 72 8c a4 53 86 7a 96 7a 1a 52 85 5f 7d de 14 bd 8e ..%.-......BJF6r..S.z.z.R._}.... 3a80 36 64 72 3a ca 6a 36 63 ec d8 6c 9a 5d 09 44 62 ce 61 cc 21 07 27 1d e8 69 d0 44 a2 6f 98 f8 10 6dr:.j6c..l.].Db.a.!.'..i.D.o... 3aa0 ff 62 b5 fa 0e 21 68 18 47 c7 71 03 8c d5 a6 2f db cb 4f 3e 1f de 38 c7 98 26 19 99 38 0a 3a 0f .b...!h.G.q..../..O>..8..&..8.:. 3ac0 22 ae 3a f6 33 1a 7e 4b af 30 79 4d ff 19 67 92 29 59 9f 65 32 04 9c 40 a0 15 7a 2c 5c ff 42 8e ".:.3.~K.0yM..g.)Y.e2..@..z,\.B. 3ae0 e4 05 0b a8 db 50 84 8a e5 44 a6 0d db 84 4d d6 e6 52 05 fb a4 c9 a3 ac 63 a0 c5 cb 89 19 50 7f .....P...D....M..R......c.....P. 3b00 91 8e 21 93 66 61 f5 24 a1 54 d5 d1 0a b3 e2 d6 f4 34 64 9b e5 55 1f c5 cf b9 79 d4 ef 91 92 79 ..!.fa.$.T.......4d..U....y....y 3b20 51 4f c9 19 42 04 32 0b 31 78 46 17 1c cb 49 44 ea ba 7c 94 f5 1a 45 d6 8b 84 01 93 50 fb 26 bd QO..B.2.1xF...ID..|...E.....P.&. 3b40 b1 d1 90 1d 12 83 db 73 b9 21 cc 57 f0 ce 13 9e ea 04 b6 17 1e b3 77 8b 1e 03 15 16 da 5e b0 17 .......s.!.W..........w......^.. 3b60 2a 94 af 25 46 3e f3 e0 fe 93 17 bc b6 0a 32 cd d3 59 9c 21 d0 12 08 dc e1 dd cd 0a a7 09 9b a0 *..%F>........2..Y.!............ 3b80 b0 4e 1e 65 0b 14 05 f5 56 94 5d 81 8b 8d 48 a7 6c d5 93 ca 77 85 4c a9 f6 72 0e 96 42 d5 71 3f .N.e....V.]...H.l...w.L..r..B.q? 3ba0 9e 8a 78 06 a2 94 35 52 02 58 1e 43 c0 c5 08 dc 61 c7 e2 62 eb ee 43 f1 29 34 14 4a 4f 08 c7 fe ..x...5R.X.C....a..b..C.)4.JO... 3bc0 ec a7 f0 cc 42 e6 56 ee c3 53 7c 5f 98 d4 4a 73 2c f7 05 56 77 85 11 57 7e fe 0e 2b de 9d ca 9c ....B.V..S|_..Js,..Vw..W~..+.... 3be0 ca 5d 71 36 98 12 62 08 b0 1e 8b 18 32 2c 9d 21 c0 10 70 1a 01 d6 63 71 1a 3a 56 91 21 c0 10 10 .]q6..b.....2,.!..p...cq.:V.!... 3c00 43 80 39 16 31 64 58 3a 43 80 21 e0 34 02 cc b1 38 0d 1d ab c8 10 60 08 88 21 d0 0a eb 58 c4 9a C.9.1dX:C.!.4...8.....`..!...X.. 3c20 6e e5 74 39 ad 0f 79 7b 2c bf f0 4c 68 99 4c bf a5 85 c7 1f de 6b a4 08 2d 52 7b f3 79 a0 f8 3f n.t9..y{,..Lh.L......k..-R{.y..? 3c40 f4 d6 fa 24 d4 07 51 39 6e 89 2d 17 64 f4 a2 f8 f5 99 70 df 5a 22 1c b3 6f 86 00 43 c0 2a 02 2e ...$..Q9n.-.d.....p.Z"..o..C.*.. 3c60 76 2c 2d 4b ca 64 d5 02 7b 13 bb 87 41 37 20 12 f5 b7 af 41 76 ad 8e 1c 0c 2d 47 bd 51 6e e5 3d v,-K.d..{...A7.....Av....-G.Qn.= 3c80 41 dd 51 3f f1 d7 a8 2d a6 05 64 ba 60 d4 77 e6 20 22 cf e2 e1 8f 3a 7f da 1f 34 90 08 98 98 63 A.Q?...-..d.`.w.."....:...4....c 3ca0 b1 17 75 56 ae 8d 22 e0 62 c7 22 90 32 b5 2b 11 56 7f de 51 8c f5 5b 93 3d 37 cf 86 c7 27 52 2b ..uV..".b.".2.+.V..Q..[.=7...'R+ 3cc0 4e a9 20 2d fb 75 d7 dd 80 7b d2 44 d3 cb ad e5 b4 14 7e ed 14 b8 71 8b 70 59 60 08 30 04 24 11 N..-.u...{.D......~...q.pY`.0.$. 3ce0 70 d9 1c 8b 38 29 93 02 39 f9 45 d0 ec 5d 06 f3 ad 33 ca 39 b9 38 7d fa 20 e6 ff 69 15 11 2b e5 p...8)..9.E..]...3.9.8}....i..+. 3d00 23 33 6d 31 f6 6a ce f2 fb 62 8a f2 97 99 08 92 44 09 a2 24 ed 34 65 7a 09 44 47 a6 04 2e 36 0c #3m1.j...b......D..$.4ez.DG...6. 3d20 f5 39 6b 51 f3 1f 62 6f fb cf 92 26 6f 3f e4 cb 76 6f 09 36 37 cb 56 d9 11 43 e0 7e 45 c0 65 8e .9kQ..bo...&o?..vo.67.V..C.~E.e. 3d40 65 5c ca 7c 2c 58 90 8c 70 ea 13 c9 39 52 a6 05 e9 48 4f 4f 47 ea 84 28 6c dd 57 0a df f0 04 cc e\.|,X..p...9R...HOOG..(l.W..... 3d60 49 33 b8 16 05 52 13 63 e1 53 a5 41 81 47 17 f8 fa 46 20 69 56 22 3a 96 ee c3 f6 c2 12 04 46 24 I3...R.c.S.A.G...F.iV":.......F$ 3d80 60 f1 b2 14 3a 07 7a 82 28 39 bd db 99 08 a2 56 ec 2a 47 7f 9e 20 4a d1 8c f3 23 47 7d ee 42 d4 `...:.z.(9.....V.*G...J...#G}.B. 3da0 0c e8 01 f7 c3 ff 82 d7 96 5d 3c c5 42 13 81 fa 1e 4f 93 74 96 c0 10 60 08 34 41 c0 65 8e 65 de .........]<.B....O.t...`.4A.e.e. 3dc0 d8 08 e2 bc 9d 8a 22 9a 9e d0 ac 98 c1 f3 df 86 86 86 62 0c 91 33 a9 e7 66 e3 68 35 cd 8d fe e6 ......"...........b..3..f.h5.... 3de0 8f e0 5d 82 ea 75 8c ec 02 14 ae 59 8e 1b 7a 15 2f 15 ae 40 ff 51 53 f0 b2 ea 35 be 6c 97 5e 0a ..]..u.....Y..z./..@.QS...5.l.^. 3e00 34 26 88 da b9 66 33 b8 69 d4 a1 aa a9 4d 0c b3 3b e1 f9 34 d4 f4 f0 80 6c fb fb 90 a5 bd 07 b7 4&...f3.i....M..;..4....l....... 3e20 8f d6 c2 8d 86 42 2d 42 0b 69 b7 12 ac 20 43 e0 fe 42 c0 c5 73 2c 62 60 a9 b1 64 53 2a 72 a8 97 .....B-B.i....C..B..s,b`..dS*r.. 3e40 f2 e7 e9 0a 1c 1e 9f 40 bd 04 0d 3e 5b 48 5c 29 19 b3 a8 52 35 fe f9 ae 81 39 ce 8f df 29 0c 5d .......@...>[H\)...R5....9...).] 3e60 0d 5c 42 10 d5 b9 23 b5 57 07 f7 9d 96 af c4 68 71 5a 48 31 28 58 3a 43 e0 3e 44 c0 e5 8e 85 9b .\B...#.W......hqZH1(X:C.>D..... 3e80 eb 6c 4a ca 04 a8 67 66 23 f5 b9 1c c4 cf fa 02 0f 07 fa e2 97 ed eb 78 0a 80 b8 c6 20 2b 47 a0 .lJ...gf#..............x.....+G. 3ea0 37 91 26 55 5e 2a 47 73 09 a2 1a 8b 16 8e a9 4b c5 05 c3 50 e7 f9 e7 51 67 95 31 4e 28 c6 be 19 7.&U^*Gs.......K...P...Qg.1N(... 3ec0 02 0c 01 db 08 b8 6c 28 64 68 5a 9c 94 49 8d ec f5 1a 20 b0 1b 91 54 5f c2 fa 05 4b 0c 55 e8 57 ......l(dhZ..I........T_...K.U.W 3ee0 46 f3 32 53 a0 9a 9e 81 fc cf 93 89 26 e9 12 d6 fc 4f 16 9a 4b 10 65 d6 80 29 5a c3 39 16 0f d4 F.2S........&....O..K.e..)Z.9... 3f00 bf 92 46 24 48 1f 12 85 63 ac c0 87 a2 f7 37 a6 82 2c c6 10 60 08 d8 8b 80 8b 7b 2c d2 a4 4c ea ..F$H...c.....7..,..`.....{,..L. 3f20 99 2b 31 3b 71 01 42 8a 76 60 a1 05 d1 b4 0c f1 a9 1f 21 9e b3 a2 9a 98 fc df 4d 86 c0 10 60 9b .+1;q.B.v`........!.......M...`. 3f40 20 ca b6 e1 b7 2c 8b fc ef df e0 15 f7 31 6a 94 13 a1 a3 b9 64 59 c1 2e 78 44 c5 d2 e0 c8 40 c9 .....,.......1j.....dY..xD....@. 3f60 6d 59 9c 1d 31 04 18 02 b6 11 70 b1 63 01 72 e7 aa 90 bb d4 3a 29 93 2a f3 05 84 d3 e2 33 f5 67 mY..1.....p.c.r.....:).*.....3.g 3f80 33 1b 69 4a 4f 7d de 9c 8c bf 68 2f 43 5b 60 e1 71 a0 5d 9e 8a 07 97 ff c5 69 82 a8 86 f6 a1 d4 3.iJO}....h/C[`.q.]......i...... 3fa0 96 1c 18 10 00 5c bd 4a ef f2 39 0e f7 29 63 e0 43 af 20 c5 45 9a 67 39 2e a8 e2 c1 fd c8 a9 5c .....\.J..9..)c.C...E.g9.......\ 3fc0 00 57 8e 12 bb 72 7d 2f 16 18 02 0c 01 7b 10 70 b9 63 e1 95 d0 16 c0 f4 0a 63 25 b2 37 ce 47 9f .W...r}/.....{.p.c.......c%.7.G. 3fe0 80 4e 18 d4 5f 8e ca c2 4f 41 6f d8 30 05 6f 9e 2d 16 35 17 0b c8 a9 98 92 2d 63 5a e4 99 04 5a .N.._...OAo.0.o.-.5......-cZ...Z 4000 66 d9 38 d2 25 a4 41 97 60 28 54 0c ef 47 a7 09 af 1a cd b3 9c bc e5 d6 b6 d4 ad 58 d4 64 4d 0b f.8.%.A.`(T..G.............X.dM. 4020 ef 70 0c d5 d9 2f 43 80 21 60 15 81 d6 71 2c 8d 9a f6 ed 1c 8c b0 4e b5 28 54 67 23 6d c6 42 8b .p.../C.!`...q,.......N.(Tg#m.B. 4040 dc 9f 8f ed c6 fe c2 b3 28 fc d9 22 b9 f9 07 c7 37 c0 eb 9d ef 1b 3d 46 a6 17 a4 8b 4a 3e 00 8f ........(.."....7.....=F....J>.. 4060 b7 df 81 3b bd 90 de 3c b8 e5 7d 6b 7e c8 e2 0c 01 86 80 15 04 18 d1 93 15 50 58 12 43 80 21 d0 ...;...<..}k~............PX.C.!. 4080 3c 04 5c fe 54 a8 79 ea b1 da 0c 01 86 c0 bd 88 00 73 2c f7 e2 59 63 3a 33 04 ee 72 04 98 63 b9 <.\.T.y..........s,..Yc:3..r..c. 40a0 cb 4f 10 53 8f 21 70 2f 22 60 63 f2 56 81 8c 55 59 18 11 e2 89 5a 03 5d 80 67 2d 8e 7c 96 86 b9 .O.S.!p/"`c.V..UY....Z.].g-.|... 40c0 b9 96 8f 81 ef 45 e3 99 ce 0c 01 86 80 6b 10 b0 e1 58 3a 21 24 a4 07 42 bb ca 68 b5 09 2d 45 95 .....E.......k...X:!$..B..h..-E. 40e0 05 a2 4b a0 0f da 0d 89 a2 05 2a cc b1 b8 e6 94 30 a9 0c 81 7b 1f 01 1b 8e a5 00 33 c6 0c 36 59 ..K.......*.....0...{......3..6Y 4100 a9 c8 80 66 77 32 b7 1f 90 05 86 00 43 80 21 20 8a 80 63 73 2c 61 44 cd 28 2a 8a 65 30 04 18 02 ...fw2......C.!...cs,aD.(*.e0... 4120 0c 01 01 01 c7 1c cb 75 06 1b 43 80 21 c0 10 b0 8d 80 63 8e c5 b6 3c 56 82 21 c0 10 60 08 98 b8 .......u..C.!.....c...<V.!..`... 4140 a2 19 16 0c 01 86 00 43 a0 a5 10 60 3d 96 96 42 92 c9 61 08 30 04 8c 08 30 c7 62 84 82 45 18 02 .......C...`=..B..a.0...0.b..E.. 4160 0c 81 96 42 c0 61 c7 c2 88 d5 5a 0a 7a 26 87 21 70 ff 22 60 fb e9 b1 42 01 65 a7 4e c0 e5 02 5c ...B.a....Z.z&.!p."`...B.e.N...\ 4180 0e f1 62 8f 9b ef df 6b 81 59 c6 10 68 31 04 6c 38 96 38 a8 ff bd 1a 43 88 cc 9a 05 86 00 43 80 ..b....k.Y..h1.l8.8....C......C. 41a0 21 60 2f 02 36 f9 58 14 71 2a 44 f9 5a 8a bb a0 56 43 94 dc cd b2 28 3b 62 08 30 04 da 20 02 36 !`/.6.X.q*D.Z...VC....(;b.0....6 41c0 1d 4b 1b c4 84 99 cc 10 60 08 34 13 01 87 27 6f 9b d9 1e ab ce 10 60 08 b4 01 04 98 63 69 03 27 .K......`.4...'o......`.....ci.' 41e0 99 99 c8 10 68 6d 04 98 63 69 6d c4 59 7b 0c 81 36 80 00 73 2c 6d e0 24 33 13 19 02 ad 8d 00 73 ....hm..cim.Y{..6..s,m.$3......s 4200 2c ad 8d 38 6b 8f 21 d0 06 10 f8 3f 95 12 b9 75 ee 32 5a 5c 00 00 00 00 49 45 4e 44 ae 42 60 82 ,..8k.!....?...u.2Z\....IEND.B`.