summaryrefslogtreecommitdiffstats
path: root/perl-install/pixmaps/eth_card_mini.png
blob: 44f5161682415719cb4988e3f9955fd44139ac70 (plain)
ofshex dumpascii
0000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 34 00 00 00 34 08 06 00 00 00 c5 78 1b .PNG........IHDR...4...4......x.
0020 eb 00 00 00 06 62 4b 47 44 00 ff 00 ff 00 ff a0 bd a7 93 00 00 00 09 70 48 59 73 00 00 0b 12 00 .....bKGD..............pHYs.....
0040 00 0b 12 01 d2 dd 7e fc 00 00 00 07 74 49 4d 45 07 d2 09 04 0f 0a 2f 4b 32 70 4c 00 00 0a 25 49 ......~.....tIME....../K2pL...%I
0060 44 41 54 78 9c ed 9a 5b 4f 5b 57 16 c7 7f e7 f8 02 b1 31 e6 60 1c 43 6b 0a 38 18 48 32 99 90 90 DATx...[O[W.......1.`.Ck.8.H2...
0080 86 3c a4 89 d2 4e 35 22 4a d5 4f 50 4d ab 8e f8 00 d5 48 7d 9c 97 be 75 3e 40 55 b5 2f c9 cb 54 .<...N5"J.OPM.....H}...u>@U./..T
00a0 7d 68 5f d2 4e fa 50 a5 ca 65 66 48 13 a1 5c 48 84 0d 0e 17 83 8d f1 f5 1c 1f df bd e7 01 38 b1 }h_.N.P..efH..\H..............8.
00c0 b9 34 e1 92 34 53 f5 2f 59 e8 1c ce 5e ff fd 5f 7b ed b5 d7 de e7 48 a3 a3 a3 fc 3f e0 f3 cf 3f .4..4S./Y...^.._{.....H....?...?
00e0 af bb de b7 6f 9f 78 e5 95 57 d0 34 4d 7a f7 dd 77 8d fb e6 5f bb 63 a3 a3 a3 4c 4c 4c 88 eb d7 ....o.x..W.4Mz..w..._.c...LLL...
0100 af 33 38 38 88 2c cb 54 2a 15 1a 1b 1b b1 5a ad 94 cb 65 9c 2d 2d 9c 3f 7f 9e 62 b1 88 a2 28 14 .388.,.T*.....Z...e.--.?..b...(.
0120 8b 45 ca e5 32 a5 72 89 c0 64 40 00 d2 9a 3d e9 45 8e d0 d1 a3 47 45 56 d7 39 74 f0 20 f9 7c 8e .E..2.r..d@...=.E....GEV.9t...|.
0140 4c 26 83 ae eb 28 4a 2b 2d 2d 2d 64 32 19 b2 d9 ac f1 d3 75 1d 5d d7 c9 e7 f3 2c 2f 2f 93 48 24 L&...(J+---d2......u.]....,//.H$
0160 28 97 4a 34 3b 9d 54 ab 55 54 55 45 d3 34 86 86 86 0c 41 2f 6c 84 14 45 11 af bd f6 1a 17 2e 5c (.J4;.T.UTUE.4....A/l..E.......\
0180 a0 50 c8 91 4a a5 49 a7 d3 64 32 2a 57 af 5e 65 6a 6a 0a 5d d7 0d ef 2f 2f 2f 13 8b c5 68 6c 6c .P..J.I..d2*W.^ejj.]...///...hll
01a0 64 7e 7e 1e 97 cb 45 b5 5a a5 54 2e b3 b0 b0 40 2c 16 63 78 78 98 7c 3e 5f c7 f3 c2 04 4d 4e 4e d~~...E.Z.T....@,.cxx.|>_....MNN
01c0 4a 1f 7d f4 91 b8 f5 f3 cf e8 d9 2c 5f 7d f5 15 ba ae 53 2e 97 f0 78 da 89 44 22 2c 2d 2d 31 3b J.}........,_}....S...x..D",--1;
01e0 3b 4b a1 50 c0 62 b1 60 b1 58 8c f6 e1 70 b8 ce 9e cd 66 63 76 76 76 83 20 f9 85 a8 01 6e dc b8 ;K.P.b.`.X...p....fcvvv......n..
0200 81 cb e5 22 99 4c 92 c9 64 38 79 f2 24 5f 7c f1 05 ef ff e5 7d 9c 4e 27 d9 6c 96 58 2c 86 c9 64 ...".L..d8y.$_|.....}.N'.l.X,..d
0220 c2 66 b3 d5 89 d9 0a b2 bc b1 fb 4f 1d a1 f5 93 18 10 00 9d 9d 9d d8 ec 76 4a c5 22 6d 6e 37 08 .f.........O............vJ."mn7.
0240 81 aa aa 28 8a 42 b9 5c 26 9d 4e 73 f6 ec 59 23 b6 4d 26 13 f1 78 1c 21 04 9d 9d 9d 5c bb 76 8d ...(.B.\&.Ns..Y#.M&..x.!....\.v.
0260 7b f7 ee 31 f1 f0 21 c1 a9 29 16 17 17 29 16 8b 4f 15 51 8b fd fb f7 73 f7 ee 5d ca e5 b2 30 9b {..1..!..)...)..O.Q....s..]...0.
0280 cd 92 21 c8 6c 36 0b 87 c3 c1 c4 c4 04 95 4a 85 ae ae 2e 4c b2 8c aa 69 7c fc f1 c7 34 35 35 91 ..!.l6........J....L...i|...455.
02a0 c9 64 28 e4 f3 74 f7 f8 c8 ea 59 34 55 43 d7 b3 e4 f3 79 0a 85 02 c5 62 91 62 b1 88 ae eb 24 12 .d(..t....Y4UC....y....b.b....$.
02c0 09 14 45 e1 a7 9f 7e e2 ec d9 b3 00 bc f3 ce 3b 8c 8d 8d 61 32 9b f1 fb 7b 99 99 99 e1 fe fd fb ..E...~........;...a2...{.......
02e0 04 83 41 e6 66 67 c9 66 b3 db 12 03 10 8b c5 50 14 85 e9 e9 69 fa fa fa 30 04 8d 8c 8c d0 d0 d0 ..A.fg.f.......P....i...0.......
0300 c0 27 9f 7c 42 3a 9d 26 9d 4e a1 aa 19 34 6d 25 cb 68 9a 46 36 9b e5 d6 d8 18 0f 1f 3e a4 52 ad .'.|B:.&.N...4m%.h.F6.......>.R.
0320 20 aa 55 ca e5 32 42 08 66 67 67 b1 db ed 24 93 49 64 59 66 70 70 90 db b7 6f d3 da da 5a 97 52 ..U..2B.fgg...$.IdYfpp...o...Z.R
0340 d7 20 49 12 a5 62 91 c9 c0 24 a1 50 88 44 22 41 b5 5a dd b6 20 58 99 4b 92 f4 84 a2 2e e4 2a 95 ..I..b...$.P.D"A.Z...X.K......*.
0360 0a 37 6e 5c 67 66 66 86 54 2a cd d4 d4 14 aa aa 92 4e a7 49 a5 52 f4 f6 f6 32 3f 3f 6f 78 a7 50 .7n\gff.T*.......N.I.R...2??ox.P
0380 28 20 cb 32 8d 8d 8d c4 62 31 c3 ce 83 07 0f 70 bb dd 94 4a a5 3a f2 64 32 49 6b 6b 2b 12 d0 ec (..2....b1.....p...J.:.d2Ikk+...
03a0 74 32 3d 35 4d 24 12 d9 f0 dc b3 a2 50 28 d0 d6 d6 56 17 aa 32 b0 92 6d 2a 15 aa d5 2a df 7d f7 t2=5M$......P(...V..2..m*...*.}.
03c0 3d 47 8e fc 91 de de 5e 4e 9f 3e 4d 57 77 f7 4a e3 7c 9e bb 77 ef 92 48 24 48 24 12 c6 e4 6d 6c =G.....^N.>MWw.J.|..w..H$H$...ml
03e0 6c dc 40 b4 26 4e 53 d5 ba fb 06 b1 24 e1 72 b9 08 04 02 e8 ba be 23 31 b5 3c b5 0e 91 01 54 55 l.@.&NS.....$.r.......#1.<....TU
0400 45 08 b1 ca 25 71 f0 e0 41 dc 6d 6d 2c 2e 2e 12 9a 9e 26 1e 8f 53 d9 46 48 14 0a 05 ec 76 3b 16 E...%q..A.mm,.....&..S.FH....v;.
0420 ab b5 ee 7e 32 99 44 08 81 24 49 f4 f5 f9 59 58 58 30 78 77 83 5a 1b 32 40 3e 9f 47 54 ab c8 b2 ...~2.D..$I...YXX0xw.Z.2@>.GT...
0440 cc 91 23 47 f8 fa eb af 79 f8 e8 11 c1 e0 4a f6 29 14 0a db 22 90 65 19 49 92 ea 62 1b 60 69 69 ..#G....y.....J.)...".e.I..b.`ii
0460 09 c0 b8 bf d9 e8 6e 17 6e b7 bb 9e 1b 60 66 66 c6 f0 9c c5 62 61 76 76 76 35 fb cc a0 69 da b6 ......n.n....`ff....bavvv5...i..
0480 49 1a 1b 1b 99 9b 9b db 34 0d 1f 38 70 80 c0 64 80 a6 26 07 ed ed ed 3b 94 51 8f 5a c7 d5 ad 4c I.......4..8p..d..&....;.Q.Z...L
04a0 26 93 09 b3 c5 4c 34 1a 25 14 0a 11 df 45 f6 b1 db ed 1b 46 e8 d2 a5 4b d2 c0 c0 00 c1 a9 29 2c &....L4.%....E.....F...K......),
04c0 96 bd 2b 52 6a fb 28 03 5c bd 7a 55 1a 19 19 e1 5f df 7f 4f 73 73 33 a9 54 6a 57 d9 07 56 04 ad ..+Rj.(.\.zU...._..Oss3.TjW..V..
04e0 47 b9 5c 36 44 f6 f4 f4 b0 6f df be 1d db 87 95 d0 ce e5 72 75 fd 34 03 84 42 a1 0d de dc c9 42 G.\6D....o.........ru.4..B.....B
0500 57 8b f9 f9 f9 0d 36 15 45 61 72 72 12 49 5a 11 54 9b ea 77 82 6a b5 ba c1 29 f2 1a 51 20 10 40 W.....6.Earr.IZ.T..w.j...)..Q..@
0520 08 c1 db 7f 7a db 98 53 7b 8d 73 e7 ce 11 08 04 00 09 21 04 7e bf 7f c7 b6 f2 f9 3c fd fd fd a4 ....z..S{.s.......!.~......<....
0540 52 a9 ba 9a 4e ae 25 12 ac a4 c0 bd c8 3e 5e af 77 6d 1d aa f3 4c a9 54 42 92 24 aa d5 2a ad ad R...N.%......>^.wm...L.TB.$..*..
0560 2b 75 df b3 42 d7 75 3a 3a 3a 50 14 85 c3 87 0f a3 69 1a b9 5c 0e 6b cd f2 b0 a1 5c 15 42 e0 f3 +u..B.u:::P......i..\.k....\.B..
0580 f9 76 ae 64 15 36 9b 8d d2 26 9d 8d c7 e3 06 4f 7f ff c0 2f 86 b6 ae eb b4 b6 b6 a2 28 0a 1d 1d .v.d.6...&.....O.../........(...
05a0 1d bc fe fa eb 54 2b 15 dc 6e 37 42 08 4c 66 13 9a aa d2 d6 d6 66 b4 31 52 4d 34 1a 65 ff fe fd .....T+..n7B.Lf......f.1RM4.e...
05c0 08 21 68 6e 76 50 a9 54 30 99 4c bb 16 b6 19 64 59 46 08 41 43 43 03 1e 8f 87 5c 2e 47 b5 5a a5 .!hnvP.T0.L....dYF.ACC....\.G.Z.
05e0 50 28 e0 f5 7a d1 75 1d 8f c7 43 67 67 27 aa aa 62 b7 db 11 02 0a 85 3c 16 ab 95 68 34 8a cd 66 P(..z.u...Cgg'..b......<...h4..f
0600 c3 fb aa 17 87 c3 51 67 7b d3 dc 39 30 70 90 cb 97 bf db f0 f0 5e 20 1c 0e 33 32 72 9e 3b 77 ee ......Qg{..90p.......^...32r.;w.
0620 60 b7 db 38 74 e8 10 81 40 00 bf df 8f d7 eb a5 58 2c d2 d5 d5 65 6c bf 85 10 ab 6b 5a 09 9b 6d `..8t...@.......X,...el....kZ..m
0640 1f 3d 3d 3d 9b 99 dd b8 05 0f 87 c3 78 3c 9e 95 9b 66 f3 ae e6 51 a5 52 41 d3 b4 4d d3 b2 a6 69 .===........x<...f...Q.RA..M...i
0660 b8 dd 6d a8 6a 86 e1 e1 61 24 49 e2 83 0f 3e 30 ce 07 1e 3d 7a c4 f8 f8 38 91 48 84 68 34 4a b1 ..m.j...a$I...>0...=z...8.H.h4J.
0680 58 5c 29 a3 2c 16 5c ae d6 4d 45 d4 c2 10 a4 69 1a 3d 3d 3d 04 83 41 ec 76 3b 1e 8f 87 44 22 b1 X\).,.\..ME....i.===..A.v;...D".
06a0 2d 11 00 1d 1d 1d 58 ad 56 54 55 dd d4 29 df 7c f3 0d 1f 7e f8 21 b2 6c 32 78 c7 c7 c7 49 a7 52 -.....X.VTU..).|...~.!.l2x...I.R
06c0 2c c7 e3 c8 b2 6c 6c 4b 2c 16 0b aa aa e2 7d f5 55 b2 ba 4e 30 18 24 1e 8f 63 b3 d9 a4 b5 7d d6 ,....llK,.....}.U..N0.$..c....}.
06e0 7a 18 49 21 9d 4e 33 30 30 c0 e3 c7 8f 31 9b cd 34 37 37 3f 55 44 ed a4 ed ee ee a6 b7 d7 bf 32 z.I!.N300....1..477?UD.........2
0700 59 4d 26 1a 1a ac 86 c8 5a 9c 3b 77 8e 1f 7e b8 82 aa 66 b8 78 f1 12 76 7b 13 bd bd bd f4 f5 f5 YM&.....Z.;w..~...f.x..v{.......
0720 d1 d3 d3 63 38 41 55 55 2a 95 0a 5e af 17 55 55 49 c4 e3 a4 d3 e9 b5 d1 df 72 4d 31 46 e8 db 6f ...c8AUU*..^..UUI........rM1F..o
0740 bf 95 3e fb ec 33 21 49 12 67 ce bc c1 a7 9f 7e 4a 75 b5 60 ad 15 e0 f5 7a 11 42 d0 d4 d4 44 47 ..>..3!I.g.....~Ju.`....z.B...DG
0760 47 07 a9 54 ca 08 ad 62 b1 48 2c b6 44 b1 58 c4 6a b5 32 3c 3c bc 81 30 14 0a 49 9d 9d 5e a1 69 G..T...b.H,.D.X.j.2<<..0..I..^.i
0780 59 de 7a eb 4d 9c 0e 27 ff bd 35 46 24 12 41 cf 66 c9 ae 1e 5b 39 1c 0e ca e5 32 e1 70 98 5c 2e Y.z.M..'..5F$.A.f...[9....2.p.\.
07a0 47 5b 5b 1b ad 2e d7 5a 85 b1 69 b8 d5 09 5a 2b 4b d6 d6 88 be be 3e 6e df be 8d cf e7 43 d7 75 G[[....Z..i...Z+K.....>n.....C.u
07c0 dc 6e 37 3e 9f 8f 5c 2e 4f 4b 8b 13 21 20 9f cf a1 aa 2a 91 68 04 8b d9 42 a9 54 e2 d8 b1 63 eb .n7>..\.OK..!.....*.h...B.T...c.
07e0 39 ea c8 7d 3e 1f f3 f3 61 29 12 89 88 3b 77 ee d0 df df cf 9b e7 de a2 5a 11 dc 8b de 65 6e 6e 9..}>...a)...;w.........Z....enn
0800 8e f9 f9 79 63 1e fb 7c 3e ba ba ba b6 ea ff d6 82 4e 9d 3a c5 ad 5b b7 30 99 4c 08 21 38 7d fa ...yc..|>........N.:..[.0.L.!8}.
0820 34 27 4e 9c 40 08 41 6f 6f af 71 f8 37 39 39 c9 a3 47 8f 48 26 93 e4 72 39 4c 26 13 47 8f 1e dd 4'N.@.Aoo.q.799..G.H&..r9L&.G...
0840 cc f6 96 5e 04 68 6f 6f 97 d2 e9 b4 b8 72 e5 0a 97 2f 5f c6 6a b5 e2 3c 9a 24 3c 67 61 68 68 68 ...^.hoo.....r.../_.j..<.$<gahhh
0860 ab 3a ef 17 6d d6 09 f2 7a bd 2c 2d 2d 19 21 76 e6 cc 1b a8 aa c6 cd 9b 37 19 1f 1f 27 1e 8f 1b .:..m...z.,--.!v........7...'...
0880 05 ab aa aa a8 aa 6a ec 5a af 5d bb b6 9a 85 5c f8 fd fe a7 92 ae c1 e9 74 4a c7 8f 1f 17 8f 1f ......j.Z.]....\........tJ......
08a0 3f 26 1c 0e 73 fc ef 01 16 fe 7c b8 56 cc 33 db da 20 e8 cb 2f bf e4 c0 81 03 d8 6c 36 d2 e9 14 ?&..s.....|.V.3...../......l6...
08c0 f3 f3 61 5a 5a 9c 1c 1c 18 60 61 71 11 93 c9 44 55 08 62 ab 9b b4 42 a1 40 47 7b 07 62 b5 b2 d1 ..aZZ....`aq...DU.b...B.@G{.b...
08e0 34 8d c5 c5 c5 9d d4 67 52 77 77 37 a1 50 48 98 64 63 2b b0 6d 21 1b 04 ad d4 43 02 b3 d9 c4 b1 4......gRww7.PH.dc+.m!....C.....
0900 63 c7 70 36 37 33 35 1d e2 de bd 7b a4 d2 29 e3 e8 76 2d 73 b5 b5 b5 11 89 46 d0 34 0d 59 96 b1 c.p6735....{..)..v-s.....F.4.Y..
0920 db ed cf 94 19 b7 42 26 93 41 96 d8 34 33 ee 48 d0 7b ef bd c7 d4 d4 b4 a4 69 9a b8 79 f3 df 9c ......B&.A..43.H.{.......i..y...
0940 3a 35 cc 89 a1 21 92 89 24 89 64 8a 07 13 f7 49 26 93 44 a3 51 96 97 97 b1 d9 6c 28 8a 82 df ef :5...!..$.d....I&.D.Q.....l(....
0960 37 16 e4 dd 40 55 55 90 d8 f1 86 72 83 a0 35 34 35 35 49 c9 64 52 5c bc 78 09 8f c7 43 7b 7b 3b 7...@UU....r..5455I.dR\.x...C{{;
0980 c1 60 90 6c 39 49 32 1b a5 db f5 07 06 07 07 b7 b2 b7 e3 50 11 42 ec bc 71 0d 36 ad e5 14 45 91 .`.l9I2............P.B..q.6...E.
09a0 14 45 11 63 ff 19 a3 54 2a e1 72 b9 48 2b 3f e2 00 ba b9 50 fb e8 5e f4 61 4f f1 4b 1b 7b e9 e4 .E.c...T*.r.H+?....P..^.aO.K.{..
09c0 a9 93 b0 6e 3f b3 f6 bf e7 d3 9d dd e3 59 de 3e 48 bc c4 02 d6 e3 85 bd 4e 79 51 f8 5d d0 cb 8e ...n?........Y.>H.......NyQ.]...
09e0 97 4a d0 5e 1c 34 bd 5c 82 76 57 24 00 2f 99 a0 ca ce 0f 6a 0d 48 6c be ce 6c c0 d0 ea e7 0c e9 .J.^.4.\.vW$./.....j.Hl..l......
0a00 1f 7b 59 5e 5e 26 95 4a ed 9e bd 06 b2 2c f3 d7 89 2a ff 3c d9 8c c3 e1 20 91 48 90 cb e5 9e a9 .{Y^^&.J.....,...*.<......H.....
0a20 ed e8 e8 e8 93 0f 2f 86 46 11 27 fe b6 3a dc 6b 65 94 e0 89 cc ea ba eb b5 55 49 ae b9 de 29 44 ....../.F.'..:.ke........UI...)D
0a40 cd df da 12 4e ae b1 bb de be f4 e4 27 99 e0 e7 7f c0 10 35 82 b6 f9 25 49 ad ac e7 81 da 68 d9 ....N.......'......5...%I.....h.
0a60 11 c7 4b 35 87 f6 02 db 7d 49 f3 bc 4b a0 5d db 97 9e c7 5b 86 5f 13 bf b9 90 fb 5d d0 cb 8e df ..K5....}I..K.]....[._.....]....
0a80 9c a0 ff 01 50 20 f9 2d fb 41 c3 80 00 00 00 00 49 45 4e 44 ae 42 60 82 ....P..-.A......IEND.B`.
553' href='#n553'>553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357
package install_steps_interactive; # $Id$


use diagnostics;
use strict;
use vars qw(@ISA $new_bootstrap $com_license);

@ISA = qw(install_steps);

$com_license = _("
Warning

Please read carefully the terms below. If you disagree with any
portion, you are not allowed to install the next CD media. Press 'Refuse' 
to continue the installation without using these media.


Some components contained in the next CD media are not governed
by the GPL License or similar agreements. Each such component is then
governed by the terms and conditions of its own specific license. 
Please read carefully and comply with such specific licenses before 
you use or redistribute the said components. 
Such licenses will in general prevent the transfer,  duplication 
(except for backup purposes), redistribution, reverse engineering, 
de-assembly, de-compilation or modification of the component. 
Any breach of agreement will immediately terminate your rights under 
the specific license. Unless the specific license terms grant you such
rights, you usually cannot install the programs on more than one
system, or adapt it to be used on a network. In doubt, please contact 
directly the distributor or editor of the component. 
Transfer to third parties or copying of such components including the 
documentation is usually forbidden.


All rights to the components of the next CD media belong to their 
respective authors and are protected by intellectual property and 
copyright laws applicable to software programs.
");

#-######################################################################################
#- misc imports
#-######################################################################################
use common;
use partition_table qw(:types);
use partition_table::raw;
use install_steps;
use install_interactive;
use install_any;
use detect_devices;
use run_program;
use devices;
use fsedit;
use loopback;
use mouse;
use modules;
use lang;
use keyboard;
use any;
use fs;
use log;

#-######################################################################################
#- In/Out Steps Functions
#-######################################################################################
sub errorInStep($$) {
    my ($o, $err) = @_;
    $o->ask_warn(_("Error"), [ _("An error occurred"), formatError($err) ]);
}

sub kill_action {
    my ($o) = @_;
    $o->kill;
}

sub charsetChanged {}

#-######################################################################################
#- Steps Functions
#-######################################################################################
#------------------------------------------------------------------------------
sub selectLanguage {
    my ($o) = @_;

    $o->{lang} = any::selectLanguage($o, $o->{lang}, $o->{langs} ||= {})
      || return $o->ask_yesorno('', _("Do you really want to leave the installation?")) ? $o->exit : &selectLanguage;
    install_steps::selectLanguage($o);

    $o->charsetChanged;

    if ($o->isa('interactive::gtk')) {
	$o->ask_warn('', formatAlaTeX(
"If you see this message it is because you chose a language for
which DrakX does not include a translation yet; however the fact
that it is listed means there is some support for it anyway.

That is, once GNU/Linux will be installed, you will be able to at
least read and write in that language; and possibly more (various
fonts, spell checkers, various programs translated etc. that
varies from language to language).")) if $o->{lang} !~ /^en/ && !lang::load_mo();
    } else {
	#- don't use _( ) for this, as it is never translated
	$o->ask_warn('', "The characters of your language can't be displayed in console,
so the messages will be displayed in english during installation") if $ENV{LANGUAGE} eq 'C';
    }
}
    
sub acceptLicence {
    my ($o) = @_;
    return if $o->{useless_thing_accepted};

    $o->set_help('license');
    $o->{useless_thing_accepted} = $o->ask_from_list_(_("License agreement"), formatAlaTeX(
_("Introduction

The operating system and the different components available in the Mandrake Linux distribution 
shall be called the \"Software Products\" hereafter. The Software Products include, but are not 
restricted to, the set of programs, methods, rules and documentation related to the operating 
system and the different components of the Mandrake Linux distribution.


1. License Agreement

Please read this document carefully. This document is a license agreement between you and  
MandrakeSoft S.A. which applies to the Software Products.
By installing, duplicating or using the Software Products in any manner, you explicitly 
accept and fully agree to conform to the terms and conditions of this License. 
If you disagree with any portion of the License, you are not allowed to install, duplicate or use 
the Software Products. 
Any attempt to install, duplicate or use the Software Products in a manner which does not comply 
with the terms and conditions of this License is void and will terminate your rights under this 
License. Upon termination of the License,  you must immediately destroy all copies of the 
Software Products.


2. Limited Warranty

The Software Products and attached documentation are provided \"as is\", with no warranty, to the 
extent permitted by law.
MandrakeSoft S.A. will, in no circumstances and to the extent permitted by law, be liable for any special,
incidental, direct or indirect damages whatsoever (including without limitation damages for loss of 
business, interruption of business, financial loss, legal fees and penalties resulting from a court 
judgment, or any other consequential loss) arising out of  the use or inability to use the Software 
Products, even if MandrakeSoft S.A. has been advised of the possibility or occurance of such 
damages.

LIMITED LIABILITY LINKED TO POSSESSING OR USING PROHIBITED SOFTWARE IN SOME COUNTRIES

To the extent permitted by law, MandrakeSoft S.A. or its distributors will, in no circumstances, be 
liable for any special, incidental, direct or indirect damages whatsoever (including without 
limitation damages for loss of business, interruption of business, financial loss, legal fees 
and penalties resulting from a court judgment, or any other consequential loss) arising out 
of the possession and use of software components or arising out of  downloading software components 
from one of Mandrake Linux sites  which are prohibited or restricted in some countries by local laws.
This limited liability applies to, but is not restricted to, the strong cryptography components 
included in the Software Products.


3. The GPL License and Related Licenses

The Software Products consist of components created by different persons or entities.  Most 
of these components are governed under the terms and conditions of the GNU General Public 
Licence, hereafter called \"GPL\", or of similar licenses. Most of these licenses allow you to use, 
duplicate, adapt or redistribute the components which they cover. Please read carefully the terms 
and conditions of the license agreement for each component before using any component. Any question 
on a component license should be addressed to the component author and not to MandrakeSoft.
The programs developed by MandrakeSoft S.A. are governed by the GPL License. Documentation written 
by MandrakeSoft S.A. is governed by a specific license. Please refer to the documentation for 
further details.


4. Intellectual Property Rights

All rights to the components of the Software Products belong to their respective authors and are 
protected by intellectual property and copyright laws applicable to software programs.
MandrakeSoft S.A. reserves its rights to modify or adapt the Software Products, as a whole or in 
parts, by all means and for all purposes.
\"Mandrake\", \"Mandrake Linux\" and associated logos are trademarks of MandrakeSoft S.A.  


5. Governing Laws 

If any portion of this agreement is held void, illegal or inapplicable by a court judgment, this 
portion is excluded from this contract. You remain bound by the other applicable sections of the 
agreement.
The terms and conditions of this License are governed by the Laws of France.
All disputes on the terms of this license will preferably be settled out of court. As a last 
resort, the dispute will be referred to the appropriate Courts of Law of Paris - France.
For any question on this document, please contact MandrakeSoft S.A.  
")), [ __("Accept"), __("Refuse") ], "Refuse") eq "Accept" and return;

    $o->ask_yesorno('', _("Are you sure you refuse the licence?"), 1) and $o->exit;

    &acceptLicence;
}

#------------------------------------------------------------------------------
sub selectKeyboard {
    my ($o, $clicked) = @_;

    my $from_usb = keyboard::from_usb();
    my $l = keyboard::lang2keyboards(lang::langs($o->{langs}));

    if ($::expert || $clicked || !($from_usb || @$l && $l->[0][1] >= 90) || listlength(lang::langs($o->{langs})) > 1) {
	add2hash($o->{keyboard}, $from_usb);
	my @best = uniq($from_usb ? $from_usb->{KEYBOARD} : (), (map { $_->[0] } @$l), 'us_intl');

	my $format = sub { translate(keyboard::KEYBOARD2text($_[0])) };
	my $other;
	my $ext_keyboard = my $KEYBOARD = $o->{keyboard}{KEYBOARD};
	$o->ask_from_(
		      { title => _("Keyboard"), 
			messages => _("Please choose your keyboard layout."),
			advanced_messages => _("Here is the full list of keyboards available"),
			advanced_label => _("More"),
			callbacks => { changed => sub { $other = $_[0]==1 } },
		      },
		      [ if_(@best > 1, { val => \$KEYBOARD, type => 'list', format => $format, sort => 1,
					 list => [ @best ] }),
			{ val => \$ext_keyboard, type => 'list', format => $format,
			  list => [ difference2([ keyboard::KEYBOARDs() ], \@best) ], advanced => @best > 1 }
		      ]);
	$o->{keyboard}{KEYBOARD} = $other ? $ext_keyboard : $KEYBOARD;
	delete $o->{keyboard}{unsafe};
    }
    any::keyboard_group_toggle_choose($o, $o->{keyboard}) or goto &selectKeyboard;
    install_steps::selectKeyboard($o);
}
#------------------------------------------------------------------------------
sub selectInstallClass1 {
    my ($o, $verif, $l, $def, $l2, $def2) = @_;
    $verif->($o->ask_from_list(_("Install Class"), _("Which installation class do you want?"), $l, $def) || die 'already displayed');

    return if !@$l2;

    $::live ? 'Update' : $o->ask_from_list_(_("Install/Update"), _("Is this an install or an update?"), $l2, $def2);
}

#------------------------------------------------------------------------------
sub selectInstallClass {
    my ($o, $clicked) = @_;

    my %c = my @c = (
      if_(!$::corporate,
	_("Recommended") => "beginner",
      ),
      if_($o->{meta_class} ne 'desktop',
	_("Expert")	 => "expert",
      ),
    );
    %c = @c = (_("Expert") => "expert") if $::expert && !$clicked;

    $o->set_help('selectInstallClassCorpo') if $::corporate;

    my $verifInstallClass = sub { $::expert = $c{$_[0]} eq "expert" };
    my $installMode = $o->{isUpgrade} ? $o->{keepConfiguration} ? __("Upgrade packages only") : __("Upgrade") : __("Install");

    if ($installMode = $o->selectInstallClass1($verifInstallClass,
					       first(list2kv(@c)), ${{reverse %c}}{$::expert ? "expert" : "beginner"},
					       exists $o->{isUpgrade} ? [] : [ __("Install"), __("Upgrade"), __("Upgrade packages only") ], $installMode)) {
	$o->{isUpgrade} = $installMode =~ /Upgrade/;
	$o->{keepConfiguration} = $installMode =~ /packages only/;
    }

    install_steps::selectInstallClass($o);
}

#------------------------------------------------------------------------------
sub selectMouse {
    my ($o, $force) = @_;

    $force ||= $o->{mouse}{unsafe} || $::expert;

    my $prev = $o->{mouse}{type} . '|' . $o->{mouse}{name};
    $o->{mouse} = mouse::fullname2mouse(
	$o->ask_from_treelist_('', _("Please choose the type of your mouse."), 
			       '|', [ mouse::fullnames ], $prev) || return) if $force;

    if ($force && $o->{mouse}{type} eq 'serial') {
	$o->set_help('selectSerialPort');
	$o->{mouse}{device} = 
	  $o->ask_from_listf(_("Mouse Port"),
			    _("Please choose on which serial port your mouse is connected to."),
			    \&mouse::serial_port2text,
			    [ mouse::serial_ports ]) or return;
    }
    if (arch() =~ /ppc/ && $o->{mouse}{nbuttons} == 1) {
	#- set a sane default F11/F12
	$o->{mouse}{button2_key} = 87;
	$o->{mouse}{button3_key} = 88;
	$o->ask_from('', _("Buttons emulation"),
		[
		{ label => _("Button 2 Emulation"), val => \$o->{mouse}{button2_key}, list => [ mouse::ppc_one_button_keys() ], format => \&mouse::ppc_one_button_key2text },
		{ label => _("Button 3 Emulation"), val => \$o->{mouse}{button3_key}, list => [ mouse::ppc_one_button_keys() ], format => \&mouse::ppc_one_button_key2text },
		]) or return;
    }
    
    if ($o->{mouse}{device} eq "usbmouse") {
	any::load_category($o, 'bus/usb', 1, 1);
	eval { 
	    devices::make("usbmouse");
	    modules::load(qw(hid mousedev usbmouse));
	};
    }

    $o->SUPER::selectMouse;
    1;
}
#------------------------------------------------------------------------------
sub setupSCSI {
    my ($o, $clicked) = @_;

    if (!$::noauto && arch() =~ /i.86/) {
	if ($o->{pcmcia} ||= !$::testing && c::pcmcia_probe()) {
	    my $w = $o->wait_message(_("PCMCIA"), _("Configuring PCMCIA cards..."));
	    my $results = modules::configure_pcmcia($o->{pcmcia});
	    $w = undef;
	    $results and $o->ask_warn('', $results);
	}
    }
    { 
	my $w = $o->wait_message(_("IDE"), _("Configuring IDE"));
	modules::load(modules::category2modules('disk/cdrom'));
    }
    any::load_category($o, 'bus/firewire', 1);

    any::load_category($o, 'disk/scsi|hardware_raid', !$::expert && !$clicked, 0);

    install_interactive::tellAboutProprietaryModules($o) if !$clicked;
}

sub ask_mntpoint_s {
    my ($o, $fstab) = @_;
    $o->set_help('ask_mntpoint_s');

    my @fstab = grep { isTrueFS($_) } @$fstab;
    @fstab = grep { isSwap($_) } @$fstab if @fstab == 0;
    @fstab = @$fstab if @fstab == 0;
    die _("No partition available") if @fstab == 0;

    {
	my $w = $o->wait_message('', _("Scanning partitions to find mount points"));
	install_any::suggest_mount_points($fstab, $o->{prefix}, 'uniq');
	log::l("default mntpoint $_->{mntpoint} $_->{device}") foreach @fstab;
    }
    if (@fstab == 1) {
	$fstab[0]{mntpoint} = '/';
    } else {
	$o->ask_from('', 
				  _("Choose the mount points"),
				  [ map { { label => partition_table::description($_), 
					    val => \$_->{mntpoint},
					    not_edit => 0,
					    list => [ '', fsedit::suggestions_mntpoint(fsedit::empty_all_hds()) ] }
					} grep { !$_->{real_mntpoint} || common::usingRamdisk() } @fstab ]) or return;
    }
    $o->SUPER::ask_mntpoint_s($fstab);
}

#------------------------------------------------------------------------------
sub doPartitionDisks {
    my ($o) = @_;

    install_any::getHds($o, $o);

    if (arch() =~ /ppc/ && detect_devices::get_mac_generation =~ /NewWorld/) { #- need to make bootstrap part if NewWorld machine - thx Pixel ;^)
	if (defined $partition_table::mac::bootstrap_part) {
	    #- don't do anything if we've got the bootstrap setup
	    #- otherwise, go ahead and create one somewhere in the drive free space
	} else {
            undef = $partition_table::mac::freepart; #- please "perl -w"
            my $freepart = $partition_table::mac::freepart;
	    if ($freepart && $freepart->{size} >= 1) {	        
		log::l("creating bootstrap partition on drive /dev/$freepart->{hd}{device}, block $freepart->{start}");
		$partition_table::mac::bootstrap_part = $freepart->{part};	
		log::l("bootstrap now at $partition_table::mac::bootstrap_part");
		fsedit::add($freepart->{hd}, { start => $freepart->{start}, size => 1 << 11, type => 0x401, mntpoint => '' }, $o->{all_hds}, { force => 1, primaryOrExtended => 'Primary' });
		$new_bootstrap = 1;    
	    } else {
		$o->ask_warn('',_("No free space for 1MB bootstrap! Install will continue, but to boot your system, you'll need to create the bootstrap partition in DiskDrake"));
	    }
	}
    }

    if ($o->{isUpgrade}) {
	# either one root is defined (and all is ok), or we take the first one we find
	my $p = fsedit::get_root_($o->{fstab});
        if (!$p) {
            my @l = install_any::find_root_parts($o->{fstab}, $o->{prefix}) or die _("No root partition found to perform an upgrade");
	    $p = $o->ask_from_listf(_("Root Partition"),
			            _("What is the root partition (/) of your system?"),
			            \&partition_table::description, \@l) or die "setstep exitInstall\n";
        }
	install_any::use_root_part($o->{all_hds}, $p, $o->{prefix});
    } elsif ($::expert && $o->isa('interactive::gtk')) {
        install_interactive::partition_with_diskdrake($o, $o->{all_hds});
    } else {
        install_interactive::partitionWizard($o);
    }
}

#------------------------------------------------------------------------------
sub rebootNeeded {
    my ($o) = @_;
    $o->ask_warn('', _("You need to reboot for the partition table modifications to take place"));

    install_steps::rebootNeeded($o);
}

#------------------------------------------------------------------------------
sub choosePartitionsToFormat {
    my ($o, $fstab) = @_;

    $o->SUPER::choosePartitionsToFormat($fstab);

    my @l = grep { !$_->{isMounted} && $_->{mntpoint} && 
		   (!isSwap($_) || $::expert) &&
		   (!isFat($_) || $_->{notFormatted} || $::expert) &&
		   (!isOtherAvailableFS($_) || $::expert || $_->{toFormat})
	       } @$fstab;
    $_->{toFormat} = 1 foreach grep { isSwap($_) && !$::expert } @$fstab;

    return if @l == 0 || !$::expert && 0 == grep { ! $_->{toFormat} } @l;

    #- keep it temporary until the guy has accepted
    $_->{toFormatTmp} = $_->{toFormat} || $_->{toFormatUnsure} foreach @l;

    $o->ask_from_(
        { messages => _("Choose the partitions you want to format"),
          advanced_messages => _("Check bad blocks?"),
        },
        [ map { 
	    my $e = $_;
	    ({
	      text => partition_table::description($e), type => 'bool',
	      val => \$e->{toFormatTmp}
	     }, if_(!isLoopback($_) && !isThisFs("reiserfs", $_) && !isThisFs("xfs", $_) && !isThisFs("jfs", $_), {
	      text => partition_table::description($e), type => 'bool', advanced => 1, 
	      disabled => sub { !$e->{toFormatTmp} },
	      val => \$e->{toFormatCheck}
        })) } @l ]
    ) or die 'already displayed';
    #- ok now we can really set toFormat
    foreach (@l) {
	$_->{toFormat} = delete $_->{toFormatTmp};
	$_->{isFormatted} = 0;
    }
}


sub formatMountPartitions {
    my ($o, $fstab) = @_;
    my $w;
    catch_cdie {
        fs::formatMount_all($o->{all_hds}{raids}, $o->{fstab}, $o->{prefix}, sub {
        	my ($part) = @_;
        	$w ||= $o->wait_message('', _("Formatting partitions"));
        	$w->set(isLoopback($part) ?
        		_("Creating and formatting file %s", $part->{loopback_file}) :
        		_("Formatting partition %s", $part->{device}));
        });