aboutsummaryrefslogtreecommitdiffstats
path: root/www/media/glg2d-demo.png
blob: 662c6e397378402ce8b31ced429685c0d034a15b (plain)
ofshex dumpascii
0000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 c8 00 00 00 69 08 02 00 00 00 f0 7a fb .PNG........IHDR.......i......z.
0020 82 00 00 00 01 73 52 47 42 00 ae ce 1c e9 00 00 00 06 62 4b 47 44 00 ff 00 ff 00 ff a0 bd a7 93 .....sRGB.........bKGD..........
0040 00 00 00 09 70 48 59 73 00 00 0b 13 00 00 0b 13 01 00 9a 9c 18 00 00 00 07 74 49 4d 45 07 dc 04 ....pHYs.................tIME...
0060 18 12 1f 25 50 f9 02 83 00 00 20 00 49 44 41 54 78 da ed 7d 79 7c 14 55 b6 ff ad a5 ab 3b bd a4 ...%P.......IDATx..}y|.U.....;..
0080 d3 9d ee ce be 42 42 c2 12 81 90 08 c8 be 47 61 64 50 74 9e fa 18 1d 7f 88 e3 02 79 a8 33 a2 f2 .....BB.......GadPt........y.3..
00a0 c9 e0 3c 16 75 98 27 28 b2 0c 32 2c ae 80 92 a0 51 c0 10 7e 90 90 85 6c 24 90 90 48 08 64 31 0b ..<.u.'(..2,....Q..~...l$..H.d1.
00c0 49 7a df 6a bd ef 8f 2b f5 da 04 43 08 69 45 e8 f3 e9 4f 3e 9d ea aa 5b b7 ee fd d6 39 e7 9e ed Iz.j...+...C.iE...O>...[....9...
00e0 62 26 93 09 00 c0 b2 ec da b5 6b df 7e fb 6d 97 cb 05 ee 02 c2 30 0c bb 3d 7a 22 40 08 21 bc 6d b&........k.~.m......0..=z"@.!.m
0100 ba 73 ab 04 21 74 b8 98 37 b7 1d 21 21 84 1a 8d 66 f4 e8 d1 04 41 10 04 71 37 a0 0a 42 58 db 50 .s..!t..7..!!...f....A..q7..BX.P
0120 df 60 73 c0 db a0 27 a9 41 06 43 48 e8 9d 37 c8 38 41 10 07 0f 1e ac ac ac bc 63 5e 9a fe d0 47 .`s...'.A.CH..7.8A........c^...G
0140 07 0a 5d 02 8f b3 2c 76 ed 43 02 e0 a8 ae b6 36 34 10 10 62 1e c7 31 96 c5 59 56 70 38 2c 79 79 ..]...,v.C.....64..b..1..YVp8,yy
0160 02 cf f7 f8 e9 56 3e 38 cb 36 75 5d fd aa a4 fe 4e 7c 73 01 29 08 c2 ec d9 b3 3f ff fc f3 b7 df .....V>8.6u]....N|s.).....?.....
0180 7e fb ee 01 d6 90 61 aa 3f 4d 9b ee 79 a4 e1 f8 f1 10 9b 8d b5 5a 6d e3 c7 87 25 24 78 fe c4 03 ~.....a.?M..y........Zm...%$x...
01a0 d0 fc d2 4b 51 93 26 75 95 97 eb 5e 7a 69 10 df bf 33 45 45 17 6d b6 3b 4f d1 00 00 92 18 86 55 ...KQ.&u...^zi...3EE.m.;O......U
01c0 56 56 ce 9d 3b d7 6e b7 33 0c 73 f7 60 ab 0a 00 41 84 4e 63 63 7c 51 91 df ec d9 7e 10 4a be fb VV..;.n.3.s.`...A.Ncc|Q....~.J..
01e0 ae 18 c7 a5 f1 f1 00 42 80 61 1c c7 69 df 7d 37 76 e1 42 88 e3 7a 86 29 fd e4 13 f2 b1 c7 d0 4f .......B.a..i.}7v.B..z.).......O
0200 b7 3e fc 97 00 c0 ef 48 65 03 00 12 c7 f1 f2 f2 f2 15 2b 56 ac 5b b7 8e e7 f9 bb 04 55 2c 00 a6 .>.....He.........+V.[......U,..
0220 6b c0 c2 00 68 6f 6f 0f 58 bb 56 45 92 d0 e5 f2 93 4a 53 77 ec 38 f2 f4 d3 7e 89 89 2c 00 81 2b k...hoo.X.VE.....JSw.8...~..,..+
0240 56 c4 86 85 c1 e3 c7 01 86 d9 ce 9d 2b 92 c9 92 1e 7b 4c c0 b0 5b d7 cf 70 00 8c 00 04 de 99 5a V...........+....{L..[..p......Z
0260 2c 20 d1 12 e9 dc b9 73 6e b7 db 1b f7 20 49 12 c2 01 ce 02 86 61 2c cb 92 24 89 e3 83 f6 62 b3 ,......sn.....I......a,..$....b.
0280 2c eb c9 33 10 11 0a c5 bf 59 f6 d1 0d 1b 46 2d 5b 06 01 c0 94 ca 49 7b f7 e6 a5 a5 45 9d 38 31 ,..3.....Y....F-[.....I{....E.81
02a0 c2 60 80 34 8d 61 98 f1 e8 d1 5d 85 85 4c 46 06 f6 d3 6b 7d 74 fd 79 07 00 d0 34 7d f6 ec d9 b6 .`.4.a....]..LF...k}t.y...4}....
02c0 b6 36 6f 68 71 39 39 39 1a 8d 66 00 d8 c2 71 dc 68 34 4e 9b 36 ad a4 a4 a4 b1 b1 71 50 d6 16 0c .6ohq999..f...q.h4N.6......qP...
02e0 c3 3c fc f0 c3 bd 9b 0a 48 48 90 ae 5e fd 45 46 86 fa 7f fe 27 72 e5 4a 20 95 2a 65 b2 fb bf fc .<......HH..^.EF....'r.J..*e....
0300 12 c8 e5 90 a2 30 92 b4 1f 3c b8 b3 aa ca 94 9a 9a fa dc 73 3c 7a 25 7f da c8 ad 9b 0c 3c 5b b8 .....0...<.........s<z%......<[.
0320 61 6b e8 84 3e 4e eb bb 85 1b 5e 7e eb b2 90 e4 38 ee f9 e7 9f 87 10 b6 b6 b6 7a e3 16 49 49 49 ak..>N....^~....8.........z..III
0340 31 31 31 fd 3c d9 e1 70 28 14 0a f1 df 92 92 12 00 80 52 a9 7c f2 c9 27 6f 78 ad c9 64 32 9b cd 111.<..p(.........R.|..'ox..d2..
0360 3d ee 85 84 bb 68 46 f9 f6 db 6f 15 0a 85 d3 e9 64 91 86 79 6d 94 25 24 39 fe 8d 37 2a e4 f2 9d =....hF...o.....d..ym.%$9..7*...
0380 af bc f2 f0 f6 ed a3 9e 78 02 d3 6a 41 40 00 00 00 13 84 ae 03 07 76 d7 d4 74 ce 9e 9d b2 77 af [email protected].
03a0 c6 60 40 2f 89 02 00 1a 00 0e 42 00 61 53 5d 5d 74 62 22 fc 39 3d b6 4f 35 8b f1 60 cf 1c c7 35 .`@/......B.aS]]tb".9=.O5..`...5
03c0 35 35 f9 fb fb 1b 0c 06 9e e7 e5 72 b9 cb e5 a2 28 8a a6 e9 1e 08 c0 30 ac b5 b5 35 3c 3c 5c 10 55.........r....(......0...5<<\.
03e0 7e 54 14 bb bb bb 2d 16 0b 62 ed 0c c3 0c 1b 36 4c 26 93 b9 5c 2e 1c c7 c5 73 3c 5f da fa fa fa ~T....-..b.....6L&..\....s<_....
0400 a1 43 87 0e 58 98 dc 08 57 10 47 e2 a6 f7 bd 07 cd 00 f8 d3 96 c7 8d 1b b7 6e dd 3a 00 80 c5 62 .C..X...W.G..............n.:...b
0420 b1 db ed 56 ab d5 62 b1 18 8d 46 86 61 5a 5b 5b 2f 5d ba d4 73 d9 0a 00 8e e3 a7 4f 9f 7e f8 e1 ...V..b...F.aZ[[/]..s......O.~..
0440 87 05 41 30 9b cd 2c cb f2 3c bf 76 ed 5a 84 1b 93 c9 c4 71 dc d9 b3 67 bb bb bb 77 ed da e5 72 ..A0..,..<.v.Z.....q...g...w...r
0460 b9 18 86 31 9b cd 56 ab 95 65 d9 da da da 96 96 16 8b c5 62 b1 58 d0 54 a1 36 2d 1e b2 0c bd bb ...1..V..e.........b.X.T.6-.....
0480 12 0c 1b bb 72 a5 6c c3 86 6f 4c 26 21 33 13 20 e1 8b 61 42 67 e7 a9 da da ab e3 c6 8d ff e8 a3 ....r.l..oL&!3....aBg...........
04a0 a0 e0 60 f4 96 4b 31 ec 85 b9 73 4f 66 66 b2 34 6d 33 9b 0f 6f dd 0a 21 b4 99 4c 6e a7 d3 69 b3 ..`..K1...sOff.4m3..o..!..Ln..i.
04c0 b1 34 6d 37 9b 9d 36 1b 84 b0 a5 be de 6e 36 d3 2e 97 d5 68 74 58 2c 0e 8b 85 fb a9 2c 36 79 5a .4m7..6......n6....htX,.....,6yZ
04e0 d7 6a 6b 01 00 57 af 76 36 34 34 28 14 8a e5 cb 97 db ed f6 f7 de 7b cf 62 b1 b8 5c 2e 9a a6 bb .jk..W.v644(..........{.b..\....
0500 ba ba 2c 16 0b c3 30 36 9b ed e8 d1 a3 12 89 c4 53 e5 30 9b cd 46 a3 d1 66 73 00 00 39 8e 5b b1 ..,...06........S.0..F..fs..9.[.
0520 62 85 db ed 3e 73 e6 0c 7a 7c a7 d3 69 34 1a 6d 36 1b c3 30 34 4d 7f fa e9 a7 14 45 79 4f 7b 27 b...>s..z|..i4.m6..04M.....EyO{'
0540 bd 2d 6b 1d 0e 47 45 45 05 7a e1 64 32 d9 c8 91 23 eb eb eb ff f1 8f 7f 5c b9 72 25 32 32 b2 be .-k..GEE.z.d2...#.......\.r%22..
0560 be 3e 3e 3e be aa aa 6a dc b8 71 9f 7f fe f9 5f fe f2 17 11 88 18 86 91 24 89 a0 19 17 17 f7 c0 .>>>...j..q...._........$.......
0580 03 0f ac 5a b5 aa a5 a5 e5 99 67 9e 29 2e 2e ee e8 e8 28 2d 2d 35 9b cd 9f 7d f6 59 70 70 b0 d3 ...Z......g.).....(--5...}.Ypp..
05a0 e9 7c e6 99 67 ba ba ba b6 6c d9 62 32 99 64 32 59 67 67 67 78 78 78 70 70 70 55 55 95 d1 68 14 .|..g....l.b2.d2YgggxxxpppUU..h.
05c0 04 e1 cf 7f fe f3 ff 35 0e 00 e9 a9 27 61 18 00 50 82 e1 43 9e fe d3 f8 af bf 26 48 12 9c 3d 0b .......5....'a..P..C......&H..=.
05e0 92 93 01 cf e3 a1 a1 8b 66 cc e0 53 52 74 06 03 01 20 81 61 48 81 90 48 c9 11 e3 53 aa f3 4f 9d ........f..SRt.....aH..H...S..O.
0600 3d 79 52 ad d3 66 ef dc 2e f0 42 f2 ec 19 27 0f 7c 41 c9 64 96 ae ee c8 84 61 f3 9e 58 62 37 75 =yR..f....B...'.|A.d.....a..Xb7u
0620 7e b7 6f 4f d2 e4 49 e1 71 f1 5f 6c de fc e0 b3 cf 40 00 a2 e2 12 91 f2 4e 92 80 f1 60 19 2e 97 [email protected]...`...
0640 4b ab d5 ea f5 41 0d 0d f5 00 80 d0 d0 d0 dc dc dc f6 f6 76 a3 d1 b8 6f df be 15 2b 56 64 64 64 K....A.............v...o...+Vddd
0660 ac 5c b9 f2 f8 f1 e3 dd dd dd 3d 96 f0 10 42 8e f3 1b 3d 3a 56 ab 35 14 15 9d 06 00 4c 9d 3a 75 .\........=...B...=:V.5.....L.:u
0680 ff fe fd f5 f5 f5 4b 96 2c f9 f0 c3 0f 9f 7a ea a9 1d 3b 76 2c 5e bc b8 be be be a5 a5 c5 ab c6 ......K.,.....z...;v,^..........
06a0 70 01 40 af 03 8b 65 59 91 45 4b 24 92 e8 e8 e8 fc fc fc 7b ef bd 17 c7 71 85 42 e1 ef ef 1f 18 [email protected]$.......{....q.B.....
06c0 18 68 30 18 9c 4e 67 70 70 b0 db ed 36 9b cd e2 b5 6a b5 1a 21 cc e9 74 3a 9d ce 51 a3 46 59 ad .h0..Ngpp...6....j..!..t:..Q.FY.
06e0 d6 a6 a6 26 8b c5 12 1d 1d dd dc dc cc 71 dc fc f9 f3 4b 4b 4b 2d 16 8b d5 6a 95 cb e5 2d 2d 2d ...&.........q....KKK-...j...---
0700 c9 c9 c9 a7 4f 9f d6 e9 74 f1 f1 f1 9f 7f fe f9 f4 e9 d3 2b 2b 2b 49 92 e4 38 4e e4 fc 34 03 b2 ....O...t..........+++I..8N..4..
0720 8f 03 28 78 bc 62 38 46 34 d7 3f bf 6a 76 d0 f0 58 28 08 98 d3 e9 fc f2 4b 59 4c 0c e6 70 00 86 ..(x.b8F4.?.jv..X(......KYL..p..
0740 59 9c 97 bf eb d5 dd 75 33 fe 48 62 c8 ac 0c e2 67 be fa c9 8e 72 08 39 bb 25 14 00 40 85 4f be Y......u3.Hb....g....r.9.%[email protected].
0760 50 90 89 85 84 00 dd ef 9c 8c bb c3 52 cc b7 86 7d fb 1d d6 79 45 d9 da 15 08 ab 95 87 f6 ee 93 P...........R...}...yE..........
0780 ab a2 ab ea 63 ed c6 f6 9a 2b 00 00 80 e1 a0 f9 1c 48 4d fa c9 70 25 26 26 f2 3c 7f ee 5c a5 20 ....c....+.......HM..p%&&.<..\..
07a0 08 11 11 11 0a 85 22 22 22 e2 c0 81 03 b3 66 cd 52 ab d5 09 09 09 b1 b1 b1 b9 b9 b9 d1 d1 d1 16 ......""".....f.R...............
07c0 8b c5 53 90 41 08 87 0e 35 e8 f5 06 00 80 4e a7 c3 30 2c 2e 2e ce 6c 36 47 47 47 e7 e4 e4 8c 1a ..S.A...5.....N..0,...l6GGG.....
07e0 35 4a af d7 0f 1d 3a 34 22 22 a2 b6 b6 36 2c 2c 8c 61 18 ef 89 29 00 01 86 7c 85 38 8e 17 15 15 5J....:4""...6,,.a...)...|.8....
0800 4d 9c 38 71 70 2d 0e 10 c2 86 86 06 a3 d1 28 aa 08 38 8e 63 18 26 08 82 a8 3c 8a 2a 24 3a 2e 0e M.8qp-........(..8.c.&...<.*$:..
0820 16 84 50 af d7 47 47 47 d7 d5 d5 0d 1b 36 ac b4 b4 94 20 08 cf f3 c5 33 71 1c 37 99 4c 6a b5 5a ..P..GGG.....6.........3q.7.Lj.Z
0840 3c 2e 7e 41 1a 06 fa 97 24 49 96 65 c7 8f 1f ef 76 bb d7 1c c8 0a 88 ff 23 6a 00 42 08 08 cc 59 <.~A....$I.e....v.......#j.B...Y
0860 57 fe d7 57 d3 74 f1 b1 50 26 03 82 60 b1 58 ce 55 56 2a 62 62 c6 46 46 8a fd fc ff 43 26 e6 fe W..W.t..P&..`.X.UV*bb.FF....C&..
0880 e7 3a 02 00 08 00 86 63 9e 4b 4b a4 cd 8b 13 8d 61 00 02 00 05 88 61 18 3a 8e 06 c0 53 a5 c1 30 .:.....c.KK.....a.....a.:...S..0
08a0 d0 74 ae 68 ec 70 db 13 c9 a9 a8 1b 16 8b a5 a9 a9 49 2e 97 c7 c4 c4 e0 38 8e de 46 f1 59 c4 c7 .t.h.p...........I......8..F.Y..
08c0 c1 71 1c 75 89 e7 79 71 60 bb bb bb eb eb eb 25 12 09 8e e3 24 49 8e 1c 39 12 5d 2b 9e 80 2e 44 .q.u..yq`......%....$I..9.]+...D
08e0 7f 45 05 74 d0 95 77 e4 2b 7c e3 bd 6c af 73 2c 00 40 48 48 c8 00 fa e7 ef ef 7f f9 f2 65 00 40 .E.t..w.+|..l.s,[email protected].@
0900 60 60 60 41 41 41 58 58 58 1f 6f 98 bf bf 7f 7f 8c 17 5d 5d 5d d7 5b 7f 62 ca 9a 92 37 d2 a7 4a ```AAAXXX.o.......]]].[.b...7..J
0920 ee 4d 81 38 8e 11 84 4d 2e af 2c 2c 28 19 3d 35 b2 ae 42 d0 68 c6 8e 18 01 da db 01 c3 4c bf 78 .M.8...M..,,(.=5..B.h........L.x
0940 ca b6 ff cd 33 0f af 26 09 5c d4 c9 a1 87 f1 06 fc f4 fb 35 4c f4 fc f5 e7 28 20 20 20 30 30 10 ....3..&.\.........5L....(...00.
0960 42 88 a6 1c bd 39 9e 6c 09 8d 00 fa db 63 4d a7 d3 e9 82 82 82 3c c4 22 87 5a f8 b9 cb c5 ee 79 B....9.l.....cM......<.".Z.....y
0980 d1 dc e0 45 db 3e 86 45 47 47 0f 98 0b de 73 cf 3d 08 58 f7 dd 77 df a0 f4 27 26 26 86 a6 e9 9e ...E.>.EGG....s.=.X..w...'&&....
09a0 9d 94 00 c9 57 db 24 23 12 20 8e 03 8e b3 e8 f5 e7 bf 38 f8 ed bc a7 c1 f3 1b 6b bf 2f 7f 60 d5 ....W.$#..........8.......k./.`.
09c0 7c c0 71 e3 16 2d 82 05 05 80 c1 ee 2f fa 22 27 f9 f7 da a1 49 de 18 2b 71 19 3b 80 29 47 60 ea |.q..-....../."'....I..+q.;.)G`.
09e0 d1 da af 68 20 f5 ba 47 81 20 08 6a a0 24 8a 48 38 78 74 cd 0e f1 93 4e 5a 70 b2 e6 4a 23 26 93 ...h...G...j.$.H8xt....NZp..J#&.
0a00 59 83 82 4a 0e 1c 38 b4 28 9d 4b 7f 5f 26 f7 8f 18 3b ed d8 a6 53 67 db cc 67 f7 7f 0e ee bd d7 Y..J..8.(.K._&...;...Sg..g......
0a20 e1 70 14 9e 3d c7 4a 07 75 31 c5 dd 91 f6 51 48 82 bb 92 30 93 87 89 89 05 a6 b4 a7 1a 72 3e 71 .p..=.J.u1....QH...0.........r>q
0a40 d4 d7 f3 f5 f5 5f ff bf 75 aa 47 5f 22 48 0a 42 08 04 cc 10 37 a6 7c d3 09 db 6b 0f 5a 77 ee e4 ....._..u.G_"H.B....7.|...k.Zw..
0a60 05 21 7b ce 12 4d c8 90 c1 eb 07 00 c6 3b 10 55 02 00 77 29 b0 ae 02 a0 25 81 c0 ff c8 b7 03 46 .!{..M.......;.U..w)....%......F
0a80 8d 3f b6 e1 c8 7d 9f fd 77 f1 a2 d5 ca 07 96 48 30 00 21 c0 7f 94 26 58 48 44 6c f3 c6 e3 f2 ad .?...}..w......H0.!...&XHDl.....
0aa0 e9 3f 04 86 48 9e 5a 2f 93 4a 06 c3 07 0d 30 0c e0 18 d9 0e e1 1d 38 be f0 6e 05 96 84 14 ea cf .?..H.Z/.J....0.......8..n......
0ac0 fc b3 c7 9c 7e f3 87 b9 40 e8 ea 2e fb e7 75 2f 29 98 9f 0a 20 04 35 ef 0f 62 37 70 1c e0 d8 e8 [email protected]/).....5..b7p....
0ae0 3b 70 7c 85 bb 55 14 3e 3b 77 82 09 30 e0 d7 e6 16 10 03 91 a4 f2 4e 64 58 3f e5 58 77 49 10 29 ;p|..U.>;w..0.........NdX?.XwI.)
0b00 86 61 09 51 21 c0 47 5e 04 96 07 c7 22 08 22 3f 3f 5f a9 54 fa c6 c5 47 03 26 96 65 47 26 8d f9 .a.Q!.G^...."."??_.T...G.&.eG&..
0b20 09 c7 82 10 86 84 84 c4 c6 c6 fa 46 67 b0 f8 a2 57 98 c1 ed ad ec 43 08 dd 0c 0f 3d 75 2c e4 51 ...........Fg...W.....C....=u,.Q
0b40 b9 7b 82 48 bd 4a 38 8e 97 95 95 21 27 fa 20 92 4e a7 0b 0e 0e be ad b5 76 41 40 5e 2e d2 07 02 .{.H.J8....!'...N.......vA@^....
0b60 2f b1 2b 95 4a 35 76 ec d8 c1 6d b6 a2 a2 02 42 d8 d5 d5 35 e8 90 ed d1 f9 de e1 5f fd 71 9a 79 /.+.J5v...m....B...5......._.q.y
0b80 f2 2d 1f b0 bc 28 14 06 70 c9 0d 03 3b 21 84 76 bb 3d 34 34 d4 7b dd 96 4a a5 32 99 4c 3c 42 92 .-...(..p...;!.v.=44.{..J.2.L<B.
0ba0 e4 f1 e3 c7 27 4e 9c d8 ff 68 08 e8 e3 58 de a6 6f be f9 26 2d 2d cd 64 32 99 4c 26 bd 5e ef 76 ....'N...h...X..o..&--.d2.L&.^.v
0bc0 bb 21 84 5a ad b6 a1 a1 21 2a 2a aa a9 a9 29 24 24 44 a1 50 a0 88 03 b3 d9 5c 59 59 39 66 cc 18 .!.Z....!**...)$$D.P.....\YY9f..
0be0 ab d5 1a 18 18 c8 f3 7c 73 73 b3 5e af 47 22 e6 ea d5 ab 28 be 83 a2 28 a9 54 ea 6d 60 dd 4a f8 .......|ss.^.G"....(...(.T.m`.J.
0c00 32 84 10 f7 cd bd 57 09 45 5a 9f 3f 7f 5e 22 91 d8 ed f6 e5 cb 97 ab 54 aa 2d 5b b6 6c de bc 79 2.....W.EZ.?.^"........T.-[.l..y
0c20 e7 ce 9d 56 ab f5 b9 e7 9e 13 9d c7 1a 8d a6 a0 a0 40 ad 56 bf f7 de 7b c7 8e 1d cb cc cc dc ba [email protected]...{........
0c40 75 6b 67 67 e7 ae 5d bb 8c 46 e3 c1 83 07 3d 43 46 7f 01 69 fe fe fb ef 0f 6c 09 02 a1 8f 63 79 ukgg..]..F....=CF..i.....l....cy
0c60 99 ce 9f 3f 1f 11 11 81 61 18 62 51 71 71 71 82 20 cc 98 31 63 e2 c4 89 72 b9 9c a2 a8 c8 c8 48 ...?....a.bQqqq....1c...r......H
0c80 71 f2 2e 5f be ec 74 3a d1 a2 5d af d7 87 86 86 fa fb fb a3 b0 f7 9a 9a 9a de 91 ef 5e a5 d6 d6 q.._..t:..].................^...
0ca0 d6 a8 a8 28 14 0c 37 10 5c 8a 81 7e 25 25 25 81 81 81 fd 4f 7c f0 51 1f 44 10 44 5d 5d 5d 72 72 ...(..7.\..~%%%....O|.Q.D.D]]]rr
0cc0 f2 cd 2a 58 00 80 8b 17 2f 66 67 67 a7 a7 a7 5f 57 79 8f 89 89 69 6d 6d 0d 0b 0b f3 aa 28 f4 f3 ..*X..../fgg..._Wy...imm.....(..
0ce0 f3 f3 3c 78 f4 e8 d1 7e ea 58 82 20 70 02 f6 fc 7f 7f ee 13 85 b7 d1 42 12 cd 6b 5c 5c 5c 7a 7a ..<x...~.X..p..........B..k\\\zz
0d00 3a fc 8d 3b a7 f1 01 e3 da 07 85 fe 13 cf f3 9e 51 78 37 5c 15 7a 86 8e fd 16 87 1a 1b f0 aa 10 :..;............Qx7\.z..........
0d20 c3 b0 cb 97 2f 07 06 06 de ec 55 1d 1d 1d 31 31 31 2c cb 8a 1a 83 18 83 0b ae 45 a9 fb f9 f9 09 ..../.....U...111,........E.....
0d40 82 e0 74 3a 07 31 01 ba f7 8d 50 04 22 8e e3 36 9b 6d 70 53 56 58 96 35 18 0c 9e 47 38 8e fb d7 ..t:.1....P."..6.mpSVX.5...G8...
0d60 bf fe f5 c2 0b 2f 7c fb ed b7 53 a7 4e ad ab ab eb ec ec 9c 38 71 62 51 51 51 4c 4c cc d9 b3 67 ...../|...S.N.......8qbQQQLL...g
0d80 93 92 92 ec 76 fb 98 31 63 50 3f 73 73 73 53 53 53 eb ea ea ae 5c b9 f2 d0 43 0f 7d f5 d5 57 81 ....v..1cP?sssSSS....\...C.}..W.
0da0 81 81 72 b9 fc 37 53 67 0a bb 05 e5 3d 36 36 16 19 cd 18 86 e9 7f 86 9a c1 60 b0 5a ad 38 8e 87 ..r..7Sg....=66..........`.Z.8..
0dc0 87 87 23 dc 98 4c 26 8d 46 e3 70 73 32 29 49 60 a0 be be 5e 2a 95 62 18 16 16 16 26 a6 7f f5 40 ..#..L&.F.ps2)I`...^*.b....&...@
0de0 d8 c0 d6 c0 36 9b 4d a5 52 b9 19 9e 24 09 12 07 0d 0d 0d a8 24 98 56 ab bd 29 eb df 0d a9 a9 a9 ....6.M.R...$.......$.V..)......
0e00 a9 c7 11 a9 54 6a 34 1a 73 73 73 27 4d 9a 94 95 95 35 6d da 34 1c c7 5b 5b 5b cf 9c 39 73 fe fc ....Tj4.sss'M....5m.4..[[[..9s..
0e20 79 93 c9 c4 b2 6c 41 41 01 02 16 84 30 35 35 b5 bd bd 5d a7 d3 19 0c 86 f7 df 7f ff 87 1f 7e 08 y....lAA....055...]...........~.
0e40 09 09 59 be 7c 79 45 45 c5 6f 43 0e 62 b7 c0 12 44 e7 cf 8e 1d 3b 00 00 28 97 f2 86 b2 12 5d 85 ..Y.|yEE.oC.b...D....;..(.....].
0e60 38 d3 db 6f bf 7d e5 ca 15 82 20 5a 5b db be cc 3c f3 c5 a1 33 76 bb 4d 44 0c 49 92 eb d7 af cf 8..o.}.....Z[...<...3v.MD.I.....
0e80 cf cf af a8 a8 28 2c 2c bc 70 e1 c2 e6 cd 9b 33 33 33 1b 1a 1a 4e 9d 3a 95 95 95 75 e0 c0 81 9d .....(,,.p.....333...N.:...u....
0ea0 3b 77 f2 3c 9f 9d 9d fd d6 5b 6f 01 00 f2 f2 f2 36 6c d8 00 00 d8 bd 7b 37 00 60 e3 c6 8d 7b f6 ;w.<.....[o.....6l.....{7.`...{.
0ec0 ec 79 e2 89 27 dc 6e f7 8e 1d 3b 64 32 59 5b 5b db 57 d9 65 9f 1f 28 b2 d9 2c 22 1b fb e4 93 4f .y..'.n...;d2Y[[.W.e..(..,"....O
0ee0 fa 78 cc ea ea ea 9b d5 07 7a 1f 2f 2a 2a 72 bb dd 09 09 09 59 59 59 c9 c9 c9 95 95 95 df 7c f3 .x.......z./**r.....YYY.......|.
0f00 4d 7c 7c fc 98 31 63 c6 8c 19 c3 b2 2c 84 70 da b4 69 62 97 b6 6c d9 72 fe fc 79 99 4c f6 e5 97 M||..1c.....,.p..ib..l.r..y.L...
0f20 5f 3e f0 c0 03 73 e6 cc 09 08 08 f8 2d 29 58 f8 2d 70 2c 9e e7 f7 ef df 7f f1 e2 c5 ee ee ee 65 _>...s......-)X.-p,............e
0f40 cb 96 8d 19 33 e6 e2 c5 8b a3 47 8f ae ac ac 9c 35 6b d6 84 09 13 3c 57 0a 17 2e 5c 00 00 24 26 ....3.....G.....5k....<W...\..$&
0f60 26 7a 32 f3 91 23 47 ee dd bb f7 85 17 5e a0 69 f7 8c c9 e1 18 00 1d 1d 9d 22 b0 18 86 59 b5 6a &z2..#G......^.i........."...Y.j
0f80 55 41 41 41 67 67 e7 bc 79 f3 f2 f2 f2 9a 9b 9b 13 13 13 4f 9d 3a f5 e4 93 4f 6e dc b8 f1 a5 97 UAAAgg..y..........O.:...On.....
0fa0 5e fa fe fb ef 21 84 36 9b 0d 2d ec 27 4f 9e dc d4 d4 74 fa f4 e9 ef bf ff 1e 00 40 51 d4 d8 b1 ^....!.6..-.'O....t........@Q...
0fc0 63 eb eb eb b7 6f df de dd dd cd b2 ac cb e5 9a 98 12 84 e1 d8 d5 ab dd 38 fe a3 20 e6 38 2e 2b c....o..................8....8.+
0fe0 2b ab a0 a0 40 af d7 27 27 27 67 65 65 51 14 e5 ef ef 5f 5f 5f bf 7b f7 ee 0f 3f fc 10 42 98 92 +...@..'''geeQ....___.{...?..B..
1000 92 52 52 52 92 90 90 e0 74 3a ed 76 7b 77 77 f7 3d f7 dc f3 d4 53 4f f5 73 ac c6 8f 1f 3f 7e fc .RRR....t:.v{ww.=....SO.s....?~.
1020 78 00 c0 13 4f 3c 01 00 88 8f 8f 9f 37 6f 1e 84 30 2d 2d 0d 00 30 75 ea d4 1e 3a d6 5f ff fa 57 x...O<......7o..0--..0u...:._..W
1040 00 40 4e 4e ce d2 a5 4b 51 36 d8 6f 4c 73 bf 15 25 a6 ad ad ed f0 e1 c3 28 87 bd ad ad cd 62 b1 [email protected]..%.......(.....b.
1060 4c 9f 3e 3d 33 33 d3 68 34 16 14 14 94 7b 50 45 45 45 46 46 46 4e 4e 4e 59 59 59 77 77 b7 08 9d L.>=33.h4....{PEEEFFFNNNYYYww...
1080 23 47 8e 4c 9f 3e 9d 20 88 f0 f0 f0 ac 3c f3 b7 a7 cd 43 86 c4 88 6b 5a 8a a2 9e 7b ee 39 41 10 #G.L.>.......<....C...kZ...{.9A.
10a0 04 41 28 2c 2c bc 7c f9 b2 d5 6a ed ec ec 34 1a 8d 2d 2d 2d 67 ce 9c d9 bc 79 f3 91 23 47 70 1c .A(,,.|...j...4..---g....y..#Gp.
10c0 b7 db ed cd cd cd 00 80 dc dc dc f2 f2 f2 94 94 14 e4 a9 a5 69 7a e4 c8 91 2a 95 6a f9 f2 e5 18 ....................iz...*.j....
10e0 86 49 24 92 88 88 f0 13 e5 ce 2f 8f 77 0f 19 12 f3 7f c9 ab 34 4d 92 a4 20 08 41 41 41 4a a5 12 .I$......./.w.......4M....AAAJ..
1100 e5 36 ce 9c 39 13 2d e9 79 9e b7 db ed 06 83 c1 62 b1 28 14 8a 9c 9c 9c e1 c3 87 07 06 06 06 07 .6..9.-.y.......b.(.............
1120 07 bf f3 ce 3b 79 79 79 10 c2 d2 d2 d2 01 2f 03 7b 1f 11 97 87 b3 66 cd 92 cb e5 bf 49 6b 0b 8e ....;yyy....../.{.....f.....Ik..
1140 0d dc 8e 75 e5 ca 15 bb dd 0e 00 70 bb dd 0e 87 43 ad 56 0b 82 20 95 4a 21 84 82 20 78 56 0b 02 ...u.......p....C.V....J!...xV..
1160 00 c8 64 32 96 65 19 86 19 31 62 04 45 51 c8 ad 81 b8 57 57 57 97 5c 2e 37 1b 6d c1 21 01 6e 5a ..d2.e...1b.EQ....WWW.\.7.m.!.nZ
1180 68 6b 6b f5 f7 f7 c7 30 4c ad 56 23 43 73 49 49 49 4a 4a 8a d8 d4 57 5f 7d b5 60 c1 82 01 3c ad hkk....0L.V#CsIIIJJ...W_}.`...<.
11a0 c5 62 21 08 c2 61 77 eb 75 2a 37 c3 b7 b7 b7 23 13 a5 56 ab ed fb c2 ae ae 2e 9d 4e 77 53 3a 96 .b!..aw.u*7....#..V........NwS:.
11c0 56 ab f5 b4 63 d9 6c 36 96 65 6f 78 23 4f 2f 0a 4d d3 c8 6f e3 a9 50 fe 92 76 2c 93 c9 64 b1 58 V...c.l6.eox#O/.M..o..P..v,..d.X
11e0 fc fc fc 82 82 82 6e d6 8e f5 d7 7f 1e 1a b8 28 b4 db ed 37 1b c2 81 e3 f8 a5 4b 97 86 0f 1f ce ......n........(...7......K.....
1200 30 4c 53 53 13 e2 97 82 20 20 59 d6 d8 e4 f4 94 b3 cd cd cd 08 79 06 83 a1 b1 b1 51 fc 29 29 29 0LSS......Y..........y.....Q.)))
1220 c9 f3 df 9b 1a 32 c4 a5 1a 9b 6d 9e 03 81 12 88 fb be d6 e1 70 f4 9f 0f d9 ed f6 1e 18 52 a9 54 .....2....m.........p........R.T
1240 eb d6 ad 7b ed b5 d7 76 ef de fd bb df fd ee ec d9 b3 2d 2d 2d 0b 16 2c c8 ca ca 1a 31 62 c4 a9 ...{...v..........---..,....1b..
1260 53 a7 26 4f 9e 6c 34 1a e7 cd 9b 87 5a 38 78 f0 60 5a 5a da a9 53 a7 2e 5c b8 b0 7c f9 f2 f7 de S.&O.l4.....Z8x.`ZZ..S..\..|....
1280 7b 2f 2c 2c 4c a7 d3 69 34 9a 5f 8c eb 68 34 9a ad 5b b7 3e f3 cc 33 03 b8 96 24 70 72 c0 b8 4e {/,,L..i4._..h4..[.>..3...$pr..N
12a0 4a 4a 1a 80 89 45 af d7 f3 3c 4f 92 64 1f a1 aa a8 d9 1e c6 5f 2f bd 9d 08 b8 83 db ec 75 15 6d JJ...E...<O.d......._/.......u.m
12c0 8e e3 72 72 72 16 2f 5e 7c e8 d0 a1 b4 b4 b4 e8 e8 68 a3 d1 48 92 a4 c9 64 b2 d9 6c 9d 9d 9d df ..rrr./^|........h..H...d..l....
12e0 7d f7 1d 02 16 84 70 c1 82 05 2d 2d 2d f1 f1 f1 23 47 8e 7c f7 dd 77 75 3a 5d 57 57 d7 a2 45 8b }.....p...---...#G.|..wu:]WW..E.
1300 7e c9 55 21 84 f0 b5 d7 5e fb a5 75 2c b1 ce c2 cd 92 b8 96 bc 61 4e 29 f4 3e 79 ef 46 3d 86 eb ~.U!....^..u,........aN).>y.F=..
1320 bb ef be 03 00 a4 a4 a4 7c f4 d1 47 b3 67 cf ce cb cb db b6 6d db 90 21 43 94 4a a5 c3 e1 40 25 ........|..G.g......m..!C.J...@%
1340 e6 1e 7c f0 41 71 6c 33 32 32 ca cb cb 29 8a fa f0 c3 0f 9f 7e fa 69 7f 7f 7f 95 4a d5 9b fb 7a ..|.Aql322...)......~.i....J...z
1360 b5 e7 b7 e2 97 94 90 b8 cf 57 e8 1d ed b5 1f be c2 de d6 b8 1e 91 2a 35 35 35 f1 f1 f1 9e 31 7d .........W............*555....1}
1380 15 15 15 d1 d1 d1 8d 8d 8d 9e e5 30 24 12 09 2a cb 33 58 c4 71 1c c3 30 9e 76 9f 93 27 4f f6 5f ...........0$..*.3X.q..0.v..'O._
13a0 c7 e2 05 6c ed bf 8e f8 a2 1b bc 28 4a 7a cf 84 c8 12 50 64 55 1f ab 42 00 c0 f0 e1 c3 af 2b 2b ...l.......(Jz....PdU..B......++
13c0 02 03 03 83 82 82 50 fb 48 0d 1d 94 a2 8f a8 dc 2b 2a 62 d3 a3 10 cd cd 36 4e 11 84 cf 09 ed 2d ......P.H.......+*b.....6N.....-
13e0 e2 38 ce e1 70 d8 ed 76 41 10 ec 76 3b fa de de de de d5 d5 55 5c 5c 7c eb 90 7d eb ad b7 2a 2b .8..p..vA..v;.......U\\|..}...*+
1400 2b 6f 5d 6c 89 f4 c1 07 1f 20 ab cd ad 12 06 24 12 1f b0 bc 46 12 89 44 a5 52 29 95 ca d5 ab 57 +o]l...........$....F..D.R)....W
1420 23 25 49 a5 52 05 05 05 89 c5 86 fa 49 65 65 65 1d 1d 1d bd b5 e3 e4 e4 e4 f0 f0 f0 41 ec 70 5c #%I.R.......Ieee............A.p\
1440 5c dc 60 65 6a 48 24 84 4f 14 7a 97 1a 1a 1a c4 d9 b2 58 2c d5 d5 d5 24 49 5e bf 4c d7 cf 90 54 \.`ejH$.O.z.......X,...$I^.L...T
1460 2a ed ec ec ec 01 47 08 e1 ec d9 b3 fb 13 31 d1 7f 9a 35 6b d6 60 55 25 95 10 3e 60 79 99 86 0e *.....G.......1...5k.`U%..>`y...
1480 1d ba 6c d9 32 f4 9d a6 69 9a a6 79 9e bf 29 33 4d 5c 5c 1c 32 29 8b f2 ce e9 74 7a ba 65 07 91 ..l.2...i..y..)3M\\.2)....tz.e..
14a0 9c 4e 27 2a 76 ec 59 f4 9f 20 88 9b 0c 89 c6 24 24 ee 03 96 d7 49 cc 78 41 4b 2d 9e e7 e3 e3 e3 .N'*v.Y........$$....I.xAK-.....
14c0 6f 8a 63 f5 d0 fd fd fd fd 51 04 b3 f7 c8 d3 0e 85 6c 96 37 53 b0 14 fa 44 a1 b7 08 79 b7 f2 f2 o.c......Q.......l.7S...D...y...
14e0 f2 3c d5 6a 14 6a 06 00 30 99 4c 3d 7e ea a7 ce 1e 1f 1f 8f 61 98 67 29 fc db 92 30 09 f9 53 60 .<.j.j..0.L=~.......a.g)...0..S`
1500 dd 2c 97 f6 51 1f 20 08 0f 0f 8f 88 88 18 f4 66 6f ff 09 c2 7a e8 58 1c c7 25 27 27 d3 34 7d e2 .,..Q..........fo...z.X..%''.4}.
1520 c4 89 b1 63 c7 12 04 b1 6b d7 2e 95 4a 25 08 c2 c2 85 0b 7f 5b f1 40 3e fa b5 88 20 08 9b c3 45 ...c....k...J%......[.@>.......E
1540 f6 d6 b1 f2 f3 f3 d3 d2 d2 fc fc fc 2e 5f be ac d1 68 96 2e 5d fa e8 a3 8f 2e 59 b2 e4 ae da 71 ............._...h..].....Y....q
1560 ce 47 b7 62 64 01 00 90 9e 2e 9d e2 e2 e2 90 90 90 d7 5f 7f 5d a1 50 40 08 47 8d 1a f5 e0 83 0f .G.bd............._.][email protected]......
1580 66 65 65 3d fe f8 e3 9e 45 fd 7d e4 a3 be b5 7e 85 52 5d 74 be a5 a7 af d0 57 c6 c8 47 b7 b8 6a fee=....E.}....~.R]t.....W..G..j
15a0 e1 21 f6 dd e9 1a b2 b7 7a e8 1b 1d 1f dd ca f2 02 00 6c e0 f1 58 37 24 ef 6e d5 72 8d 48 92 44 .!......z.........l..X7$.n.r.H.D
15c0 ce 7f ef e5 9e d3 34 ed c5 5d b2 bc 35 b5 5e 67 10 3d fc e5 bd 54 78 8c 1c 40 bf 29 8a f2 0c ab ......4..]..5.^g.=...Tx..@.)....
15e0 80 10 ca 64 32 b7 db 2d 1e 21 08 e2 c8 91 23 93 26 4d 72 b9 5c 7d c3 82 e3 38 89 44 d2 23 8e 19 ...d2..-.!....#.&Mr.\}...8.D.#..
1600 89 66 71 eb 98 1e 5b 11 a1 5d fc c0 b5 12 84 e8 88 b8 01 13 41 10 9e b5 e3 90 a1 8f a2 a8 de fb .fq...[..]..........A...........
1620 c7 62 18 46 10 04 da 69 a7 47 b9 39 3f 3f 3f 74 0b 8a a2 0e 1f 3e bc 70 e1 42 64 88 11 1f b3 c7 .b.F...i.G.9???t.....>.p.Bd.....
1640 20 40 08 d1 25 e8 af e7 70 a3 67 ec fd ec 32 99 4c 10 84 be cb 31 40 08 d1 e0 a0 3b f6 6e 1c 15 .@..%...p.g...2.L....1@....;.n..
1660 b2 ea fd 02 bb dd 6e 31 69 c5 33 9b b2 c7 f8 88 c3 eb e7 e7 e7 39 3e 28 8e bc c7 98 78 9e 86 b2 ......n1i.3..........9>(....x...
1680 32 d1 00 5e 5f d3 22 fa 17 e8 e7 70 38 4c 26 13 4d d3 56 ab 55 22 91 ec dd bb d7 e5 72 39 1c 0e 2..^_."....p8L&.M.V.U"......r9..
16a0 14 ed 8e 61 d8 da b5 6b 65 32 99 c3 e1 70 3a 9d e8 39 31 0c 2b 2c 2c 94 c9 64 41 41 41 5a ad 56 ...a...ke2...p:..91.+,,..dAAAZ.V
16c0 af d7 a3 5d be 02 02 02 f4 7a bd 4a a5 d2 eb f5 55 55 55 a1 a1 a1 79 79 79 1a 8d 46 ab d5 6a b5 ...].....z.J....UUU...yyy..F..j.
16e0 da e0 e0 60 94 e5 67 b5 5a 29 8a ea e8 e8 e0 38 2e 24 24 44 2a 95 06 05 05 69 34 1a bd 5e bf 75 ...`..g.Z).....8.$$D*....i4..^.u
1700 eb 56 b5 5a 1d 1a 1a 1a 10 10 80 8c 20 1c c7 99 cd 66 9b cd 66 b1 58 6a 6b 6b db db db 5d 2e 57 .V.Z.............f..f.Xjkk...].W
1720 67 67 a7 db ed ae a8 a8 e8 e8 e8 d8 b0 61 83 d5 6a 75 b9 5c e2 5f 14 b4 59 58 58 d8 de de 9e 97 gg...........a..ju.\._..YXX.....
1740 97 c7 b2 6c 47 47 07 cb b2 56 ab d5 e9 74 be f4 d2 4b 2e 97 8b 65 59 b3 d9 2c 6e 5c e3 72 b9 fe ...lGG...V...t...K...eY..,n\.r..
1760 f1 8f 7f 98 cd 66 14 b6 b0 67 cf 1e 34 02 2e 97 0b 42 f8 ca 2b af a8 d5 ea d7 5f 7f 1d 00 80 22 .....f...g..4....B..+....._...."
1780 1a 1c 0e 07 4d d3 59 59 59 34 4d bb 5c 2e a7 d3 29 22 cc 6a b5 6e de bc 79 ff fe fd 68 23 42 08 ....M.YYY4M.\...)".j.n..y...h#B.
17a0 21 c3 30 10 42 ab d5 8a fe 9a cd 66 87 c3 61 b5 5a 33 33 33 c5 b7 6e d5 aa 55 68 6d 8e 3a 29 08 !.0.B......f..a.Z333..n..Uhm.:).
17c0 42 6d 6d ed a5 4b 97 cc 66 b3 cb e5 f2 44 06 cb b2 28 a6 ca e9 74 a2 91 c1 30 0c 81 32 3f 3f 1f Bmm..K..f....D...(...t...0..2??.
17e0 81 89 e7 f9 b3 67 cf a2 94 dd d5 ab 57 23 c0 a1 f7 f9 cd 37 df ac ad ad 35 9b cd 38 8e 5b ad 56 .....g......W#.....7....5..8.[.V
1800 41 10 38 8e 23 49 32 23 23 03 45 d4 b0 2c db 77 ea ac cb cd 12 af be fa 2a b8 b6 63 a7 5c 2e ef A.8.#I2##.E..,.w........*..c.\..
1820 1d 55 8d e3 f8 e6 cd 9b 0d 06 c3 47 1f 7d e4 e7 e7 17 1a 1a 5a 53 53 73 fc f8 71 99 4c 76 e0 c0 .U.........G.}......ZSSs..q.Lv..
1840 01 b9 5c 5e 56 56 66 32 99 ae 5c b9 b2 6e dd 3a a9 54 9a 90 90 40 10 44 6d 6d 6d 45 45 45 58 58 ..\^VVf2..\..n.:[email protected]
1860 58 7e 7e 7e 56 56 16 cb b2 ef bc f3 4e 47 47 47 75 75 f5 d7 5f 7f 5d 52 52 52 5a 5a 1a 15 15 15 X~~~VV......NGGGuu.._.]RRRZZ....
1880 15 15 55 5b 5b 7b f4 e8 d1 b3 67 cf 6e db b6 6d d8 b0 61 87 0e 1d 3a 79 f2 e4 17 5f 7c 31 7f fe ..U[[{....g.n..m..a...:y..._|1..
18a0 7c a3 d1 e8 76 bb 33 33 33 35 1a cd 27 9f 7c 32 76 ec d8 f2 f2 f2 fa fa fa c3 87 0f b7 b5 b5 69 |...v.3335..'.|2v..............i
18c0 b5 da d0 d0 50 9a a6 1b 1a 1a 1c 0e 87 c5 62 49 4f 4f 47 3b 81 e5 e6 e6 1e 39 72 a4 b2 b2 32 21 ....P.........bIOOG;.....9r...2!
18e0 21 41 a5 52 d5 d4 d4 94 96 96 5e b8 70 61 c3 86 0d a3 47 8f 3e 78 f0 60 79 79 f9 96 2d 5b e6 ce !A.R......^.pa....G.>x.`yy..-[..
1900 9d 2b 97 cb 1b 1b 1b 4f 9e 3c 49 92 64 76 76 76 42 42 c2 91 23 47 1c 0e c7 c7 1f 7f 8c 32 c6 1c .+.....O.<I.dvvvBB..#G.......2..
1920 0e 47 62 62 62 77 77 77 73 73 73 63 63 63 69 69 69 61 61 21 aa 49 74 ec d8 b1 9a 9a 9a 4d 9b 36 .Gbbbwwwsssccciiiaa!.It......M.6
1940 0d 19 32 e4 d2 a5 4b 73 e7 ce 3d 74 e8 10 cb b2 45 45 45 ed ed ed d5 d5 d5 b9 b9 b9 b1 b1 b1 1b ..2...Ks..=t....EEE.............
1960 36 6c 68 6c 6c cc cf cf 17 33 07 69 9a fe fe fb ef bb bb bb 83 82 82 0a 0b 0b 4f 9c 38 a1 d3 e9 6lhll....3.i..............O.8...
1980 b4 5a ed f3 cf 3f 6f 34 1a b3 b3 b3 a3 a2 a2 3e f8 e0 83 88 88 88 ec ec ec d8 d8 d8 ba ba 3a 89 .Z...?o4.......>..............:.
19a0 44 52 5d 5d ed 72 b9 aa aa aa 2e 5e bc 58 54 54 84 c0 5a 5d 5d bd 73 e7 ce ea ea ea 94 94 14 d1 DR]].r.....^.XTT..Z]].s.........
19c0 f9 73 f2 e4 49 8d 46 73 e9 d2 a5 d5 ab 57 73 1c e7 72 b9 3e fe f8 e3 e2 e2 e2 d2 d2 d2 d8 d8 d8 .s..I.Fs.....Ws..r.>............
19e0 f0 f0 f0 6d db b6 6d da b4 69 f4 e8 d1 65 65 65 51 51 51 47 8f 1e c5 30 6c e3 c6 8d 1d 1d 1d 97 ...m..m..i...eeeQQQG...0l.......
1a00 2e 5d 72 b9 5c 89 89 89 34 4d 7f f6 d9 67 3a 9d 6e cf 9e 3d f1 f1 f1 b5 b5 b5 b5 b5 b5 e5 e5 e5 .]r.\...4M...g:.n..=............
1a20 bb 76 ed 4a 4a 4a 32 18 0c 48 a4 f4 e6 b2 9c 00 96 6f f8 12 ef 8f ec 0b 0e 0e 0e 0d 0d 45 82 03 .v.JJJ2..H.......o...........E..
1a40 49 0a 94 8d 43 10 04 da 64 16 c7 71 83 c1 b0 76 ed 5a 71 f7 4a 00 80 42 a1 a0 69 da ed 76 cf 9f I...C...d..q...v.Zq.J..B..i..v..
1a60 3f 9f 61 98 c9 93 27 3f f4 d0 43 fe fe fe c3 87 0f ff f3 9f ff ec e7 e7 87 de 60 d4 da 7d f7 dd ?.a...'?..C...............`..}..
1a80 f7 c6 1b 6f 54 55 55 a5 a6 a6 ce 9f 3f ff d9 67 9f 45 3f 39 1c 0e a5 52 c9 30 8c 5a ad 56 2a 95 ...oTUU.....?..g.E?9...R.0.Z.V*.
1aa0 4e a7 53 ab d5 fe e9 4f 7f 9a 30 61 82 4a a5 12 99 7c 64 64 e4 0f 3f fc 90 98 98 18 1f 1f ef 72 N.S....O..0a.J...|dd..?........r
1ac0 b9 08 82 58 be 7c b9 5e af 47 81 bf 4a a5 92 a2 a8 61 c3 86 ad 59 b3 c6 64 32 dd 7b ef bd a9 a9 ...X.|.^.G..J....a...Y..d2.{....
1ae0 a9 28 a0 9b 20 08 86 61 fc fd fd 59 96 55 2a 95 2a 95 8a 61 18 a5 52 f9 c8 23 8f cc 98 31 c3 33 .(.....a...Y.U*.*..a..R..#...1.3
1b00 43 da 66 b3 d1 34 3d 67 ce 1c bd 5e 9f 95 95 15 13 13 a3 56 ab 93 93 93 df 78 e3 0d 9a a6 91 58 C.f..4=g...^.......V.....x.....X
1b20 d1 68 34 7e 7e 7e 48 46 04 06 06 92 24 c9 30 cc b8 71 e3 96 2c 59 22 66 25 01 00 a4 52 e9 ec d9 .h4~~~HF....$.0..q..,Y"f%...R...
1b40 b3 d1 86 83 24 49 8a c7 1f 7f fc f1 69 d3 a6 f9 fb fb c7 c7 c7 bb dd 6e b7 db 1d 1c 1c ac d1 68 ....$I......i..........n.......h
1b60 72 72 72 12 12 12 fc fd fd 49 92 94 48 24 48 44 a2 1b 09 82 f0 f2 cb 2f 07 06 06 ea f5 7a 4f 91 rrr......I..H$HD......./.....zO.
1b80 87 5e b9 a1 43 87 8e 1d 3b b6 ab ab 2b 28 28 e8 b9 e7 9e 53 28 14 48 7c 27 25 25 65 64 64 a0 7e .^..C...;...+((....S(.H|'%%edd.~
1ba0 a2 24 39 9e e7 67 cd 9a f5 fb df ff de ed 76 2b 14 0a d4 2b 99 4c c6 30 0c 4a 5b 47 41 85 f7 df .$9..g........v+...+.L.0.J[GA...
1bc0 7f ff b2 65 cb 82 83 83 fb 52 a0 21 34 9a 5d fd 0a 4d 66 18 86 24 49 54 d9 c2 cf cf cf e9 74 4a ...e.....R.!4.]..Mf..$IT......tJ
1be0 24 12 94 f9 8e f6 1f 44 7b 39 a3 4a 4e 12 89 84 20 88 03 07 0e 2c 5c b8 d0 6e b7 a3 8a 03 88 85 $......D{9.JN........,\..n......
1c00 22 d6 88 e3 38 3a 93 e3 38 b9 5c 2e b6 26 08 02 1a 38 a4 df c8 64 32 9e e7 5d 2e 97 52 a9 14 db "...8:..8.\..&...8...d2..]..R...
1c20 71 3a 9d 68 b6 90 d3 2d 20 20 c0 66 b3 c9 e5 72 94 5b c6 71 1c 45 51 2e 97 4b a1 50 38 1c 0e 3f q:.h...-...f...r.[.q.EQ..K.P8..?
1c40 3f 3f 9a a6 e5 72 39 9a 78 1c c7 19 86 91 4a a5 08 4c 1c c7 c9 64 32 94 54 a3 52 a9 ec 76 bb 42 ??...r9.x.....J..L...d2.T.R..v.B
1c60 a1 40 22 83 20 08 8e e3 a4 52 29 45 51 fb f7 ef 5f b4 68 11 c7 71 a8 9f 48 0a a0 a9 45 61 96 1c .@"......R)EQ..._.h..q..H...Ea..
1c80 c7 21 54 29 14 0a ab d5 8a 26 8f a2 28 a4 96 21 25 92 e3 38 54 2a 42 7c 57 ed 76 bb d3 e9 24 08 .!T).....&..(..!%..8T*B|W.v...$.
1ca0 42 ad 56 a3 b1 45 4f 27 93 c9 d0 ad 4f 9d 3a 85 72 5c ad 56 ab 54 2a 45 88 47 23 86 7a 28 95 4a B.V..EO'....O.:.r\.V.T*E.G#.z(.J
1cc0 2d 16 0b ea b9 67 8d 3f d4 38 2a ac 85 fa 49 d3 34 d2 cf 28 8a 62 59 16 0d 17 ea b6 54 2a 45 0a -....g.?.8*...I.4..(.bY.....T*E.
1ce0 19 c2 28 8e e3 68 9a 28 8a 42 73 ea 70 38 d0 38 88 ea 32 d2 35 91 65 a1 b7 40 14 04 81 e5 c1 7d ..(..h.(.Bs.p8.8..2.5.e..@.....}
1d00 4b 36 79 25 e6 1d c3 b0 c6 c6 c6 11 23 46 78 bb 06 33 cf f3 34 4d 5f be 7c b9 b5 b5 d5 4b 0b 43 K6y%........#Fx..3..4M_.|....K.C
1d20 41 10 a6 4c 99 e2 8d 15 6e 0f b5 ba 87 94 40 5a 3f 52 cf 91 8b b0 ff 0f e8 72 b9 06 37 54 eb ba A..L....n.....@Z?R.......r..7T..
1d40 c3 a2 52 a9 7a 8b 42 04 ac 89 ff f9 2e e9 a5 bb 46 46 46 5a ad d6 5f 66 81 1d 13 13 e3 d5 1c 10 ..R.z.B.........FFFZ.._f........
1d60 6f ec 44 da b7 45 c0 73 f7 54 74 5a ff 3b 80 96 6f bf ba 99 d4 2b c0 ea db c8 f1 9b a3 df d6 83 o.D..E.s.TtZ.;..o....+..........
1d80 f4 d8 d7 f8 57 19 13 e8 25 60 f9 e8 76 80 97 5a ad 16 e1 25 8a dd 3e e4 ef 4d 51 5b 5b 1b 49 92 ....W...%`..v..Z...%..>..MQ[[.I.
1da0 3f 57 bc d9 57 e7 fd b6 26 b7 db 5d 54 54 24 08 42 4c 4c 8c 5c 2e d7 eb f5 32 99 ac ff 25 6e 5d ?W..W...&..]TT$.BLL.\....2...%n]
1dc0 2e 17 4d d3 04 41 54 54 54 5c be 7c f9 9e 7b ee 49 48 48 38 7d fa f4 c4 89 13 59 96 bd 45 ad d1 ..M..ATTT\.|..{.IHH8}.....Y..E..
1de0 64 32 f5 5d cf e2 b6 cb d2 b9 16 ca 06 31 ec a6 3f 68 cb 54 f8 eb d1 20 8e 80 20 00 b9 5c 79 ee d2.].........1..?h.T.........\y.
1e00 dc f9 c9 93 a7 ee df 7f 60 c7 8e 9d 0e 87 73 d3 a6 f7 00 20 04 01 fb f9 4f 0f 31 88 71 9c 10 1a ........`.....s.........O.1.q...
1e20 1a 3e 69 d2 94 b2 b2 f2 35 6b fe de d2 f2 c3 e6 cd ef 9f 3f 5f 03 21 3e e0 0f b2 f9 df c0 db d6 .>i.....5k.........?_.!>........
1e40 1f d5 f5 97 0c 9b 31 18 0c 82 c0 e5 e5 91 ef bf 2f bd a9 95 4d 50 10 fc f0 43 a7 d3 09 95 4a c5 ......1........./...MP...C....J.
1e60 2f af 15 a1 05 fc f9 f3 e7 af bb 56 ea 27 71 1c a7 52 a9 b4 5a 2d cf 63 34 4d 51 14 46 d3 42 73 /..........V.'q..R..Z-.c4MQ.F.Bs
1e80 73 97 d1 68 7d f2 c9 a5 3b 76 ec 89 8d 8d 61 59 b2 0f 04 13 04 6e b1 08 1a 0d 83 84 9e c5 a2 90 s..h}...;v....aY.....n..........
1ea0 cb 19 9a c6 08 82 38 7d ba 78 fd fa 7f be f9 e6 1b 33 66 cc b1 5a dd 2c 3b e0 2a a1 c0 e9 a4 30 ......8}.x.......3f..Z.,;.*....0
1ec0 0c de 2a b0 00 00 6a b5 da d3 1a 79 5d 89 8e ca ee 88 0e 3e 34 4c 9e e9 e1 e8 72 96 65 7b f8 74 ..*...j....y]......>4L....r.e{.t
1ee0 c5 d3 50 85 52 89 44 22 95 b2 f3 e7 2b d2 d2 d8 85 0b 79 d1 8b 88 61 c0 ed a6 65 32 a9 67 2f 90 ..P.R.D"....+.....y...a...e2.g/.
1f00 a7 0f c3 30 89 04 bc f0 82 9f 4e 07 d7 af 77 92 24 29 26 b1 08 82 e0 76 bb 51 d5 ab 3e 1e 10 6d ...0......N...w.$)&....v.Q..>..m
1f20 6d 7f 5d 8d c1 ed 76 23 01 d4 e3 57 64 9a 42 08 26 49 32 2f 2f 2f 2d 2d 6d ce 9c 39 a9 a9 a9 28 m.]...v#...Wd.B.&I2///--m..9...(
1f40 a9 a6 c7 d3 a1 07 74 bb dd 3d da 41 16 2c f4 bd bb bb 7b de bc 79 ab 56 ad e2 79 5e 22 e1 25 12 ......t..=.A.,....{..y.V..y^".%.
1f60 7e de bc 19 06 83 e2 cd 37 57 1f 3a 74 e8 95 57 5e dc b3 67 8f 54 ca f6 31 11 24 49 74 75 49 30 ~.......7W.:t..W^..g.T..1.$ItuI0
1f80 ec c7 2d 3e 21 24 28 8a 09 0c f4 c3 30 ec d9 67 9f 3e 74 68 df f2 e5 cf e6 e5 e5 85 86 8e 90 4a ..->!$(.....0..g.>th...........J
1fa0 d9 01 b3 54 a7 53 76 c3 93 c8 7e 20 14 db bd 7b f7 ca 95 2b ed 76 bb 44 22 61 18 46 22 91 20 1d ...T.Sv...~....{...+.v.D"a.F"...
1fc0 50 b4 fe 29 14 8a 0f 3e f8 60 e9 d2 a5 32 99 6c e7 ce 9d 4b 97 2e e5 38 ae a0 a0 60 ea d4 a9 68 P..)...>.`...2.l...K...8...`...h
1fe0 02 04 41 b0 5a ad 16 8b e5 d8 b1 63 cf 3e fb 2c aa 75 06 21 64 59 b6 b8 b8 78 c2 84 09 c8 a0 ec ..A.Z......c.>.,.u.!dY...x......
2000 61 7d 69 7d ea a9 f3 8b 17 cf 14 04 c8 b2 0c 49 4a 78 9e db bc 79 fb f2 e5 2f 09 02 cf 71 1c 49 a}i}...........IJx...y.../...q.I
2020 4a 04 41 68 6c 6c 56 ab 03 02 02 02 08 02 6f 6f ff 31 ca 15 c3 30 64 5c 95 48 24 cd cd cd 0c c3 J.AhllV.......oo.1...0d\.H$.....
2040 9c 3e 7d 7a ce 9c 39 32 99 cc e5 72 a9 54 aa e2 e2 e2 94 94 14 64 f5 45 9d df b2 65 0b cb b2 e9 .>}z..92...r.T.......d.E...e....
2060 e9 e9 c8 d8 88 6c 9b 82 20 28 95 ca f5 eb d7 ff 10 1b 40 ce 00 00 07 ab 49 44 41 54 e5 2f 7f d9 .....l...([email protected]./..
2080 bb 77 ef b2 65 cb 50 6a 14 02 ca 99 33 67 92 93 93 91 a7 01 1d 84 10 4e 9e 3c 39 33 33 33 33 33 .w..e.Pj....3g.........N.<933333
20a0 f3 91 47 1e 41 03 55 50 50 90 9c 9c 4c 92 24 b2 24 6f da b4 29 3d 3d 1d fd 84 7c 70 b5 b5 b5 43 ..G.A.UPP...L.$.$o..)==...|p...C
20c0 86 0c 41 c1 95 b5 b5 b5 9f 7e fa a9 e7 6b 33 6a d4 28 04 a3 c7 1e 7b 4c 10 84 3f fe f1 8f 03 b0 ..A......~...k3j.(....{L..?.....
20e0 7d 20 eb 43 42 42 42 62 62 a2 20 08 8f 3e fa 28 7a 3a af f2 f5 7e 01 0b 00 b0 72 e5 ca d4 d4 d4 }..CBBBbb....>.(z:...~....r.....
2100 92 92 92 a9 53 a7 16 16 16 da ed f6 c0 c0 c0 99 33 67 ee db b7 6f d6 ac 59 8d 8d 8d 04 41 94 95 ....S...........3g...o..Y....A..
2120 95 7d f6 d9 67 72 b9 7c d7 ae 5d 3f fc f0 83 46 a3 29 29 29 e1 38 0e 6d 23 a3 54 2a d3 d2 d2 9a .}..gr.|..]?...F.))).8.m#.T*....
2140 9b 9b 57 ac 58 31 71 e2 c4 92 92 92 d0 d0 50 e4 1c b4 db ed 47 8f 1e 55 2a 95 7f f8 c3 1f ae 6d ..W.X1q.......P.....G..U*......m
2160 3f 04 8f 1e fd ae aa 2a bf b1 b1 71 ca 94 29 25 25 25 db b7 6f 3f 79 32 5f ab d5 57 54 54 4c 98 ?......*...q..)%%%..o?y2_..WTTL.
2180 30 e1 f4 e9 d3 41 41 41 6a b5 fa f2 e5 cb 06 83 a1 ae ae 4e ad 5e e7 e7 a7 43 4c 62 cd 9a 35 c8 0....AAAj..........N.^...CLb..5.
21a0 b1 18 15 15 65 30 18 b2 b2 b2 e6 cd 9b f7 f7 bf ff fd c5 17 5f 7c fe f9 e7 43 43 43 73 73 73 13 ....e0.............._|...CCCsss.
21c0 13 13 8f 1d 3b 36 63 c6 8c e6 e6 66 e4 06 78 eb ad b7 62 63 63 73 72 72 26 4e 9c e8 70 38 42 42 ....;6c....f..x...bccsrr&N..p8BB
21e0 42 8e 1e 3d 8a 7c 59 c7 8e 1d 0b 08 08 28 2d 2d 9d 34 69 52 55 55 15 c3 30 06 83 e1 8b 2f be 18 B..=.|Y......(--.4iRUU..0..../..
2200 32 64 48 69 69 29 aa 80 0a 00 30 1a 8d 2f be f8 62 50 50 50 41 41 c1 9c 39 73 2a 2b 2b db da da 2dHii)....0../..bPPPAA..9s*++...
2220 ae 5e bd 7a f1 e2 c5 d6 d6 d6 97 5f 7e b9 b5 b5 35 3d 3d 7d c2 84 09 45 45 45 1a 8d 66 cc 98 31 .^.z......._~...5==}...EEE..f..1
2240 5f 7f fd f5 9c 39 73 72 72 72 a4 52 e9 dc b9 73 3d 25 8e db ed e6 79 9e a2 a8 ae ae ae c8 c8 48 _....9srrr.R...s=%....y........H
2260 41 10 8c 46 a3 56 ab 45 26 72 31 9a 03 95 be fd 39 36 86 61 18 86 e1 9e f6 30 64 6b 45 2e 10 d1 A..F.V.E&r1.....96.a.....0dkE...
2280 f4 8a 8e b7 b7 b7 87 84 84 b4 b4 b4 44 46 46 f6 30 6e 23 df 5a ff f5 c8 7e 89 42 94 66 49 51 54 ............DFF.0n#.Z...~.B.fIQT
22a0 6c 6c 6c 56 56 d6 8c 19 33 4a 4a 4a e4 72 f9 a8 51 a3 90 d5 1e b9 0b d0 bb 1e 17 17 c7 f3 bc c3 lllVV...3JJJ.r..Q...............
22c0 e1 88 88 88 78 f2 c9 27 5f 7d f5 55 e4 43 40 1e 06 24 59 90 03 01 25 b1 d8 6c 36 8a a2 d0 de 43 ....x..'_}.U.C@..$Y...%..l6....C
22e0 1e a5 aa 20 cf 73 b1 b1 b1 28 68 04 45 52 db ed 76 b4 79 10 0a 98 11 3d f6 04 41 68 34 9a f0 f0 .....s...(h.ER..v.y....=..Ah4...
2300 b0 ce 4e 1a 8d 1d 49 92 36 9b cd e9 74 aa d5 ea 71 e3 c6 15 16 16 02 00 22 22 22 aa ab ab ed 76 ..N...I.6...t...q......."""....v
2320 3b 62 66 a8 0a 37 ea 3c 92 d1 3c cf a3 88 91 07 1f 7c f0 83 0f 3e 88 8a 8a c2 71 1c 45 0d a0 8a ;bf..7.<..<......|...>....q.E...
2340 cb 88 fb 46 46 46 d6 d6 d6 a2 5b e3 38 8e 02 37 c4 59 b4 5a ad a9 a9 a9 15 15 15 63 c7 8e 2d 28 ...FFF....[.8..7.Y.Z.......c..-(
2360 28 60 59 36 21 21 a1 ae ae 0e c9 4d f4 f8 c8 c7 a5 d3 e9 28 8a 42 3c 12 0d 63 74 74 74 41 41 81 (`Y6!!.....M.......(.B<..ctttAA.
2380 e8 69 7d e2 89 3f be f8 e2 8b fb f6 ed d3 eb f5 d3 a7 4f 4f 4a 4a aa aa aa ea ee ee 9e 35 6b d6 .i}..?............OOJJ.......5k.
23a0 c1 83 07 53 52 52 30 0c bb 7a f5 ea f1 e3 c7 27 4d 9a 14 12 12 42 d3 f4 94 29 93 7a cc 5d 6b eb ...SRR0..z.....'M....B...).z.]k.
23c0 0f 05 05 45 24 49 26 24 24 9c 3b 77 2e 26 26 06 61 f1 fe fb ef cf ce ce 0e 0d 0d d5 6a b5 1d 1d ...E$I&$$.;w.&&.a...........j...
23e0 1d 5d 5d 5d 53 a6 4c f9 af ff fa af ec ec ec 4d 9b 36 2d 58 b0 40 af d7 a3 fa d6 2a 95 ea c4 89 .]]]S.L........M.6-X.@.....*....
2400 13 23 46 8c 68 6d 6d 1d 3d 7a 34 84 42 70 70 ea 8d f9 d1 0d 5d 3a a8 a6 2f 72 33 e1 38 4e 10 84 .#F.hmm.=z4.Bpp.....]:../r3.8N..
2420 c8 f9 dd 6e 37 02 8d 28 d7 a4 52 29 72 44 20 77 9b e8 d4 13 cb 1f 22 64 88 32 54 10 04 d1 8d 05 ...n7..(..R)rD.w......"d.2T.....
2440 21 6c 6d 6d 1d 3a 74 28 45 39 30 4c 73 e0 80 30 7c 38 83 61 04 2a d4 e6 70 38 fc fd d5 34 ed 46 !lmm.:t(E90Ls..0|8.a.*..p8...4.F
2460 f2 0b 29 c8 a2 31 50 22 c1 ff e3 3f c0 94 29 fc da b5 4e 3f 3f 0d 8a 42 41 5e 45 04 17 74 0b f4 ..)..1P"...?..)...N??..BA^E..t..
2480 1d f9 25 91 13 1d 61 45 7c 9b d1 23 38 9d 4e f4 20 a8 57 2e 97 4b dc d3 06 39 65 c5 4b 10 f3 e0 ..%...aE|..#8.N...W..K...9e.K...
24a0 38 2e 3f 3f 7f f6 ec d9 d3 a7 4f df b9 73 27 45 51 24 49 a2 f0 2c b4 ec 47 05 c6 11 aa 10 4f 45 8.??......O..s'EQ$I..,..G.....OE
24c0 ae 46 e4 7b 75 bb dd e8 46 35 35 35 27 4e 9c 78 fd f5 d7 dd 6e 5e 2a 95 6f db f6 2e c7 71 a1 a1 .F.{u...F555'N.x....n^*.o....q..
24e0 a1 4d 4d 4d 0d 0d 0d f7 dc 73 4f 6c 6c ec bd f7 de 9b 91 91 91 9e 9e be 7e fd fa 8c 8c 8c ae ae .MMM.....sOll...........~.......
2500 ae 3d 7b f6 c4 c4 c4 54 56 56 fe ed 6f 7f 0b 0a d2 37 37 4b 42 42 5c 10 62 52 a9 a4 a3 43 be 6f .={....TVV..o....77KBB\.bR...C.o
2520 df 9b 2f be b8 e2 ca 95 2b 1b 37 6e 5c b3 66 cd 9a 35 6b d4 6a f5 fd f7 df 5f 58 58 38 64 c8 90 ../.....+.7n\.f..5k.j...._XX8d..
2540 ea ea ea 84 84 04 94 38 23 95 4a 5b 5b 5b d7 ac 59 f3 f2 cb 2f 2f 5e bc 78 d7 ae 5d 8f 3e fa e8 .......8#.J[[[..Y...//^.x..].>..
2560 fe fd fb 27 4f 9e bc 60 c1 82 c7 1f 7f 7c d1 a2 45 c5 c5 c5 db b6 6d 6d 6e c6 9c ce 0b 5a ad ce ...'O..`.....|..E.....mmn....Z..
2580 73 f7 39 4f 97 4e ea 1f de b9 31 c7 92 48 24 e8 95 12 95 6e f1 0b 6a f7 e7 fe a5 28 aa 47 6d 56 s.9O.N....1..H$....n..j....(.GmV
25a0 51 6f 45 5f c4 33 c5 ea 7e d1 d1 d1 0c c3 70 1c b6 6a 95 7b f1 62 19 00 a8 df 28 bf 1b 95 80 92 QoE_.3..~.....p..j.{.b....(.....
25c0 fd 1c a3 25 49 f8 f5 d7 0e 9a c6 08 82 39 7e fc f8 2f 59 6b 1f b9 bd 59 96 1d 3f 7e fc f6 ed db ...%I........9~../Yk...Y..?~....
25e0 07 ac bb 30 0c 33 73 e6 4c 24 83 38 8e 0f 0f 0f 47 eb a1 e1 c3 87 47 44 44 8c 19 33 06 c7 f1 7f ...0.3s.L$.8....G.....GDD..3....
2600 ff fb df e9 e9 e9 28 ac 48 a7 d3 1d 39 72 24 35 35 95 a6 e9 e9 d3 a7 ab 54 aa 5e 92 0a ce 9c 39 ......(.H...9r$55.......T.^....9
2620 eb d3 4f 3f c5 71 fc 91 47 1e 51 a9 54 f3 e7 cf 2f 2b 2b 6b 6e 6e 7e fa e9 a7 bf f9 e6 9b c7 1f ..O?.q..G.Q.T.../++knn~.........
2640 7f fc f0 e1 c3 e3 c7 8f 97 c9 64 3a 9d ee d0 a1 43 82 20 84 85 85 b5 b5 b5 3d f4 d0 43 4e a7 73 ..........d:....C........=..CN.s
2660 de bc 79 b1 b1 b1 1f 7f fc f1 ca 95 2b cf 9c 39 b3 70 e1 42 b7 db 0d 80 df 20 70 ac 5f 23 0a 1e ..y.........+..9.p.B......p._#..
2680 93 c9 a0 4c 76 b3 f7 c5 2c 16 00 00 86 5c fa bf 64 b7 c5 a5 0c 92 f2 b7 6e b6 10 04 42 10 30 b9 ...Lv...,....\..d.......n...B.0.
26a0 1c 43 96 39 d1 7b 08 21 a0 28 89 18 3d 21 f2 54 d4 01 96 65 25 12 e2 ca 15 2a 2c ec 47 8e d5 de .C.9.{.!.(..=!.T...e%....*,.G...
26c0 ee a7 d7 db 50 f6 28 cf 0b 3c cf 51 14 75 e9 52 43 5c dc 50 b7 9b a6 28 09 cb 72 14 25 e1 38 1e ....P.(..<.Q.u.RC\.P...(..r.%.8.
26e0 99 cf 24 12 89 db ed 96 4a 65 82 20 40 f8 a3 76 8f a2 4e 78 9e 27 49 09 c7 71 3c cf 9a 4c ea 41 [email protected].'I..q<..L.A
2700 e0 58 bf 8a a7 8c a6 31 9a c6 06 3c cd de f6 ed f7 61 73 19 94 76 70 1c 9a 4c d2 ae ae 1e 26 12 .X.....1...<.....as..vp..L....&.
2720 91 07 4b af b1 6d b2 d7 09 78 44 04 cb 71 00 59 1c fc fc f8 e6 66 ca c3 18 4e 02 00 08 62 68 43 ..K..m...xD..q.Y.....f...N...bhC
2740 83 d8 08 d5 4b 02 f8 5d 6b 8a b8 9e 2d 9d 04 80 0c 08 10 6e 58 ec d7 e7 d2 b9 3d 49 08 0e a6 07 ....K..]k...-......nX.....=I....
2760 b6 b5 29 cb fe 68 8f 70 b9 dc 82 60 d2 e9 06 9d 79 63 1c c7 b9 dd b4 0f 58 bf 49 17 32 c7 09 03 ..)..h.p...`....yc......X.I.2...
2780 be 16 89 a4 e2 e2 62 ef 29 9a 10 c2 c8 c8 48 1f b0 ee 3a c2 71 7c d2 a4 49 de 65 aa 7d 3a 33 7c ......b.).....H...:.q|..I.e.}:3|
27a0 c0 ba 73 a5 a9 f7 f3 3a fb 42 b6 6f 02 7c e4 03 96 8f 7c c0 f2 91 0f 58 3e f2 91 0f 58 3e f2 01 ..s....:.B.o.|....|....X>...X>..
27c0 cb 47 3e 60 f9 c8 47 3e 60 f9 c8 07 2c 1f f9 80 e5 23 1f f9 80 e5 23 1f b0 7c e4 03 96 8f 7c e4 .G>`..G>`...,....#....#..|....|.
27e0 03 96 8f 7c c0 f2 91 0f 58 3e f2 91 0f 58 3e f2 01 cb 47 3e 60 f9 c8 47 3e 60 f9 c8 07 2c 1f f9 ...|....X>...X>...G>`..G>`...,..
2800 80 e5 23 1f f9 80 e5 a3 db 12 58 46 a3 d1 b7 f9 a5 8f 06 1f 58 36 9b ed d7 cd 6c f4 d1 9d 47 18 ..#.......XF........X6....l...G.
2820 86 fd 2f 54 dd 1a 79 dd 3d d3 10 00 00 00 00 49 45 4e 44 ae 42 60 82 ../T..y.=......IEND.B`.
.getClassLoader()); checkedGLUtessellatorImpl = true; } if(!availableGLUtessellatorImpl) { throw new GLException("GLUtessellator not available (GLUtessellatorImpl)"); } } /***************************************************************************** * <b>gluNewTess</b> creates and returns a new tessellation object. This * object must be referred to when calling tesselation methods. A return * value of null means that there was not enough memeory to allocate the * object. * * Optional, throws GLException if not available in profile * * @return A new tessellation object. * * @see #gluTessBeginPolygon gluTessBeginPolygon * @see #gluDeleteTess gluDeleteTess * @see #gluTessCallback gluTessCallback ****************************************************************************/ public static final GLUtessellator gluNewTess() { validateGLUtessellatorImpl(); return GLUtessellatorImpl.gluNewTess(); } /***************************************************************************** * <b>gluDeleteTess</b> destroys the indicated tessellation object (which was * created with {@link #gluNewTess gluNewTess}). * * Optional, throws GLException if not available in profile * * @param tessellator * Specifies the tessellation object to destroy. * * @see #gluBeginPolygon gluBeginPolygon * @see #gluNewTess gluNewTess * @see #gluTessCallback gluTessCallback ****************************************************************************/ public static final void gluDeleteTess(GLUtessellator tessellator) { validateGLUtessellatorImpl(); GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator; tess.gluDeleteTess(); } /***************************************************************************** * <b>gluTessProperty</b> is used to control properites stored in a * tessellation object. These properties affect the way that the polygons are * interpreted and rendered. The legal value for <i>which</i> are as * follows:<P> * * Optional, throws GLException if not available in profile * * <b>GLU_TESS_WINDING_RULE</b> * <UL> * Determines which parts of the polygon are on the "interior". * <em>value</em> may be set to one of * <BR><b>GLU_TESS_WINDING_ODD</b>, * <BR><b>GLU_TESS_WINDING_NONZERO</b>, * <BR><b>GLU_TESS_WINDING_POSITIVE</b>, or * <BR><b>GLU_TESS_WINDING_NEGATIVE</b>, or * <BR><b>GLU_TESS_WINDING_ABS_GEQ_TWO</b>.<P> * * To understand how the winding rule works, consider that the input * contours partition the plane into regions. The winding rule determines * which of these regions are inside the polygon.<P> * * For a single contour C, the winding number of a point x is simply the * signed number of revolutions we make around x as we travel once around C * (where CCW is positive). When there are several contours, the individual * winding numbers are summed. This procedure associates a signed integer * value with each point x in the plane. Note that the winding number is * the same for all points in a single region.<P> * * The winding rule classifies a region as "inside" if its winding number * belongs to the chosen category (odd, nonzero, positive, negative, or * absolute value of at least two). The previous GLU tessellator (prior to * GLU 1.2) used the "odd" rule. The "nonzero" rule is another common way * to define the interior. The other three rules are useful for polygon CSG * operations. * </UL> * <BR><b>GLU_TESS_BOUNDARY_ONLY</b> * <UL> * Is a boolean value ("value" should be set to GL_TRUE or GL_FALSE). When * set to GL_TRUE, a set of closed contours separating the polygon interior * and exterior are returned instead of a tessellation. Exterior contours * are oriented CCW with respect to the normal; interior contours are * oriented CW. The <b>GLU_TESS_BEGIN</b> and <b>GLU_TESS_BEGIN_DATA</b> * callbacks use the type GL_LINE_LOOP for each contour. * </UL> * <BR><b>GLU_TESS_TOLERANCE</b> * <UL> * Specifies a tolerance for merging features to reduce the size of the * output. For example, two vertices that are very close to each other * might be replaced by a single vertex. The tolerance is multiplied by the * largest coordinate magnitude of any input vertex; this specifies the * maximum distance that any feature can move as the result of a single * merge operation. If a single feature takes part in several merge * operations, the toal distance moved could be larger.<P> * * Feature merging is completely optional; the tolerance is only a hint. * The implementation is free to merge in some cases and not in others, or * to never merge features at all. The initial tolerance is 0.<P> * * The current implementation merges vertices only if they are exactly * coincident, regardless of the current tolerance. A vertex is spliced * into an edge only if the implementation is unable to distinguish which * side of the edge the vertex lies on. Two edges are merged only when both * endpoints are identical. * </UL> * * @param tessellator * Specifies the tessellation object created with * {@link #gluNewTess gluNewTess} * @param which * Specifies the property to be set. Valid values are * <b>GLU_TESS_WINDING_RULE</b>, <b>GLU_TESS_BOUNDARDY_ONLY</b>, * <b>GLU_TESS_TOLERANCE</b>. * @param value * Specifices the value of the indicated property. * * @see #gluGetTessProperty gluGetTessProperty * @see #gluNewTess gluNewTess ****************************************************************************/ public static final void gluTessProperty(GLUtessellator tessellator, int which, double value) { validateGLUtessellatorImpl(); GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator; tess.gluTessProperty(which, value); } /***************************************************************************** * <b>gluGetTessProperty</b> retrieves properties stored in a tessellation * object. These properties affect the way that tessellation objects are * interpreted and rendered. See the * {@link #gluTessProperty gluTessProperty} reference * page for information about the properties and what they do. * * Optional, throws GLException if not available in profile * * @param tessellator * Specifies the tessellation object (created with * {@link #gluNewTess gluNewTess}). * @param which * Specifies the property whose value is to be fetched. Valid values * are <b>GLU_TESS_WINDING_RULE</b>, <b>GLU_TESS_BOUNDARY_ONLY</b>, * and <b>GLU_TESS_TOLERANCES</b>. * @param value * Specifices an array into which the value of the named property is * written. * * @see #gluNewTess gluNewTess * @see #gluTessProperty gluTessProperty ****************************************************************************/ public static final void gluGetTessProperty(GLUtessellator tessellator, int which, double[] value, int value_offset) { validateGLUtessellatorImpl(); GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator; tess.gluGetTessProperty(which, value, value_offset); } /***************************************************************************** * <b>gluTessNormal</b> describes a normal for a polygon that the program is * defining. All input data will be projected onto a plane perpendicular to * the one of the three coordinate axes before tessellation and all output * triangles will be oriented CCW with repsect to the normal (CW orientation * can be obtained by reversing the sign of the supplied normal). For * example, if you know that all polygons lie in the x-y plane, call * <b>gluTessNormal</b>(tess, 0.0, 0.0, 0.0) before rendering any polygons.<P> * * If the supplied normal is (0.0, 0.0, 0.0)(the initial value), the normal * is determined as follows. The direction of the normal, up to its sign, is * found by fitting a plane to the vertices, without regard to how the * vertices are connected. It is expected that the input data lies * approximately in the plane; otherwise, projection perpendicular to one of * the three coordinate axes may substantially change the geometry. The sign * of the normal is chosen so that the sum of the signed areas of all input * contours is nonnegative (where a CCW contour has positive area).<P> * * The supplied normal persists until it is changed by another call to * <b>gluTessNormal</b>. * * Optional, throws GLException if not available in profile * * @param tessellator * Specifies the tessellation object (created by * {@link #gluNewTess gluNewTess}). * @param x * Specifies the first component of the normal. * @param y * Specifies the second component of the normal. * @param z * Specifies the third component of the normal. * * @see #gluTessBeginPolygon gluTessBeginPolygon * @see #gluTessEndPolygon gluTessEndPolygon ****************************************************************************/ public static final void gluTessNormal(GLUtessellator tessellator, double x, double y, double z) { validateGLUtessellatorImpl(); GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator; tess.gluTessNormal(x, y, z); } /***************************************************************************** * <b>gluTessCallback</b> is used to indicate a callback to be used by a * tessellation object. If the specified callback is already defined, then it * is replaced. If <i>aCallback</i> is null, then the existing callback * becomes undefined.<P> * * Optional, throws GLException if not available in profile * * These callbacks are used by the tessellation object to describe how a * polygon specified by the user is broken into triangles. Note that there are * two versions of each callback: one with user-specified polygon data and one * without. If both versions of a particular callback are specified, then the * callback with user-specified polygon data will be used. Note that the * polygonData parameter used by some of the methods is a copy of the * reference that was specified when * {@link #gluTessBeginPolygon gluTessBeginPolygon} * was called. The legal callbacks are as follows:<P> * * <b>GLU_TESS_BEGIN</b> * <UL> * The begin callback is invoked like {@link javax.media.opengl.GL#glBegin * glBegin} to indicate the start of a (triangle) primitive. The method * takes a single argument of type int. If the * <b>GLU_TESS_BOUNDARY_ONLY</b> property is set to <b>GL_FALSE</b>, then * the argument is set to either <b>GL_TRIANGLE_FAN</b>, * <b>GL_TRIANGLE_STRIP</b>, or <b>GL_TRIANGLES</b>. If the * <b>GLU_TESS_BOUNDARY_ONLY</b> property is set to <b>GL_TRUE</b>, then the * argument will be set to <b>GL_LINE_LOOP</b>. The method prototype for * this callback is: * </UL> * * <PRE> * void begin(int type);</PRE><P> * * <b>GLU_TESS_BEGIN_DATA</b> * <UL> * The same as the <b>GLU_TESS_BEGIN</b> callback except * that it takes an additional reference argument. This reference is * identical to the opaque reference provided when * {@link #gluTessBeginPolygon gluTessBeginPolygon} * was called. The method prototype for this callback is: * </UL> * * <PRE> * void beginData(int type, Object polygonData);</PRE> * * <b>GLU_TESS_EDGE_FLAG</b> * <UL> * The edge flag callback is similar to * {@link javax.media.opengl.GL#glEdgeFlag glEdgeFlag}. The method takes * a single boolean boundaryEdge that indicates which edges lie on the * polygon boundary. If the boundaryEdge is <b>GL_TRUE</b>, then each vertex * that follows begins an edge that lies on the polygon boundary, that is, * an edge that separates an interior region from an exterior one. If the * boundaryEdge is <b>GL_FALSE</b>, then each vertex that follows begins an * edge that lies in the polygon interior. The edge flag callback (if * defined) is invoked before the first vertex callback.<P> * * Since triangle fans and triangle strips do not support edge flags, the * begin callback is not called with <b>GL_TRIANGLE_FAN</b> or * <b>GL_TRIANGLE_STRIP</b> if a non-null edge flag callback is provided. * (If the callback is initialized to null, there is no impact on * performance). Instead, the fans and strips are converted to independent * triangles. The method prototype for this callback is: * </UL> * * <PRE> * void edgeFlag(boolean boundaryEdge);</PRE> * * <b>GLU_TESS_EDGE_FLAG_DATA</b> * <UL> * The same as the <b>GLU_TESS_EDGE_FLAG</b> callback except that it takes * an additional reference argument. This reference is identical to the * opaque reference provided when * {@link #gluTessBeginPolygon gluTessBeginPolygon} * was called. The method prototype for this callback is: * </UL> * * <PRE> * void edgeFlagData(boolean boundaryEdge, Object polygonData);</PRE> * * <b>GLU_TESS_VERTEX</b> * <UL> * The vertex callback is invoked between the begin and end callbacks. It is * similar to {@link javax.media.opengl.GL#glVertex3f glVertex3f}, and it * defines the vertices of the triangles created by the tessellation * process. The method takes a reference as its only argument. This * reference is identical to the opaque reference provided by the user when * the vertex was described (see * {@link #gluTessVertex gluTessVertex}). The method * prototype for this callback is: * </UL> * * <PRE> * void vertex(Object vertexData);</PRE> * * <b>GLU_TESS_VERTEX_DATA</b> * <UL> * The same as the <b>GLU_TESS_VERTEX</b> callback except that it takes an * additional reference argument. This reference is identical to the opaque * reference provided when * {@link #gluTessBeginPolygon gluTessBeginPolygon} * was called. The method prototype for this callback is: * </UL> * * <PRE> * void vertexData(Object vertexData, Object polygonData);</PRE> * * <b>GLU_TESS_END</b> * <UL> * The end callback serves the same purpose as * {@link javax.media.opengl.GL#glEnd glEnd}. It indicates the end of a * primitive and it takes no arguments. The method prototype for this * callback is: * </UL> * * <PRE> * void end();</PRE> * * <b>GLU_TESS_END_DATA</b> * <UL> * The same as the <b>GLU_TESS_END</b> callback except that it takes an * additional reference argument. This reference is identical to the opaque * reference provided when * {@link #gluTessBeginPolygon gluTessBeginPolygon} * was called. The method prototype for this callback is: * </UL> * * <PRE> * void endData(Object polygonData);</PRE> * * <b>GLU_TESS_COMBINE</b> * <UL> * The combine callback is called to create a new vertex when the * tessellation detects an intersection, or wishes to merge features. The * method takes four arguments: an array of three elements each of type * double, an array of four references, an array of four elements each of * type float, and a reference to a reference. The prototype is: * </UL> * * <PRE> * void combine(double[] coords, Object[] data, * float[] weight, Object[] outData);</PRE> * * <UL> * The vertex is defined as a linear combination of up to four existing * vertices, stored in <i>data</i>. The coefficients of the linear * combination are given by <i>weight</i>; these weights always add up to 1. * All vertex pointers are valid even when some of the weights are 0. * <i>coords</i> gives the location of the new vertex.<P> * * The user must allocate another vertex, interpolate parameters using * <i>data</i> and <i>weight</i>, and return the new vertex pointer * in <i>outData</i>. This handle is supplied during rendering callbacks. * The user is responsible for freeing the memory some time after * {@link #gluTessEndPolygon gluTessEndPolygon} is * called.<P> * * For example, if the polygon lies in an arbitrary plane in 3-space, and a * color is associated with each vertex, the <b>GLU_TESS_COMBINE</b> * callback might look like this: * </UL> * <PRE> * void myCombine(double[] coords, Object[] data, * float[] weight, Object[] outData) * { * MyVertex newVertex = new MyVertex(); * * newVertex.x = coords[0]; * newVertex.y = coords[1]; * newVertex.z = coords[2]; * newVertex.r = weight[0]*data[0].r + * weight[1]*data[1].r + * weight[2]*data[2].r + * weight[3]*data[3].r; * newVertex.g = weight[0]*data[0].g + * weight[1]*data[1].g + * weight[2]*data[2].g + * weight[3]*data[3].g; * newVertex.b = weight[0]*data[0].b + * weight[1]*data[1].b + * weight[2]*data[2].b + * weight[3]*data[3].b; * newVertex.a = weight[0]*data[0].a + * weight[1]*data[1].a + * weight[2]*data[2].a + * weight[3]*data[3].a; * outData = newVertex; * }</PRE> * * <UL> * If the tessellation detects an intersection, then the * <b>GLU_TESS_COMBINE</b> or <b>GLU_TESS_COMBINE_DATA</b> callback (see * below) must be defined, and it must write a non-null reference into * <i>outData</i>. Otherwise the <b>GLU_TESS_NEED_COMBINE_CALLBACK</b> error * occurs, and no output is generated. * </UL> * * <b>GLU_TESS_COMBINE_DATA</b> * <UL> * The same as the <b>GLU_TESS_COMBINE</b> callback except that it takes an * additional reference argument. This reference is identical to the opaque * reference provided when * {@link #gluTessBeginPolygon gluTessBeginPolygon} * was called. The method prototype for this callback is: * </UL> * * <PRE> * void combineData(double[] coords, Object[] data, float[] weight, Object[] outData, Object polygonData);</PRE> * * <b>GLU_TESS_ERROR</b> * <UL> * The error callback is called when an error is encountered. The one * argument is of type int; it indicates the specific error that occurred * and will be set to one of <b>GLU_TESS_MISSING_BEGIN_POLYGON</b>, * <b>GLU_TESS_MISSING_END_POLYGON</b>, * <b>GLU_TESS_MISSING_BEGIN_CONTOUR</b>, * <b>GLU_TESS_MISSING_END_CONTOUR</b>, <b>GLU_TESS_COORD_TOO_LARGE</b>, * <b>GLU_TESS_NEED_COMBINE_CALLBACK</b> or <b>GLU_OUT_OF_MEMORY</b>. * Character strings describing these errors can be retrieved with the * {@link #gluErrorString gluErrorString} call. The * method prototype for this callback is: * </UL> * * <PRE> * void error(int errnum);</PRE> * * <UL> * The GLU library will recover from the first four errors by inserting the * missing call(s). <b>GLU_TESS_COORD_TOO_LARGE</b> indicates that some * vertex coordinate exceeded the predefined constant * <b>GLU_TESS_MAX_COORD</b> in absolute value, and that the value has been * clamped. (Coordinate values must be small enough so that two can be * multiplied together without overflow.) * <b>GLU_TESS_NEED_COMBINE_CALLBACK</b> indicates that the tessellation * detected an intersection between two edges in the input data, and the * <b>GLU_TESS_COMBINE</b> or <b>GLU_TESS_COMBINE_DATA</b> callback was not * provided. No output is generated. <b>GLU_OUT_OF_MEMORY</b> indicates that * there is not enough memory so no output is generated. * </UL> * * <b>GLU_TESS_ERROR_DATA</b> * <UL> * The same as the GLU_TESS_ERROR callback except that it takes an * additional reference argument. This reference is identical to the opaque * reference provided when * {@link #gluTessBeginPolygon gluTessBeginPolygon} * was called. The method prototype for this callback is: * </UL> * * <PRE> * void errorData(int errnum, Object polygonData);</PRE> * * @param tessellator * Specifies the tessellation object (created with * {@link #gluNewTess gluNewTess}). * @param which * Specifies the callback being defined. The following values are * valid: <b>GLU_TESS_BEGIN</b>, <b>GLU_TESS_BEGIN_DATA</b>, * <b>GLU_TESS_EDGE_FLAG</b>, <b>GLU_TESS_EDGE_FLAG_DATA</b>, * <b>GLU_TESS_VERTEX</b>, <b>GLU_TESS_VERTEX_DATA</b>, * <b>GLU_TESS_END</b>, <b>GLU_TESS_END_DATA</b>, * <b>GLU_TESS_COMBINE</b>, <b>GLU_TESS_COMBINE_DATA</b>, * <b>GLU_TESS_ERROR</b>, and <b>GLU_TESS_ERROR_DATA</b>. * @param aCallback * Specifies the callback object to be called. * * @see javax.media.opengl.GL#glBegin glBegin * @see javax.media.opengl.GL#glEdgeFlag glEdgeFlag * @see javax.media.opengl.GL#glVertex3f glVertex3f * @see #gluNewTess gluNewTess * @see #gluErrorString gluErrorString * @see #gluTessVertex gluTessVertex * @see #gluTessBeginPolygon gluTessBeginPolygon * @see #gluTessBeginContour gluTessBeginContour * @see #gluTessProperty gluTessProperty * @see #gluTessNormal gluTessNormal ****************************************************************************/ public static final void gluTessCallback(GLUtessellator tessellator, int which, GLUtessellatorCallback aCallback) { validateGLUtessellatorImpl(); GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator; tess.gluTessCallback(which, aCallback); } /***************************************************************************** * <b>gluTessVertex</b> describes a vertex on a polygon that the program * defines. Successive <b>gluTessVertex</b> calls describe a closed contour. * For example, to describe a quadrilateral <b>gluTessVertex</b> should be * called four times. <b>gluTessVertex</b> can only be called between * {@link #gluTessBeginContour gluTessBeginContour} and * {@link #gluTessBeginContour gluTessEndContour}.<P> * * Optional, throws GLException if not available in profile * * <b>data</b> normally references to a structure containing the vertex * location, as well as other per-vertex attributes such as color and normal. * This reference is passed back to the user through the * <b>GLU_TESS_VERTEX</b> or <b>GLU_TESS_VERTEX_DATA</b> callback after * tessellation (see the {@link #gluTessCallback * gluTessCallback} reference page). * * @param tessellator * Specifies the tessellation object (created with * {@link #gluNewTess gluNewTess}). * @param coords * Specifies the coordinates of the vertex. * @param data * Specifies an opaque reference passed back to the program with the * vertex callback (as specified by * {@link #gluTessCallback gluTessCallback}). * * @see #gluTessBeginPolygon gluTessBeginPolygon * @see #gluNewTess gluNewTess * @see #gluTessBeginContour gluTessBeginContour * @see #gluTessCallback gluTessCallback * @see #gluTessProperty gluTessProperty * @see #gluTessNormal gluTessNormal * @see #gluTessEndPolygon gluTessEndPolygon ****************************************************************************/ public static final void gluTessVertex(GLUtessellator tessellator, double[] coords, int coords_offset, Object data) { validateGLUtessellatorImpl(); GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator; tess.gluTessVertex(coords, coords_offset, data); } /***************************************************************************** * <b>gluTessBeginPolygon</b> and * {@link #gluTessEndPolygon gluTessEndPolygon} delimit * the definition of a convex, concave or self-intersecting polygon. Within * each <b>gluTessBeginPolygon</b>/ * {@link #gluTessEndPolygon gluTessEndPolygon} pair, * there must be one or more calls to * {@link #gluTessBeginContour gluTessBeginContour}/ * {@link #gluTessEndContour gluTessEndContour}. Within * each contour, there are zero or more calls to * {@link #gluTessVertex gluTessVertex}. The vertices * specify a closed contour (the last vertex of each contour is automatically * linked to the first). See the {@link #gluTessVertex * gluTessVertex}, {@link #gluTessBeginContour * gluTessBeginContour}, and {@link #gluTessEndContour * gluTessEndContour} reference pages for more details.<P> * * Optional, throws GLException if not available in profile * * <b>data</b> is a reference to a user-defined data structure. If the * appropriate callback(s) are specified (see * {@link #gluTessCallback gluTessCallback}), then this * reference is returned to the callback method(s). Thus, it is a convenient * way to store per-polygon information.<P> * * Once {@link #gluTessEndPolygon gluTessEndPolygon} is * called, the polygon is tessellated, and the resulting triangles are * described through callbacks. See * {@link #gluTessCallback gluTessCallback} for * descriptions of the callback methods. * * @param tessellator * Specifies the tessellation object (created with * {@link #gluNewTess gluNewTess}). * @param data * Specifies a reference to user polygon data. * * @see #gluNewTess gluNewTess * @see #gluTessBeginContour gluTessBeginContour * @see #gluTessVertex gluTessVertex * @see #gluTessCallback gluTessCallback * @see #gluTessProperty gluTessProperty * @see #gluTessNormal gluTessNormal * @see #gluTessEndPolygon gluTessEndPolygon ****************************************************************************/ public static final void gluTessBeginPolygon(GLUtessellator tessellator, Object data) { validateGLUtessellatorImpl(); GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator; tess.gluTessBeginPolygon(data); } /***************************************************************************** * <b>gluTessBeginContour</b> and * {@link #gluTessEndContour gluTessEndContour} delimit * the definition of a polygon contour. Within each * <b>gluTessBeginContour</b>/ * {@link #gluTessEndContour gluTessEndContour} pair, * there can be zero or more calls to * {@link #gluTessVertex gluTessVertex}. The vertices * specify a closed contour (the last vertex of each contour is automatically * linked to the first). See the {@link #gluTessVertex * gluTessVertex} reference page for more details. <b>gluTessBeginContour</b> * can only be called between * {@link #gluTessBeginPolygon gluTessBeginPolygon} and * {@link #gluTessEndPolygon gluTessEndPolygon}. * * Optional, throws GLException if not available in profile * * @param tessellator * Specifies the tessellation object (created with * {@link #gluNewTess gluNewTess}). * * @see #gluNewTess gluNewTess * @see #gluTessBeginPolygon gluTessBeginPolygon * @see #gluTessVertex gluTessVertex * @see #gluTessCallback gluTessCallback * @see #gluTessProperty gluTessProperty * @see #gluTessNormal gluTessNormal * @see #gluTessEndPolygon gluTessEndPolygon ****************************************************************************/ public static final void gluTessBeginContour(GLUtessellator tessellator) { validateGLUtessellatorImpl(); GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator; tess.gluTessBeginContour(); } /***************************************************************************** * <b>gluTessEndContour</b> and * {@link #gluTessBeginContour gluTessBeginContour} * delimit the definition of a polygon contour. Within each * {@link #gluTessBeginContour gluTessBeginContour}/ * <b>gluTessEndContour</b> pair, there can be zero or more calls to * {@link #gluTessVertex gluTessVertex}. The vertices * specify a closed contour (the last vertex of each contour is automatically * linked to the first). See the {@link #gluTessVertex * gluTessVertex} reference page for more details. * {@link #gluTessBeginContour gluTessBeginContour} can * only be called between {@link #gluTessBeginPolygon * gluTessBeginPolygon} and * {@link #gluTessEndPolygon gluTessEndPolygon}. * * Optional, throws GLException if not available in profile * * @param tessellator * Specifies the tessellation object (created with * {@link #gluNewTess gluNewTess}). * * @see #gluNewTess gluNewTess * @see #gluTessBeginPolygon gluTessBeginPolygon * @see #gluTessVertex gluTessVertex * @see #gluTessCallback gluTessCallback * @see #gluTessProperty gluTessProperty * @see #gluTessNormal gluTessNormal * @see #gluTessEndPolygon gluTessEndPolygon ****************************************************************************/ public static final void gluTessEndContour(GLUtessellator tessellator) { validateGLUtessellatorImpl(); GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator; tess.gluTessEndContour(); } /***************************************************************************** * <b>gluTessEndPolygon</b> and * {@link #gluTessBeginPolygon gluTessBeginPolygon} * delimit the definition of a convex, concave or self-intersecting polygon. * Within each {@link #gluTessBeginPolygon * gluTessBeginPolygon}/<b>gluTessEndPolygon</b> pair, there must be one or * more calls to {@link #gluTessBeginContour * gluTessBeginContour}/{@link #gluTessEndContour * gluTessEndContour}. Within each contour, there are zero or more calls to * {@link #gluTessVertex gluTessVertex}. The vertices * specify a closed contour (the last vertex of each contour is automatically * linked to the first). See the {@link #gluTessVertex * gluTessVertex}, {@link #gluTessBeginContour * gluTessBeginContour} and {@link #gluTessEndContour * gluTessEndContour} reference pages for more details.<P> * * Optional, throws GLException if not available in profile * * Once <b>gluTessEndPolygon</b> is called, the polygon is tessellated, and * the resulting triangles are described through callbacks. See * {@link #gluTessCallback gluTessCallback} for * descriptions of the callback functions. * * @param tessellator * Specifies the tessellation object (created with * {@link #gluNewTess gluNewTess}). * * @see #gluNewTess gluNewTess * @see #gluTessBeginContour gluTessBeginContour * @see #gluTessVertex gluTessVertex * @see #gluTessCallback gluTessCallback * @see #gluTessProperty gluTessProperty * @see #gluTessNormal gluTessNormal * @see #gluTessBeginPolygon gluTessBeginPolygon ****************************************************************************/ public static final void gluTessEndPolygon(GLUtessellator tessellator) { validateGLUtessellatorImpl(); GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator; tess.gluTessEndPolygon(); } /***************************************************************************** * <b>gluBeginPolygon</b> and {@link #gluEndPolygon gluEndPolygon} * delimit the definition of a nonconvex polygon. To define such a * polygon, first call <b>gluBeginPolygon</b>. Then define the * contours of the polygon by calling {@link #gluTessVertex * gluTessVertex} for each vertex and {@link #gluNextContour * gluNextContour} to start each new contour. Finally, call {@link * #gluEndPolygon gluEndPolygon} to signal the end of the * definition. See the {@link #gluTessVertex gluTessVertex} and {@link * #gluNextContour gluNextContour} reference pages for more * details.<P> * * Optional, throws GLException if not available in profile * * Once {@link #gluEndPolygon gluEndPolygon} is called, * the polygon is tessellated, and the resulting triangles are described * through callbacks. See {@link #gluTessCallback * gluTessCallback} for descriptions of the callback methods. * * @param tessellator * Specifies the tessellation object (created with * {@link #gluNewTess gluNewTess}). * * @see #gluNewTess gluNewTess * @see #gluNextContour gluNextContour * @see #gluTessCallback gluTessCallback * @see #gluTessVertex gluTessVertex * @see #gluTessBeginPolygon gluTessBeginPolygon * @see #gluTessBeginContour gluTessBeginContour ****************************************************************************/ public static final void gluBeginPolygon(GLUtessellator tessellator) { validateGLUtessellatorImpl(); GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator; tess.gluBeginPolygon(); } /***************************************************************************** * <b>gluNextContour</b> is used to describe polygons with multiple * contours. After you describe the first contour through a series of * {@link #gluTessVertex gluTessVertex} calls, a * <b>gluNextContour</b> call indicates that the previous contour is complete * and that the next contour is about to begin. Perform another series of * {@link #gluTessVertex gluTessVertex} calls to * describe the new contour. Repeat this process until all contours have been * described.<P> * * Optional, throws GLException if not available in profile * * The type parameter defines what type of contour follows. The following * values are valid. <P> * * <b>GLU_EXTERIOR</b> * <UL> * An exterior contour defines an exterior boundary of the polygon. * </UL> * <b>GLU_INTERIOR</b> * <UL> * An interior contour defines an interior boundary of the polygon (such as * a hole). * </UL> * <b>GLU_UNKNOWN</b> * <UL> * An unknown contour is analyzed by the library to determine whether it is * interior or exterior. * </UL> * <b>GLU_CCW, GLU_CW</b> * <UL> * The first <b>GLU_CCW</b> or <b>GLU_CW</b> contour defined is considered * to be exterior. All other contours are considered to be exterior if they * are oriented in the same direction (clockwise or counterclockwise) as the * first contour, and interior if they are not. If one contour is of type * <b>GLU_CCW</b> or <b>GLU_CW</b>, then all contours must be of the same * type (if they are not, then all <b>GLU_CCW</b> and <b>GLU_CW</b> contours * will be changed to <b>GLU_UNKNOWN</b>). Note that there is no * real difference between the <b>GLU_CCW</b> and <b>GLU_CW</b> contour * types. * </UL><P> * * To define the type of the first contour, you can call <b>gluNextContour</b> * before describing the first contour. If you do not call * <b>gluNextContour</b> before the first contour, the first contour is marked * <b>GLU_EXTERIOR</b>.<P> * * <UL> * <b>Note:</b> The <b>gluNextContour</b> function is obsolete and is * provided for backward compatibility only. The <b>gluNextContour</b> * function is mapped to {@link #gluTessEndContour * gluTessEndContour} followed by * {@link #gluTessBeginContour gluTessBeginContour}. * </UL> * * @param tessellator * Specifies the tessellation object (created with * {@link #gluNewTess gluNewTess}). * @param type * The type of the contour being defined. * * @see #gluNewTess gluNewTess * @see #gluTessBeginContour gluTessBeginContour * @see #gluTessBeginPolygon gluTessBeginPolygon * @see #gluTessCallback gluTessCallback * @see #gluTessEndContour gluTessEndContour * @see #gluTessVertex gluTessVertex ****************************************************************************/ public static final void gluNextContour(GLUtessellator tessellator, int type) { validateGLUtessellatorImpl(); GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator; tess.gluNextContour(type); } /***************************************************************************** * <b>gluEndPolygon</b> and {@link #gluBeginPolygon * gluBeginPolygon} delimit the definition of a nonconvex polygon. To define * such a polygon, first call {@link #gluBeginPolygon * gluBeginPolygon}. Then define the contours of the polygon by calling * {@link #gluTessVertex gluTessVertex} for each vertex * and {@link #gluNextContour gluNextContour} to start * each new contour. Finally, call <b>gluEndPolygon</b> to signal the end of * the definition. See the {@link #gluTessVertex * gluTessVertex} and {@link #gluNextContour * gluNextContour} reference pages for more details.<P> * * Optional, throws GLException if not available in profile * * Once <b>gluEndPolygon</b> is called, the polygon is tessellated, and the * resulting triangles are described through callbacks. See * {@link #gluTessCallback gluTessCallback} for * descriptions of the callback methods. * * @param tessellator * Specifies the tessellation object (created with * {@link #gluNewTess gluNewTess}). * * @see #gluNewTess gluNewTess * @see #gluNextContour gluNextContour * @see #gluTessCallback gluTessCallback * @see #gluTessVertex gluTessVertex * @see #gluTessBeginPolygon gluTessBeginPolygon * @see #gluTessBeginContour gluTessBeginContour ****************************************************************************/ public static final void gluEndPolygon(GLUtessellator tessellator) { validateGLUtessellatorImpl(); GLUtessellatorImpl tess = (GLUtessellatorImpl) tessellator; tess.gluEndPolygon(); } // Boolean public static final int GLU_FALSE = 0; public static final int GLU_TRUE = 1; // String Name public static final int GLU_VERSION = 100800; public static final int GLU_EXTENSIONS = 100801; // Extensions public static final String versionString = "1.3"; public static final String extensionString = "GLU_EXT_nurbs_tessellator " + "GLU_EXT_object_space_tess "; // ErrorCode public static final int GLU_INVALID_ENUM = 100900; public static final int GLU_INVALID_VALUE = 100901; public static final int GLU_OUT_OF_MEMORY = 100902; public static final int GLU_INVALID_OPERATION = 100904; // QuadricDrawStyle public static final int GLU_POINT = 100010; public static final int GLU_LINE = 100011; public static final int GLU_FILL = 100012; public static final int GLU_SILHOUETTE = 100013; // QuadricCallback // GLU_ERROR // QuadricNormal public static final int GLU_SMOOTH = 100000; public static final int GLU_FLAT = 100001; public static final int GLU_NONE = 100002; // QuadricOrientation public static final int GLU_OUTSIDE = 100020; public static final int GLU_INSIDE = 100021; // NurbsDisplay // GLU_FILL //public static final int GLU_OUTLINE_POLYGON = 100240; //public static final int GLU_OUTLINE_PATCH = 100241; // NurbsCallback //public static final int GLU_NURBS_ERROR = 100103; public static final int GLU_ERROR = 100103; //public static final int GLU_NURBS_BEGIN = 100164; //public static final int GLU_NURBS_BEGIN_EXT = 100164; //public static final int GLU_NURBS_VERTEX = 100165; //public static final int GLU_NURBS_VERTEX_EXT = 100165; //public static final int GLU_NURBS_NORMAL = 100166; //public static final int GLU_NURBS_NORMAL_EXT = 100166; //public static final int GLU_NURBS_COLOR = 100167; //public static final int GLU_NURBS_COLOR_EXT = 100167; //public static final int GLU_NURBS_TEXTURE_COORD = 100168; //public static final int GLU_NURBS_TEX_COORD_EXT = 100168; //public static final int GLU_NURBS_END = 100169; //public static final int GLU_NURBS_END_EXT = 100169; //public static final int GLU_NURBS_BEGIN_DATA = 100170; //public static final int GLU_NURBS_BEGIN_DATA_EXT = 100170; //public static final int GLU_NURBS_VERTEX_DATA = 100171; //public static final int GLU_NURBS_VERTEX_DATA_EXT = 100171; //public static final int GLU_NURBS_NORMAL_DATA = 100172; //public static final int GLU_NURBS_NORMAL_DATA_EXT = 100172; //public static final int GLU_NURBS_COLOR_DATA = 100173; //public static final int GLU_NURBS_COLOR_DATA_EXT = 100173; //public static final int GLU_NURBS_TEXTURE_COORD_DATA = 100174; //public static final int GLU_NURBS_TEX_COORD_DATA_EXT = 100174; //public static final int GLU_NURBS_END_DATA = 100175; //public static final int GLU_NURBS_END_DATA_EXT = 100175; // NurbsError //public static final int GLU_NURBS_ERROR1 = 100251; //public static final int GLU_NURBS_ERROR2 = 100252; //public static final int GLU_NURBS_ERROR3 = 100253; //public static final int GLU_NURBS_ERROR4 = 100254; //public static final int GLU_NURBS_ERROR5 = 100255; //public static final int GLU_NURBS_ERROR6 = 100256; //public static final int GLU_NURBS_ERROR7 = 100257; //public static final int GLU_NURBS_ERROR8 = 100258; //public static final int GLU_NURBS_ERROR9 = 100259; //public static final int GLU_NURBS_ERROR10 = 100260; //public static final int GLU_NURBS_ERROR11 = 100261; //public static final int GLU_NURBS_ERROR12 = 100262; //public static final int GLU_NURBS_ERROR13 = 100263; //public static final int GLU_NURBS_ERROR14 = 100264; //public static final int GLU_NURBS_ERROR15 = 100265; //public static final int GLU_NURBS_ERROR16 = 100266; //public static final int GLU_NURBS_ERROR17 = 100267; //public static final int GLU_NURBS_ERROR18 = 100268; //public static final int GLU_NURBS_ERROR19 = 100269; //public static final int GLU_NURBS_ERROR20 = 100270; //public static final int GLU_NURBS_ERROR21 = 100271; //public static final int GLU_NURBS_ERROR22 = 100272; //public static final int GLU_NURBS_ERROR23 = 100273; //public static final int GLU_NURBS_ERROR24 = 100274; //public static final int GLU_NURBS_ERROR25 = 100275; //public static final int GLU_NURBS_ERROR26 = 100276; //public static final int GLU_NURBS_ERROR27 = 100277; //public static final int GLU_NURBS_ERROR28 = 100278; //public static final int GLU_NURBS_ERROR29 = 100279; //public static final int GLU_NURBS_ERROR30 = 100280; //public static final int GLU_NURBS_ERROR31 = 100281; //public static final int GLU_NURBS_ERROR32 = 100282; //public static final int GLU_NURBS_ERROR33 = 100283; //public static final int GLU_NURBS_ERROR34 = 100284; //public static final int GLU_NURBS_ERROR35 = 100285; //public static final int GLU_NURBS_ERROR36 = 100286; //public static final int GLU_NURBS_ERROR37 = 100287; // NurbsProperty //public static final int GLU_AUTO_LOAD_MATRIX = 100200; //public static final int GLU_CULLING = 100201; //public static final int GLU_SAMPLING_TOLERANCE = 100203; //public static final int GLU_DISPLAY_MODE = 100204; //public static final int GLU_PARAMETRIC_TOLERANCE = 100202; //public static final int GLU_SAMPLING_METHOD = 100205; //public static final int GLU_U_STEP = 100206; //public static final int GLU_V_STEP = 100207; //public static final int GLU_NURBS_MODE = 100160; //public static final int GLU_NURBS_MODE_EXT = 100160; //public static final int GLU_NURBS_TESSELLATOR = 100161; //public static final int GLU_NURBS_TESSELLATOR_EXT = 100161; //public static final int GLU_NURBS_RENDERER = 100162; //public static final int GLU_NURBS_RENDERER_EXT = 100162; // NurbsSampling //public static final int GLU_OBJECT_PARAMETRIC_ERROR = 100208; //public static final int GLU_OBJECT_PARAMETRIC_ERROR_EXT = 100208; //public static final int GLU_OBJECT_PATH_LENGTH = 100209; //public static final int GLU_OBJECT_PATH_LENGTH_EXT = 100209; //public static final int GLU_PATH_LENGTH = 100215; //public static final int GLU_PARAMETRIC_ERROR = 100216; //public static final int GLU_DOMAIN_DISTANCE = 100217; // NurbsTrim //public static final int GLU_MAP1_TRIM_2 = 100210; //public static final int GLU_MAP1_TRIM_3 = 100211; // QuadricCallback // GLU_ERROR // TessCallback public static final int GLU_TESS_BEGIN = 100100; public static final int GLU_BEGIN = 100100; public static final int GLU_TESS_VERTEX = 100101; public static final int GLU_VERTEX = 100101; public static final int GLU_TESS_END = 100102; public static final int GLU_END = 100102; public static final int GLU_TESS_ERROR = 100103; public static final int GLU_TESS_EDGE_FLAG = 100104; public static final int GLU_EDGE_FLAG = 100104; public static final int GLU_TESS_COMBINE = 100105; public static final int GLU_TESS_BEGIN_DATA = 100106; public static final int GLU_TESS_VERTEX_DATA = 100107; public static final int GLU_TESS_END_DATA = 100108; public static final int GLU_TESS_ERROR_DATA = 100109; public static final int GLU_TESS_EDGE_FLAG_DATA = 100110; public static final int GLU_TESS_COMBINE_DATA = 100111; // TessContour public static final int GLU_CW = 100120; public static final int GLU_CCW = 100121; public static final int GLU_INTERIOR = 100122; public static final int GLU_EXTERIOR = 100123; public static final int GLU_UNKNOWN = 100124; // TessProperty public static final int GLU_TESS_WINDING_RULE = 100140; public static final int GLU_TESS_BOUNDARY_ONLY = 100141; public static final int GLU_TESS_TOLERANCE = 100142; // JOGL-specific boolean property, false by default, that may improve the tessellation public static final int GLU_TESS_AVOID_DEGENERATE_TRIANGLES = 100149; // TessError public static final int GLU_TESS_ERROR1 = 100151; public static final int GLU_TESS_ERROR2 = 100152; public static final int GLU_TESS_ERROR3 = 100153; public static final int GLU_TESS_ERROR4 = 100154; public static final int GLU_TESS_ERROR5 = 100155; public static final int GLU_TESS_ERROR6 = 100156; public static final int GLU_TESS_ERROR7 = 100157; public static final int GLU_TESS_ERROR8 = 100158; public static final int GLU_TESS_MISSING_BEGIN_POLYGON = 100151; public static final int GLU_TESS_MISSING_BEGIN_CONTOUR = 100152; public static final int GLU_TESS_MISSING_END_POLYGON = 100153; public static final int GLU_TESS_MISSING_END_CONTOUR = 100154; public static final int GLU_TESS_COORD_TOO_LARGE = 100155; public static final int GLU_TESS_NEED_COMBINE_CALLBACK = 100156; // TessWinding public static final int GLU_TESS_WINDING_ODD = 100130; public static final int GLU_TESS_WINDING_NONZERO = 100131; public static final int GLU_TESS_WINDING_POSITIVE = 100132; public static final int GLU_TESS_WINDING_NEGATIVE = 100133; public static final int GLU_TESS_WINDING_ABS_GEQ_TWO = 100134; public static final double GLU_TESS_MAX_COORD = 1.0e150; //---------------------------------------------------------------------- // Quadric functionality // protected static boolean availableGLUquadricImpl = false; protected static boolean checkedGLUquadricImpl = false; protected static volatile Object syncObject = new Object(); /** * Optional, throws GLException if not available in profile */ protected static final void validateGLUquadricImpl() { if(!checkedGLUquadricImpl) { synchronized (syncObject) { if(!checkedGLUquadricImpl) { availableGLUquadricImpl = ReflectionUtil.isClassAvailable("jogamp.opengl.glu.GLUquadricImpl", GLU.class.getClassLoader()); checkedGLUquadricImpl = true; } } } if(!availableGLUquadricImpl) { throw new GLException("GLUquadric not available (GLUquadricImpl)"); } } /** Option (throws GLException if not available in profile). <br> Interface to C language function: <br> <code> void gluCylinder(GLUquadric * quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks); </code> */ public final void gluCylinder(GLUquadric quad, double base, double top, double height, int slices, int stacks) { validateGLUquadricImpl(); ((GLUquadricImpl) quad).drawCylinder(getCurrentGL(), (float) base, (float) top, (float) height, slices, stacks); } /** Option (throws GLException if not available in profile). <br> Interface to C language function: <br> <code> void gluDeleteQuadric(GLUquadric * quad); </code> */ public final void gluDeleteQuadric(GLUquadric quad) { validateGLUquadricImpl(); } /** Option (throws GLException if not available in profile). <br> Interface to C language function: <br> <code> void gluDisk(GLUquadric * quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops); </code> */ public final void gluDisk(GLUquadric quad, double inner, double outer, int slices, int loops) { validateGLUquadricImpl(); ((GLUquadricImpl) quad).drawDisk(getCurrentGL(), (float) inner, (float) outer, slices, loops); } /** Option (throws GLException if not available in profile). <br> Interface to C language function: <br> <code> GLUquadric * gluNewQuadric(void); </code> */ public final GLUquadric gluNewQuadric() { return gluNewQuadric(false, null, 0); } public final GLUquadric gluNewQuadric(boolean useGLSL, ShaderState st) { return gluNewQuadric(useGLSL, st, 0); } public final GLUquadric gluNewQuadric(boolean useGLSL, int shaderProgram) { return gluNewQuadric(useGLSL, null, shaderProgram); } private final GLUquadric gluNewQuadric(boolean useGLSL, ShaderState st, int shaderProgram) { GL gl = getCurrentGL(); if(useGLSL && !gl.isGL2ES2()) { throw new GLException("GLUquadric GLSL implementation not supported for profile: "+gl); } validateGLUquadricImpl(); return new GLUquadricImpl(gl, useGLSL, st, shaderProgram); } /** Option (throws GLException if not available in profile). <br> Interface to C language function: <br> <code> void gluPartialDisk(GLUquadric * quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep); </code> */ public final void gluPartialDisk(GLUquadric quad, double inner, double outer, int slices, int loops, double start, double sweep) { validateGLUquadricImpl(); ((GLUquadricImpl) quad).drawPartialDisk(getCurrentGL(), (float) inner, (float) outer, slices, loops, (float) start, (float) sweep); } /** Option (throws GLException if not available in profile). <br> Interface to C language function: <br> <code> void gluQuadricDrawStyle(GLUquadric * quad, GLenum draw); </code> */ public final void gluQuadricDrawStyle(GLUquadric quad, int draw) { validateGLUquadricImpl(); ((GLUquadricImpl) quad).setDrawStyle(draw); } /** Option (throws GLException if not available in profile). <br> Interface to C language function: <br> <code> void gluQuadricNormals(GLUquadric * quad, GLenum normal); </code> */ public final void gluQuadricNormals(GLUquadric quad, int normal) { validateGLUquadricImpl(); ((GLUquadricImpl) quad).setNormals(normal); } /** Option (throws GLException if not available in profile). <br> Interface to C language function: <br> <code> void gluQuadricOrientation(GLUquadric * quad, GLenum orientation); </code> */ public final void gluQuadricOrientation(GLUquadric quad, int orientation) { validateGLUquadricImpl(); ((GLUquadricImpl) quad).setOrientation(orientation); } /** Option (throws GLException if not available in profile). <br> Interface to C language function: <br> <code> void gluQuadricTexture(GLUquadric * quad, GLboolean texture); </code> */ public final void gluQuadricTexture(GLUquadric quad, boolean texture) { validateGLUquadricImpl(); ((GLUquadricImpl) quad).setTextureFlag(texture); } /** Option (throws GLException if not available in profile). <br> Interface to C language function: <br> <code> void gluSphere(GLUquadric * quad, GLdouble radius, GLint slices, GLint stacks); </code> */ public final void gluSphere(GLUquadric quad, double radius, int slices, int stacks) { validateGLUquadricImpl(); ((GLUquadricImpl) quad).drawSphere(getCurrentGL(), (float) radius, slices, stacks); } //---------------------------------------------------------------------- // Projection routines // private final ProjectFloat project; public void gluOrtho2D(float left, float right, float bottom, float top) { project.gluOrtho2D(getCurrentGL().getGL2ES1(), left, right, bottom, top); } public void gluPerspective(float fovy, float aspect, float zNear, float zFar) { project.gluPerspective(getCurrentGL().getGL2ES1(), fovy, aspect, zNear, zFar); } public void gluLookAt(float eyeX, float eyeY, float eyeZ, float centerX, float centerY, float centerZ, float upX, float upY, float upZ) { project.gluLookAt(getCurrentGL().getGL2ES1(), eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ); } /** Interface to C language function: <br> <code> GLint gluProject(GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * winX, GLdouble * winY, GLdouble * winZ); </code> * <P> Accepts the outgoing window coordinates as a single array. */ public boolean gluProject(float objX, float objY, float objZ, float[] model, int model_offset, float[] proj, int proj_offset, int[] view, int view_offset, float[] winPos, int winPos_offset) { return project.gluProject(objX, objY, objZ, model, model_offset, proj, proj_offset, view, view_offset, winPos, winPos_offset); } /** Interface to C language function: <br> <code> GLint gluProject(GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * winX, GLdouble * winY, GLdouble * winZ); </code> * <P> Accepts the outgoing window coordinates as a single buffer. */ public boolean gluProject(float objX, float objY, float objZ, java.nio.FloatBuffer model, java.nio.FloatBuffer proj, java.nio.IntBuffer view, java.nio.FloatBuffer winPos) { return project.gluProject(objX, objY, objZ, model, proj, view, winPos); } /** Interface to C language function: <br> <code> GLint gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * objX, GLdouble * objY, GLdouble * objZ); </code> * <P> Accepts the outgoing object coordinates (a 3-vector) as a single array. */ public boolean gluUnProject(float winX, float winY, float winZ, float[] model, int model_offset, float[] proj, int proj_offset, int[] view, int view_offset, float[] objPos, int objPos_offset) { return project.gluUnProject(winX, winY, winZ, model, model_offset, proj, proj_offset, view, view_offset, objPos, objPos_offset); } /** Interface to C language function: <br> <code> GLint gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * objX, GLdouble * objY, GLdouble * objZ); </code> * <P> Accepts the outgoing object coordinates (a 3-vector) as a single buffer. */ public boolean gluUnProject(float winX, float winY, float winZ, java.nio.FloatBuffer model, java.nio.FloatBuffer proj, java.nio.IntBuffer view, java.nio.FloatBuffer objPos) { return project.gluUnProject(winX, winY, winZ, model, proj, view, objPos); } /** Interface to C language function: <br> <code> GLint gluUnProject4(GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble nearVal, GLdouble farVal, GLdouble * objX, GLdouble * objY, GLdouble * objZ, GLdouble * objW); </code> * <P> Accepts the outgoing object coordinates (a 4-vector) as a single array. */ public boolean gluUnProject4(float winX, float winY, float winZ, float clipW, float[] model, int model_offset, float[] proj, int proj_offset, int[] view, int view_offset, float nearVal, float farVal, float[] objPos, int objPos_offset) { return project.gluUnProject4(winX, winY, winZ, clipW, model, model_offset, proj, proj_offset, view, view_offset, nearVal, farVal, objPos, objPos_offset); } /** Interface to C language function: <br> <code> GLint gluUnProject4(GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble nearVal, GLdouble farVal, GLdouble * objX, GLdouble * objY, GLdouble * objZ, GLdouble * objW); </code> * <P> Accepts the outgoing object coordinates (a 4-vector) as a single buffer. */ public boolean gluUnProject4(float winX, float winY, float winZ, float clipW, java.nio.FloatBuffer model, java.nio.FloatBuffer proj, java.nio.IntBuffer view, float nearVal, float farVal, java.nio.FloatBuffer objPos) { return project.gluUnProject4(winX, winY, winZ, clipW, model, proj, view, nearVal, farVal, objPos); } public void gluPickMatrix(float x, float y, float delX, float delY, int[] viewport, int viewport_offset) { project.gluPickMatrix(getCurrentGL().getGL2ES1(), x, y, delX, delY, viewport, viewport_offset); } public void gluPickMatrix(float x, float y, float delX, float delY, java.nio.IntBuffer viewport) { project.gluPickMatrix(getCurrentGL().getGL2ES1(), x, y, delX, delY, viewport); } public void gluOrtho2D(double left, double right, double bottom, double top) { project.gluOrtho2D(getCurrentGL().getGL2ES1(), (float)left, (float)right, (float)bottom, (float)top); } public void gluPerspective(double fovy, double aspect, double zNear, double zFar) { project.gluPerspective(getCurrentGL().getGL2ES1(), (float)fovy, (float)aspect, (float)zNear, (float)zFar); } public void gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ) { project.gluLookAt(getCurrentGL().getGL2ES1(), (float)eyeX, (float)eyeY, (float)eyeZ, (float)centerX, (float)centerY, (float)centerZ, (float)upX, (float)upY, (float)upZ); } /** Interface to C language function: <br> <code> GLint gluProject(GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * winX, GLdouble * winY, GLdouble * winZ); </code> * <P> Accepts the outgoing window coordinates as a single array. */ public boolean gluProject(double objX, double objY, double objZ, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double[] winPos, int winPos_offset) { float[] f_model = Buffers.getFloatArray(model, model_offset, null, 0, -1); float[] f_proj = Buffers.getFloatArray(proj, proj_offset, null, 0, -1); float[] f_winPos = Buffers.getFloatArray(winPos, winPos_offset, null, 0, -1); boolean res = project.gluProject((float)objX, (float)objY, (float)objZ, f_model, 0, f_proj, 0, view, view_offset, f_winPos, 0); if(res) { Buffers.getDoubleArray(f_model, 0, model, model_offset, -1); Buffers.getDoubleArray(f_proj, 0, proj, proj_offset, -1); Buffers.getDoubleArray(f_winPos, 0, winPos, winPos_offset, -1); } return res; } /** Interface to C language function: <br> <code> GLint gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * objX, GLdouble * objY, GLdouble * objZ); </code> * <P> Accepts the outgoing object coordinates (a 3-vector) as a single array. */ public boolean gluUnProject(double winX, double winY, double winZ, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double[] objPos, int objPos_offset) { float[] f_model = Buffers.getFloatArray(model, model_offset, null, 0, -1); float[] f_proj = Buffers.getFloatArray(proj, proj_offset, null, 0, -1); float[] f_objPos = Buffers.getFloatArray(objPos, objPos_offset, null, 0, -1); boolean res = project.gluUnProject((float)winX, (float)winY, (float)winZ, f_model, 0, f_proj, 0, view, view_offset, f_objPos, 0); if(res) { Buffers.getDoubleArray(f_model, 0, model, model_offset, -1); Buffers.getDoubleArray(f_proj, 0, proj, proj_offset, -1); Buffers.getDoubleArray(f_objPos, 0, objPos, objPos_offset, -1); } return res; } /** Interface to C language function: <br> <code> GLint gluUnProject4(GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble nearVal, GLdouble farVal, GLdouble * objX, GLdouble * objY, GLdouble * objZ, GLdouble * objW); </code> * <P> Accepts the outgoing object coordinates (a 4-vector) as a single array. */ public boolean gluUnProject4(double winX, double winY, double winZ, double clipW, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double nearVal, double farVal, double[] objPos, int objPos_offset) { float[] f_model = Buffers.getFloatArray(model, model_offset, null, 0, -1); float[] f_proj = Buffers.getFloatArray(proj, proj_offset, null, 0, -1); float[] f_objPos = Buffers.getFloatArray(objPos, objPos_offset, null, 0, -1); boolean res = project.gluUnProject4((float)winX, (float)winY, (float)winZ, (float)clipW, f_model, 0, f_proj, 0, view, view_offset, (float)nearVal, (float)farVal, f_objPos, 0); if(res) { Buffers.getDoubleArray(f_model, 0, model, model_offset, -1); Buffers.getDoubleArray(f_proj, 0, proj, proj_offset, -1); Buffers.getDoubleArray(f_objPos, 0, objPos, objPos_offset, -1); } return res; } public void gluPickMatrix(double x, double y, double delX, double delY, int[] viewport, int viewport_offset) { project.gluPickMatrix(getCurrentGL().getGL2ES1(), (float)x, (float)y, (float)delX, (float)delY, viewport, viewport_offset); } public void gluPickMatrix(double x, double y, double delX, double delY, IntBuffer viewport) { project.gluPickMatrix(getCurrentGL().getGL2ES1(), (float)x, (float)y, (float)delX, (float)delY, viewport); } /** * Optional, throws GLException if not available in profile */ public int gluScaleImage( int format, int widthin, int heightin, int typein, java.nio.Buffer datain, int widthout, int heightout, int typeout, java.nio.Buffer dataout ) { throw new GLException("not implemented"); } /** * Optional, throws GLException if not available in profile */ public int gluBuild1DMipmapLevels( int target, int internalFormat, int width, int format, int type, int userLevel, int baseLevel, int maxLevel, java.nio.Buffer data ) { throw new GLException("not implemented"); } /** * Optional, throws GLException if not available in profile */ public int gluBuild1DMipmaps( int target, int internalFormat, int width, int format, int type, java.nio.Buffer data ) { throw new GLException("not implemented"); } /** * Optional, throws GLException if not available in profile */ public int gluBuild2DMipmapLevels( int target, int internalFormat, int width, int height, int format, int type, int userLevel, int baseLevel, int maxLevel, java.nio.Buffer data ) { throw new GLException("not implemented"); } /** * Optional, throws GLException if not available in profile */ public int gluBuild2DMipmaps( int target, int internalFormat, int width, int height, int format, int type, java.nio.Buffer data ) { throw new GLException("not implemented"); } /** * Optional, throws GLException if not available in profile */ public int gluBuild3DMipmapLevels( int target, int internalFormat, int width, int height, int depth, int format, int type, int userLevel, int baseLevel, int maxLevel, java.nio.Buffer data) { throw new GLException("not implemented"); } /** * Optional, throws GLException if not available in profile */ public int gluBuild3DMipmaps( int target, int internalFormat, int width, int height, int depth, int format, int type, java.nio.Buffer data ) { throw new GLException("not implemented"); }