File Coverage

lib/jacode.pl
Criterion Covered Total %
statement 599 699 85.6
branch 260 352 73.8
condition 221 285 77.5
subroutine 69 83 83.1
pod n/a
total 1149 1419 80.9


line stmt bran cond sub pod time code
1             package jacode;
2             '有朋自遠方来不亦楽乎' =~ /^\xE6\x9C\x89/ or die "This jacode.pl must be saved in UTF-8 encoding.\n";
3             ######################################################################
4             #
5             # jacode.pl - Perl program for Japanese character code conversion
6             #
7             # https://metacpan.org/dist/Jacode
8             #
9             # Copyright (c) 2010, 2011, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022, 2023, 2026 INABA Hitoshi in a CPAN
10             #
11             ######################################################################
12             #
13             # Compatibility: Perl 4.036 through current Perl 5.
14             # This file is UTF-8 encoded (verified at runtime by the regex above).
15             #
16             # File structure:
17             # BEGIN -- use strict / use vars guards (Perl4-portable)
18             # $0 eq __FILE__ -- standalone pkf (Perl Kanji Filter) command mode
19             # init() -- public initializer; calls the four sub-initializers:
20             # _init_regex -- compile $re_* / $esc_* / $undef_* globals
21             # _init_kana_table -- build %h2z / %z2h from embedded JIS table
22             # _init_convf -- register %convf / %h2zf / %z2hf dispatch tables
23             # _init_encode_table -- populate Ken Lunde CJKV SJIS<->EUC lookup tables
24             # _init_jcode_alias -- install jcode:: namespace aliases
25             # jis_inout / get_inout -- JIS escape sequence control
26             # getcode / _count_ctype -- encoding auto-detection
27             # convert / to / what / trans -- public conversion API
28             # sjis2jis .. utf82utf8 -- core encoding converters (XtoY + _XtoY pairs)
29             # s2e / e2s / u2s / e2u / s2u / u2e -- single-char low-level converters
30             # jis2jis / sjis2sjis / euc2euc / utf82utf8 -- identity + h2z/z2h
31             # cache / nocache / flush / flushcache -- cache control
32             # h2z_* / z2h_* / init_z2h_* / init_h2z_* -- kana width converters
33             # init_sjis2utf8 / init_utf82sjis / init_k2u / init_u2k -- lazy loaders
34             # tr / _maketable / _expnd1 / _expnd2 -- DBCS-aware transliteration
35             #
36             ######################################################################
37              
38             # Perl4 script and also Perl5 script
39             sub BEGIN {
40 924     924   63385465 eval q{ use strict; };
  924     924   6385  
  924         1386  
  924         17598  
41 924     924   163009 eval q{
  924         6753  
  924         2789  
  924         453780  
42             # Global variables declared here for Perl 5 strict compatibility.
43             # All these are also implicitly global in Perl 4 (no-op there).
44             # Scalars: conversion state, regex strings, escape sequences,
45             # undefined-char substitutes, cache flag.
46             # Hashes: conversion dispatch tables, lookup caches, kana maps.
47             # Arrays: tr() operand lists and pkf read-ahead buffer.
48             use vars (
49             '$esc_ASCII',
50             '$INPUT_encoding',
51             '$esc_DBCS',
52             '$OUTPUT_encoding',
53             '$VERSION',
54             '$ascii',
55             '$c',
56             '$c1',
57             '$c2',
58             '$c3',
59             '$c4',
60             '$cache',
61             '$code',
62             '$conv_func',
63             '$conv_opt',
64             '$debug',
65             '$dynamic',
66             '$encoding',
67             '$eol',
68             '$esc',
69             '$esc_0208',
70             '$esc_0212',
71             '$esc_asc',
72             '$esc_kana',
73             '$euc',
74             '$file',
75             '$from',
76             '$h',
77             '$h2z',
78             '$h2z_high',
79             '$jis',
80             '$k',
81             '$matched',
82             '$n',
83             '$option',
84             '$prev_from',
85             '$prev_opt',
86             '$prev_to',
87             '$previous',
88             '$rcsid',
89             '$re_ascii',
90             '$re_bin',
91             '$re_esc_asc',
92             '$re_esc_jis0208',
93             '$re_esc_jis0208_1978',
94             '$re_esc_jis0208_1983',
95             '$re_esc_jis0208_1990',
96             '$re_esc_jis0212',
97             '$re_esc_jis0213_2000_plane1',
98             '$re_esc_jis0213_2004_plane1',
99             '$re_esc_jp',
100             '$re_esc_kana',
101             '$re_euc_0212',
102             '$re_euc_c',
103             '$re_euc_kana',
104             '$re_sjis_ank',
105             '$re_sjis_c',
106             '$re_sjis_kana',
107             '$re_utf8_c',
108             '$re_utf8_kana',
109             '$re_utf8_not_kana',
110             '$re_utf8_rfc3629_c',
111             '$re_utf8_rfc3629_c_ja_JP',
112             '$re_utf8_voiced_kana',
113             '$s',
114             '$show_encoding',
115             '$show_seq',
116             '$sjis',
117             '$support_jcode_package_too',
118             '$to',
119             '$u',
120             '$undef_euc',
121             '$undef_sjis',
122             '$undef_utf8',
123             '$usage',
124             '$utf8',
125             '$v',
126             '$version',
127             '$z',
128             '%JP170559',
129             '%Ken_Lunde_CJKV_AppA_euc2sjis1st',
130             '%Ken_Lunde_CJKV_AppA_euc2sjis2nd_even',
131             '%Ken_Lunde_CJKV_AppA_euc2sjis2nd_odd',
132             '%Ken_Lunde_CJKV_AppA_sjis2euc1st_a',
133             '%Ken_Lunde_CJKV_AppA_sjis2euc1st_b',
134             '%Ken_Lunde_CJKV_AppA_sjis2euc2nd_a',
135             '%Ken_Lunde_CJKV_AppA_sjis2euc2nd_b',
136             '%_z2h_utf8',
137             '%convf',
138             '%e2s',
139             '%e2u',
140             '%encoding_name',
141             '%eol',
142             '%esc_0208',
143             '%h2z',
144             '%h2z_utf8',
145             '%h2zf',
146             '%k2u',
147             '%kana2utf8',
148             '%opt',
149             '%s2e',
150             '%s2u',
151             '%sjis2utf8_1',
152             '%sjis2utf8_2',
153             '%table',
154             '%u2e',
155             '%u2k',
156             '%u2s',
157             '%utf82sjis_1',
158             '%utf82sjis_2',
159             '%z2h',
160             '%z2h_euc',
161             '%z2h_sjis',
162             '%z2h_utf8',
163             '%z2hf',
164             '@from',
165             '@read_ahead',
166             '@to',
167             );
168             };
169 924 50       8267 $INC{'warnings.pm'} = '' if $] < 5.006;
170 924     924   44592 eval q{ use warnings; };
  924         4836  
  924         3780  
  924         119073  
171             }
172              
173             $support_jcode_package_too = 1;
174              
175             $VERSION = '2.13.4.34';
176             $VERSION = $VERSION;
177             $rcsid = sprintf(q$Id: jacode.pl,v %s branched from jcode.pl,v 2.13 2000/09/29 16:10:05 utashiro Exp $, $VERSION);
178              
179             #
180             # Call initialize subroutine if not called yet. This sounds strange
181             # but this makes easy to embed the jacode.pl at the script. Call
182             # &jcode'init at the beginning of the script in that case.
183             #
184             &init unless defined $version;
185              
186             ######################################################################
187             # "perl jacode.pl" works as pkf command on command line
188             #
189             # PKF (perl kanji filter) is a sample script of jacode.pl. It had
190             # almost equivalent capabilities of widely used code conversion
191             # program, nkf. Speed of execution is not as fast as nkf, but reading
192             # and understanding are very fast.
193             ######################################################################
194              
195             # ---------------------------------------------------------------------
196             # Suppress the modern-Perl "Old package separator" deprecation warning
197             # that this file intentionally triggers (the apostrophe ' separator is
198             # required for Perl 4.036 compatibility and must NOT be changed to ::).
199             #
200             # Mechanism: install a __WARN__ filter that drops only that one message
201             # and chains every other warning through to the caller's handler. The
202             # previous handler is restored by a second BEGIN block placed AFTER the
203             # last apostrophe-separated name is compiled (just before sub jis_inout).
204             # Save/restore is used (not local), because a BEGIN block's local would
205             # unwind before the later apostrophe lines are compiled.
206             #
207             # Gated on $] >= 5.038000: the warning was introduced in Perl 5.38.0.
208             # Older perls (including 4.036 / 5.005_03) never emit it, so the whole
209             # block stays inert there. Wrapped in eval q{} so it is harmless even
210             # where my/anonymous-sub/$SIG{__WARN__} would not parse.
211             #
212             # The filter matches the warning text; if a future perl reworded it the
213             # message would simply reappear (fail-safe), never hide other warnings.
214             # ---------------------------------------------------------------------
215             BEGIN {
216 924 50   924   4036 if ($] >= 5.038000) {
217 924         124940 eval q{
218             $jacode::_saved_warn = $SIG{__WARN__};
219             $SIG{__WARN__} = sub {
220             my $msg = shift;
221             return if $msg =~ /Old package separator/;
222             $jacode::_saved_warn ? &{$jacode::_saved_warn}($msg) : print STDERR $msg;
223             };
224             };
225             }
226             }
227              
228             if ($0 eq __FILE__) {
229              
230             #
231             # Original version 'pkf' is ...
232             #
233             # pkf: Perl Kanji Filter
234             #
235             # Copyright (c) 1995-1996,2000 Kazumasa Utashiro
236             # Internet Initiative Japan Inc.
237             # 3-13 Kanda Nishiki-cho, Chiyoda-ku, Tokyo 101-0054, Japan
238             #
239             # Copyright (c) 1991,1992 srekcah@sra.co.jp
240             # Software Research Associates, Inc.
241             #
242             # Use and redistribution for ANY PURPOSE are granted as long as all
243             # copyright notices are retained. Redistribution with modification
244             # is allowed provided that you make your modified version obviously
245             # distinguishable from the original one. THIS SOFTWARE IS PROVIDED
246             # BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES ARE
247             # DISCLAIMED.
248             #
249             local ($usage) = sprintf(<
250             perl $0 [option] [-[INPUT_encoding]OUTPUT_encoding[in,out]] files
251              
252             option
253              
254             -b [b]uffered output (default)
255             -u [u]nbuffered output (*NOT MEANS* UTF-8)
256             -m dyna[m]ic input encoding recognition
257             -c print en[c]oding name
258             -v print escape sequences used in JIS when used along with -c
259             -n [n]o encoding conversion (use original encoding)
260             -Z convert 1-byte hankaku kana to 2-byte [Z]enkaku kana
261             -H convert 2-byte zenkaku kana to 1-byte [H]ankaku kana
262             -f [unix, mac, dos, nl, lf, cr, crnl, crlf]
263             convert eol string to \\n, \\r, \\r\\n respectively.
264             currently this option can't be used with other options.
265              
266             INPUT_encoding/OUTPUT_encoding is one of [jsew]
267             (j=JIS, s=SJIS, e=EUC-JP, w=UTF-8)
268             OUTPUT_encoding 'j' can be followed by JIS in/out character
269              
270             Input Kanji encoding is recognized automatically if not supplied.
271             Usually this is done only once, but it will be done on each input
272             line when dynamic recognition is specified.
273              
274             Output Kanji encoding is JIS by default.
275              
276             Output JIS encoding can be followed by DBCS in and out characters.
277             Default is "BB" which means DBCS sequence start with ESC-\$-B and
278             end with ESC-(-B
279              
280             -----------------------------------------------------------------
281             short-sequence full-sequence means
282             -----------------------------------------------------------------
283             \@ ESC-\$-\@ start of JIS C 6226-1978
284             B ESC-\$-B start of JIS X 0208-1983
285             & ESC-&\@-ESC-\$-B start of JIS X 0208-1990
286             O ESC-\$-(-O start of JIS X 0213:2000 plane1
287             Q ESC-\$-(-Q start of JIS X 0213:2004 plane1
288             -----------------------------------------------------------------
289              
290             Example:
291             perl $0 file convert to JIS encoding
292             perl $0 -j\@J file convert to JIS encoding ("ESC-\$-\@", "ESC-(-J")
293             perl $0 -es file convert EUC-JP to SJIS
294             perl $0 -sw file convert SJIS to UTF-8
295             perl $0 -me file convert mixed encoding file to EUC-JP
296             perl $0 -mc file convert to JIS and print orginal encoding on each line
297              
298             ${rcsid}and %s
299             END
300              
301             unless (@ARGV) {
302             die $usage, "\n";
303             }
304              
305             local ($INPUT_encoding) = '';
306             local ($OUTPUT_encoding) = 'jis';
307             local (%encoding_name) = (
308             'j', 'jis',
309             's', 'sjis',
310             'e', 'euc',
311             'w', 'utf8', # 'u' means unbuffered output, 'w' does world wide encoding
312             'n', 'noconv',
313             );
314             local (%eol) = (
315              
316             # Newlines
317             # http://perldoc.perl.org/perlport.html#Newlines
318             # Some of this may be confusing. Here's a handy reference to the ASCII CR
319             # and LF characters. You can print it out and stick it in your wallet.
320             #
321             # LF eq \012 eq \x0A eq \cJ eq chr(10) eq ASCII 10
322             # CR eq \015 eq \x0D eq \cM eq chr(13) eq ASCII 13
323             #
324             # | Unix | DOS | Mac |
325             # ---------------------------
326             # \n | LF | LF | CR |
327             # \r | CR | CR | LF |
328             # \n * | LF | CRLF | CR |
329             # \r * | CR | CR | LF |
330             # ---------------------------
331             # * text-mode STDIO
332              
333             '', "\n",
334             'unix', "\x0a",
335             'mac', "\x0d",
336             'dos', "\x0d\x0a",
337             'nl', "\x0a",
338             'lf', "\x0a",
339             'cr', "\x0d",
340             'crnl', "\x0d\x0a",
341             'crlf', "\x0d\x0a",
342             );
343             local ($eol) = '';
344              
345             # Option handling
346             local (%opt) = ();
347             while (($_ = $ARGV[0]) =~ s/^-(.+)/$1/ && shift) {
348             next if $_ eq '';
349             s/^([budmcvZH])// && ++$opt{$1} && redo;
350             if (s/^f(.*)//) {
351             ($eol = $1 || shift) =~ tr/A-Z/a-z/;
352             unless (defined($eol) && defined($eol{$eol})) {
353             die "Usage:\n$usage";
354             }
355             next;
356             }
357             if (/^([jsewn]+)/) {
358             ($OUTPUT_encoding, $INPUT_encoding) = @encoding_name{split(//, reverse($1))};
359             &jcode'jis_inout(split(//, $')) if $';
360             next;
361             }
362             print "Usage:\n", $usage;
363             exit(0);
364             }
365              
366             $| = $opt{'u'} && !$opt{'b'};
367             local ($debug, $dynamic, $show_encoding, $show_seq) = @opt{'d', 'm', 'c', 'v'};
368             local ($conv_opt) = $opt{'Z'} ? 'z' : $opt{'H'} ? 'h' : undef;
369              
370             if ($show_encoding && !$dynamic) {
371             @ARGV = ('-') unless @ARGV;
372             local ($file);
373             while (defined($file = shift)) {
374             if ($file ne '-') {
375             print "$file: " if @ARGV .. undef;
376             if (-d $file) {
377             print "directory\n";
378             next;
379             }
380             unless (-f _) {
381             print "not a normal file\n";
382             next;
383             }
384             unless (-s _) {
385             print "empty\n";
386             next;
387             }
388             }
389             open(FILE, $file) || do { warn "$file: $!\n"; next; };
390             while () {
391             next unless $INPUT_encoding = &jcode'getcode(*_) || (eof && "ascii");
392             print $INPUT_encoding;
393             if ($show_seq && $INPUT_encoding eq 'jis') {
394             local ($esc_DBCS, $esc_ASCII) = &jcode'get_inout($_);
395             $esc_DBCS =~ s/\e/ESC/g;
396             $esc_ASCII =~ s/\e/ESC/g;
397             print ' [', $esc_DBCS, ', ', $esc_ASCII, ']';
398             }
399             print "\n";
400             last;
401             }
402             close(FILE);
403             }
404             exit 0;
405             }
406              
407             if ($eol) {
408             eval q{ CORE::binmode(STDOUT); };
409             while (<>) {
410             if (s/[\r\n]+$//) {
411             print $_, $eol{$eol};
412             }
413             else {
414             print $_;
415             }
416             }
417             exit;
418             }
419              
420             eval q{ CORE::binmode(ARGV); };
421             eval q{ CORE::binmode(STDOUT); };
422              
423             local (@read_ahead) = ();
424             while (<>) {
425             if ($dynamic) {
426             local ($c) = &jcode'convert(*_, $OUTPUT_encoding, $INPUT_encoding, $conv_opt);
427             print "$c\t" if $show_encoding;
428             print;
429             next;
430             }
431             $show_encoding || print, next if !@read_ahead && !/[\033\200-\377]/;
432             push(@read_ahead, $_) unless $show_encoding;
433             next unless $INPUT_encoding || ($INPUT_encoding = &jcode'getcode(*_));
434             $OUTPUT_encoding = $INPUT_encoding if $OUTPUT_encoding eq 'noconv';
435             local (*conv_func) = $jcode'convf{ join($;, $INPUT_encoding, $OUTPUT_encoding) };
436             printf STDERR "in=$INPUT_encoding, out=$OUTPUT_encoding, f=$conv_func\n" if $debug;
437              
438             while ($_ = shift(@read_ahead)) {
439             &conv_func(*_, $conv_opt);
440             print;
441             }
442             while (<>) {
443             &conv_func(*_, $conv_opt);
444             print;
445             }
446              
447             last;
448             }
449             print @read_ahead;
450              
451             exit $!;
452             }
453              
454             #---------------------------------------------------------------------
455             # Initialize all state — calls the four sub-initializers below.
456             # Idempotent: safe to call multiple times (subsequent calls are no-ops
457             # because $version is set on first call).
458             #---------------------------------------------------------------------
459             sub init {
460 926     926   3784 $version = $VERSION;
461              
462 926         4600 &_init_regex;
463 926         2687 &_init_kana_table;
464 926         2383 &_init_convf;
465 926         2121 &_init_encode_table;
466 926         2277 &_init_jcode_alias;
467             }
468              
469             #---------------------------------------------------------------------
470             # _init_regex — compile all regular expressions used for encoding
471             # detection and character classification.
472             #
473             # Called once by init(). Results are stored in package globals
474             # ($re_*, $esc_*, $undef_*, $cache).
475             #---------------------------------------------------------------------
476             sub _init_regex {
477              
478             # Binary-marker bytes (not valid in any Japanese text encoding)
479 926     926   2469 $re_bin = '[\x00-\x06\x7f\xff]';
480              
481 926         2324 $re_esc_jis0208_1978 = '\e\$\@'; # "\x1b\x24\x40" '@' JIS C 6226-1978
482 926         2280 $re_esc_jis0208_1983 = '\e\$B'; # "\x1b\x24\x42" 'B' JIS X 0208-1983
483 926         2197 $re_esc_jis0208_1990 = '\e&\@\e\$B'; # "\x1b\x26\x40\x1b\x24\x42" '&' JIS X 0208-1990
484 926         1304 $re_esc_jis0213_2000_plane1 = '\e\$\(O'; # "\x1b\x24\x28\x4f" 'O' JIS X 0213:2000 plane1
485 926         2172 $re_esc_jis0213_2004_plane1 = '\e\$\(Q'; # "\x1b\x24\x28\x51" 'Q' JIS X 0213:2004 plane1
486 926         3760 $re_esc_jis0208 = "$re_esc_jis0208_1978|$re_esc_jis0208_1983|$re_esc_jis0208_1990|$re_esc_jis0213_2000_plane1|$re_esc_jis0213_2004_plane1";
487 926         2164 $re_esc_jis0212 = '\e\$\(D';
488 926         1500 $re_esc_jp = "$re_esc_jis0208|$re_esc_jis0212";
489 926         2915 $re_esc_asc = '\e\([BJ]';
490 926         1257 $re_esc_kana = '\e\(I';
491              
492 926         3069 $esc_0208 = "\e\$B";
493 926         1258 $esc_0212 = "\e\$(D";
494 926         2925 $esc_asc = "\e(B";
495 926         2961 $esc_kana = "\e(I";
496              
497 926         2995 $re_ascii = '[\x07-\x7e]';
498              
499 926         2434 $re_sjis_c = '[\x81-\x9f\xe0-\xfc][\x40-\x7e\x80-\xfc]';
500 926         1460 $re_sjis_kana = '[\xa1-\xdf]';
501 926         1338 $re_sjis_ank = '[\x07-\x7e\xa1-\xdf]';
502              
503 926         2893 $re_euc_c = '[\xa1-\xfe][\xa1-\xfe]';
504 926         3985 $re_euc_kana = '\x8e[\xa1-\xdf]';
505 926         3463 $re_euc_0212 = '\x8f[\xa1-\xfe][\xa1-\xfe]';
506              
507             # # RFC 2279
508             # $re_utf8_rfc2279_c =
509             # '[\xc2-\xdf][\x80-\xbf]'
510             # . '|[\xe0-\xef][\x80-\xbf][\x80-\xbf]'
511             # . '|[\xf0-\xf4][\x80-\x8f][\x80-\xbf][\x80-\xbf]';
512              
513             # RFC 3629
514 926         1461 $re_utf8_rfc3629_c =
515             '[\xc2-\xdf][\x80-\xbf]'
516             . '|[\xe0-\xe0][\xa0-\xbf][\x80-\xbf]'
517             . '|[\xe1-\xec][\x80-\xbf][\x80-\xbf]'
518             . '|[\xed-\xed][\x80-\x9f][\x80-\xbf]'
519             . '|[\xee-\xef][\x80-\xbf][\x80-\xbf]'
520             . '|[\xf0-\xf0][\x90-\xbf][\x80-\xbf][\x80-\xbf]'
521             . '|[\xf1-\xf3][\x80-\xbf][\x80-\xbf][\x80-\xbf]'
522             . '|[\xf4-\xf4][\x80-\x8f][\x80-\xbf][\x80-\xbf]';
523 926         2244 $re_utf8_rfc3629_c = $re_utf8_rfc3629_c; # avoid: Name "jacode::re_utf8_rfc3629_c" used only once
524              
525             # optimized RFC 3629 for ja_JP
526 926         2087 $re_utf8_rfc3629_c_ja_JP =
527             '[\xe1-\xec][\x80-\xbf][\x80-\xbf]'
528             . '|[\xc2-\xdf][\x80-\xbf]'
529             . '|[\xee-\xef][\x80-\xbf][\x80-\xbf]'
530             . '|[\xf0-\xf0][\x90-\xbf][\x80-\xbf][\x80-\xbf]'
531             . '|[\xe0-\xe0][\xa0-\xbf][\x80-\xbf]'
532             . '|[\xed-\xed][\x80-\x9f][\x80-\xbf]'
533             . '|[\xf1-\xf3][\x80-\xbf][\x80-\xbf][\x80-\xbf]'
534             . '|[\xf4-\xf4][\x80-\x8f][\x80-\xbf][\x80-\xbf]';
535              
536 926         2104 $re_utf8_c = $re_utf8_rfc3629_c_ja_JP;
537 926         1940 $re_utf8_kana = '\xef\xbd[\xa1-\xbf]|\xef\xbe[\x80-\x9f]';
538 926         2022 $re_utf8_voiced_kana =
539             '(\xef\xbd[\xb3\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf]'
540             . '|\xef\xbe[\x80\x81\x82\x83\x84\x8a\x8b\x8c\x8d\x8e])\xef\xbe\x9e'
541             . '|\xef\xbe[\x8a\x8b\x8c\x8d\x8e]\xef\xbe\x9f';
542 926         2841 $re_utf8_not_kana =
543             '[\xc2-\xdf][\x80-\xbf]'
544             . '|[\xe0-\xe0][\xa0-\xbf][\x80-\xbf]'
545             . '|[\xe1-\xec][\x80-\xbf][\x80-\xbf]'
546             . '|[\xed-\xed][\x80-\x9f][\x80-\xbf]'
547             . '|[\xee-\xee][\x80-\xbf][\x80-\xbf]'
548             . '|[\xef-\xef][\x80-\xbc][\x80-\xbf]'
549             . '|[\xef-\xef][\xbd-\xbd][\x80-\xa0]'
550             . '|[\xef-\xef][\xbe-\xbe][\xa0-\xbf]'
551             . '|[\xef-\xef][\xbf-\xbf][\x80-\xbf]'
552             . '|[\xf0-\xf0][\x90-\xbf][\x80-\xbf][\x80-\xbf]'
553             . '|[\xf1-\xf3][\x80-\xbf][\x80-\xbf][\x80-\xbf]'
554             . '|[\xf4-\xf4][\x80-\x8f][\x80-\xbf][\x80-\xbf]';
555              
556             # Substitute character for undefined code points (tofu/geta)
557 926         1973 $undef_sjis = "\x81\xac"; # SJIS: 〓 (geta)
558 926         1915 $undef_euc = "\xa2\xae"; # EUC: 〓 (geta)
559 926         1898 $undef_utf8 = "\xe3\x80\x93"; # UTF-8: 〓 (U+3013 GETA MARK)
560              
561             # Enable conversion cache by default
562 926         2823 $cache = 1;
563             }
564              
565             #---------------------------------------------------------------------
566             # _init_kana_table — build the JIS X0201 <-> JIS X0208 kana mapping
567             # (%h2z, %z2h) from an embedded table and verify its integrity.
568             #
569             # The table is stored as raw JIS bytes (without escape sequences)
570             # and shifted to EUC range via tr/\x21-\x7e/\xa1-\xfe/.
571             # Splitting into %h2z/%h2z_high handles both regular and high-byte
572             # sided entries.
573             #---------------------------------------------------------------------
574             sub _init_kana_table {
575              
576             # JIS X0201 -> JIS X0208 KANA conversion table. Looks weird?
577             # Not that much. This is simply JIS text without escape sequences.
578 926     926   7531 ( $h2z_high = $h2z = <<'__TABLE_END__') =~ tr/\x21-\x7e/\xa1-\xfe/;
579             ! !# $ !" % !& " !V # !W
580             ^ !+ _ !, 0 !<
581             ' %! ( %# ) %% * %' + %)
582             , %c - %e . %g / %C
583             1 %" 2 %$ 3 %& 4 %( 5 %*
584             6 %+ 7 %- 8 %/ 9 %1 : %3
585             6^ %, 7^ %. 8^ %0 9^ %2 :^ %4
586             ; %5 < %7 = %9 > %; ? %=
587             ;^ %6 <^ %8 =^ %: >^ %< ?^ %>
588             @ %? A %A B %D C %F D %H
589             @^ %@ A^ %B B^ %E C^ %G D^ %I
590             E %J F %K G %L H %M I %N
591             J %O K %R L %U M %X N %[
592             J^ %P K^ %S L^ %V M^ %Y N^ %\
593             J_ %Q K_ %T L_ %W M_ %Z N_ %]
594             O %^ P %_ Q %` R %a S %b
595             T %d U %f V %h
596             W %i X %j Y %k Z %l [ %m
597             \ %o ] %s & %r 3^ %t
598             __TABLE_END__
599              
600 926 50       13365 if ( $h2z ne <<'__TABLE_END__') {
601             ! !# $ !" % !& " !V # !W
602             ^ !+ _ !, 0 !<
603             ' %! ( %# ) %% * %' + %)
604             , %c - %e . %g / %C
605             1 %" 2 %$ 3 %& 4 %( 5 %*
606             6 %+ 7 %- 8 %/ 9 %1 : %3
607             6^ %, 7^ %. 8^ %0 9^ %2 :^ %4
608             ; %5 < %7 = %9 > %; ? %=
609             ;^ %6 <^ %8 =^ %: >^ %< ?^ %>
610             @ %? A %A B %D C %F D %H
611             @^ %@ A^ %B B^ %E C^ %G D^ %I
612             E %J F %K G %L H %M I %N
613             J %O K %R L %U M %X N %[
614             J^ %P K^ %S L^ %V M^ %Y N^ %\
615             J_ %Q K_ %T L_ %W M_ %Z N_ %]
616             O %^ P %_ Q %` R %a S %b
617             T %d U %f V %h
618             W %i X %j Y %k Z %l [ %m
619             \ %o ] %s & %r 3^ %t
620             __TABLE_END__
621 0         0 die "JIS X0201 -> JIS X0208 KANA conversion table is broken.";
622             }
623 926         169331 %h2z = split( /\s+/, $h2z . $h2z_high );
624              
625 926 50       11614 if ( scalar(keys %h2z) != 178 ) {
626 0         0 die "scalar(keys %h2z) is ", scalar(keys %h2z), ".";
627             }
628              
629 926         74130 %z2h = reverse %h2z;
630 926 50       4430 if ( scalar( keys %z2h ) != scalar( keys %h2z ) ) {
631 0         0 die "scalar(keys %z2h) != scalar(keys %h2z).";
632             }
633             }
634              
635             #---------------------------------------------------------------------
636             # _init_convf — register all encoding-conversion function references
637             # into %convf, %h2zf, and %z2hf dispatch tables.
638             #
639             # %convf keys: "$INPUT_encoding\034$OUTPUT_encoding"
640             # %h2zf keys: encoding name (halfwidth kana -> fullwidth)
641             # %z2hf keys: encoding name (fullwidth kana -> halfwidth)
642             #---------------------------------------------------------------------
643             sub _init_convf {
644              
645 926     926   6796 $convf{ join($;, 'euc', 'euc' ) } = *euc2euc;
646 926         2683 $convf{ join($;, 'euc', 'jis' ) } = *euc2jis;
647 926         2573 $convf{ join($;, 'euc', 'sjis') } = *euc2sjis;
648 926         2285 $convf{ join($;, 'euc', 'utf8') } = *euc2utf8;
649              
650 926         2310 $convf{ join($;, 'jis', 'euc' ) } = *jis2euc;
651 926         2633 $convf{ join($;, 'jis', 'jis' ) } = *jis2jis;
652 926         2487 $convf{ join($;, 'jis', 'sjis') } = *jis2sjis;
653 926         2583 $convf{ join($;, 'jis', 'utf8') } = *jis2utf8;
654              
655 926         2380 $convf{ join($;, 'sjis', 'euc' ) } = *sjis2euc;
656 926         2225 $convf{ join($;, 'sjis', 'jis' ) } = *sjis2jis;
657 926         2752 $convf{ join($;, 'sjis', 'sjis') } = *sjis2sjis;
658 926         2817 $convf{ join($;, 'sjis', 'utf8') } = *sjis2utf8;
659              
660 926         2394 $convf{ join($;, 'utf8', 'euc' ) } = *utf82euc;
661 926         2410 $convf{ join($;, 'utf8', 'jis' ) } = *utf82jis;
662 926         2243 $convf{ join($;, 'utf8', 'sjis') } = *utf82sjis;
663 926         2403 $convf{ join($;, 'utf8', 'utf8') } = *utf82utf8;
664              
665 926         3679 $h2zf{'euc'} = *h2z_euc;
666 926         2454 $h2zf{'jis'} = *h2z_jis;
667 926         2041 $h2zf{'sjis'} = *h2z_sjis;
668 926         2013 $h2zf{'utf8'} = *h2z_utf8;
669              
670 926         2020 $z2hf{'euc'} = *z2h_euc;
671 926         1785 $z2hf{'jis'} = *z2h_jis;
672 926         1640 $z2hf{'sjis'} = *z2h_sjis;
673 926         1797 $z2hf{'utf8'} = *z2h_utf8;
674             }
675              
676             #---------------------------------------------------------------------
677             # _init_encode_table — populate the four Ken Lunde CJKV lookup tables
678             # used for byte-level SJIS <-> EUC-JP conversion.
679             #
680             # Source: Appendix A of "CJKV Information Processing" (Ken Lunde),
681             # 1st and 2nd editions.
682             #
683             # Tables:
684             # %Ken_Lunde_CJKV_AppA_sjis2euc1st_a -- SJIS 1st byte (even row)
685             # %Ken_Lunde_CJKV_AppA_sjis2euc1st_b -- SJIS 1st byte (odd row)
686             # %Ken_Lunde_CJKV_AppA_sjis2euc2nd_a -- SJIS 2nd byte (even row)
687             # %Ken_Lunde_CJKV_AppA_sjis2euc2nd_b -- SJIS 2nd byte (odd row)
688             # %Ken_Lunde_CJKV_AppA_euc2sjis1st -- EUC 1st byte -> SJIS 1st byte
689             # %Ken_Lunde_CJKV_AppA_euc2sjis2nd_odd -- EUC 2nd byte (odd row)
690             # %Ken_Lunde_CJKV_AppA_euc2sjis2nd_even -- EUC 2nd byte (even row)
691             #---------------------------------------------------------------------
692             sub _init_encode_table {
693              
694             # Appendix A. Japanese Code Conversion Table
695             # Understanding Japanese Information Processing
696              
697             # Appendix A: Code Conversion Tables
698             # CJKV Information Processing Chinese, Japanese, Korean & Vietnamese Computing
699             # CJKV Information Processing, 2nd Edition
700              
701 926     926   25902 %Ken_Lunde_CJKV_AppA_sjis2euc1st_a = (
702             0x81,0xa1,
703             0x82,0xa3,
704             0x83,0xa5,
705             0x84,0xa7,
706             0x85,0xa9,
707             0x86,0xab,
708             0x87,0xad,
709             0x88,0xaf,
710             0x89,0xb1,
711             0x8a,0xb3,
712             0x8b,0xb5,
713             0x8c,0xb7,
714             0x8d,0xb9,
715             0x8e,0xbb,
716             0x8f,0xbd,
717             0x90,0xbf,
718             0x91,0xc1,
719             0x92,0xc3,
720             0x93,0xc5,
721             0x94,0xc7,
722             0x95,0xc9,
723             0x96,0xcb,
724             0x97,0xcd,
725             0x98,0xcf,
726             0x99,0xd1,
727             0x9a,0xd3,
728             0x9b,0xd5,
729             0x9c,0xd7,
730             0x9d,0xd9,
731             0x9e,0xdb,
732             0x9f,0xdd,
733             0xe0,0xdf,
734             0xe1,0xe1,
735             0xe2,0xe3,
736             0xe3,0xe5,
737             0xe4,0xe7,
738             0xe5,0xe9,
739             0xe6,0xeb,
740             0xe7,0xed,
741             0xe8,0xef,
742             0xe9,0xf1,
743             0xea,0xf3,
744             0xeb,0xf5,
745             0xec,0xf7,
746             0xed,0xf9,
747             0xee,0xfb,
748             0xef,0xfd,
749             );
750              
751 926         19531 %Ken_Lunde_CJKV_AppA_sjis2euc1st_b = (
752             0x81,0xa2,
753             0x82,0xa4,
754             0x83,0xa6,
755             0x84,0xa8,
756             0x85,0xaa,
757             0x86,0xac,
758             0x87,0xae,
759             0x88,0xb0,
760             0x89,0xb2,
761             0x8a,0xb4,
762             0x8b,0xb6,
763             0x8c,0xb8,
764             0x8d,0xba,
765             0x8e,0xbc,
766             0x8f,0xbe,
767             0x90,0xc0,
768             0x91,0xc2,
769             0x92,0xc4,
770             0x93,0xc6,
771             0x94,0xc8,
772             0x95,0xca,
773             0x96,0xcc,
774             0x97,0xce,
775             0x98,0xd0,
776             0x99,0xd2,
777             0x9a,0xd4,
778             0x9b,0xd6,
779             0x9c,0xd8,
780             0x9d,0xda,
781             0x9e,0xdc,
782             0x9f,0xde,
783             0xe0,0xe0,
784             0xe1,0xe2,
785             0xe2,0xe4,
786             0xe3,0xe6,
787             0xe4,0xe8,
788             0xe5,0xea,
789             0xe6,0xec,
790             0xe7,0xee,
791             0xe8,0xf0,
792             0xe9,0xf2,
793             0xea,0xf4,
794             0xeb,0xf6,
795             0xec,0xf8,
796             0xed,0xfa,
797             0xee,0xfc,
798             0xef,0xfe,
799             );
800              
801 926         41964 %Ken_Lunde_CJKV_AppA_sjis2euc2nd_a = (
802             0x40,0xa1,
803             0x41,0xa2,
804             0x42,0xa3,
805             0x43,0xa4,
806             0x44,0xa5,
807             0x45,0xa6,
808             0x46,0xa7,
809             0x47,0xa8,
810             0x48,0xa9,
811             0x49,0xaa,
812             0x4a,0xab,
813             0x4b,0xac,
814             0x4c,0xad,
815             0x4d,0xae,
816             0x4e,0xaf,
817             0x4f,0xb0,
818             0x50,0xb1,
819             0x51,0xb2,
820             0x52,0xb3,
821             0x53,0xb4,
822             0x54,0xb5,
823             0x55,0xb6,
824             0x56,0xb7,
825             0x57,0xb8,
826             0x58,0xb9,
827             0x59,0xba,
828             0x5a,0xbb,
829             0x5b,0xbc,
830             0x5c,0xbd,
831             0x5d,0xbe,
832             0x5e,0xbf,
833             0x5f,0xc0,
834             0x60,0xc1,
835             0x61,0xc2,
836             0x62,0xc3,
837             0x63,0xc4,
838             0x64,0xc5,
839             0x65,0xc6,
840             0x66,0xc7,
841             0x67,0xc8,
842             0x68,0xc9,
843             0x69,0xca,
844             0x6a,0xcb,
845             0x6b,0xcc,
846             0x6c,0xcd,
847             0x6d,0xce,
848             0x6e,0xcf,
849             0x6f,0xd0,
850             0x70,0xd1,
851             0x71,0xd2,
852             0x72,0xd3,
853             0x73,0xd4,
854             0x74,0xd5,
855             0x75,0xd6,
856             0x76,0xd7,
857             0x77,0xd8,
858             0x78,0xd9,
859             0x79,0xda,
860             0x7a,0xdb,
861             0x7b,0xdc,
862             0x7c,0xdd,
863             0x7d,0xde,
864             0x7e,0xdf,
865             0x80,0xe0,
866             0x81,0xe1,
867             0x82,0xe2,
868             0x83,0xe3,
869             0x84,0xe4,
870             0x85,0xe5,
871             0x86,0xe6,
872             0x87,0xe7,
873             0x88,0xe8,
874             0x89,0xe9,
875             0x8a,0xea,
876             0x8b,0xeb,
877             0x8c,0xec,
878             0x8d,0xed,
879             0x8e,0xee,
880             0x8f,0xef,
881             0x90,0xf0,
882             0x91,0xf1,
883             0x92,0xf2,
884             0x93,0xf3,
885             0x94,0xf4,
886             0x95,0xf5,
887             0x96,0xf6,
888             0x97,0xf7,
889             0x98,0xf8,
890             0x99,0xf9,
891             0x9a,0xfa,
892             0x9b,0xfb,
893             0x9c,0xfc,
894             0x9d,0xfd,
895             0x9e,0xfe,
896             );
897              
898 926         48650 %Ken_Lunde_CJKV_AppA_sjis2euc2nd_b = (
899             0x9f,0xa1,
900             0xa0,0xa2,
901             0xa1,0xa3,
902             0xa2,0xa4,
903             0xa3,0xa5,
904             0xa4,0xa6,
905             0xa5,0xa7,
906             0xa6,0xa8,
907             0xa7,0xa9,
908             0xa8,0xaa,
909             0xa9,0xab,
910             0xaa,0xac,
911             0xab,0xad,
912             0xac,0xae,
913             0xad,0xaf,
914             0xae,0xb0,
915             0xaf,0xb1,
916             0xb0,0xb2,
917             0xb1,0xb3,
918             0xb2,0xb4,
919             0xb3,0xb5,
920             0xb4,0xb6,
921             0xb5,0xb7,
922             0xb6,0xb8,
923             0xb7,0xb9,
924             0xb8,0xba,
925             0xb9,0xbb,
926             0xba,0xbc,
927             0xbb,0xbd,
928             0xbc,0xbe,
929             0xbd,0xbf,
930             0xbe,0xc0,
931             0xbf,0xc1,
932             0xc0,0xc2,
933             0xc1,0xc3,
934             0xc2,0xc4,
935             0xc3,0xc5,
936             0xc4,0xc6,
937             0xc5,0xc7,
938             0xc6,0xc8,
939             0xc7,0xc9,
940             0xc8,0xca,
941             0xc9,0xcb,
942             0xca,0xcc,
943             0xcb,0xcd,
944             0xcc,0xce,
945             0xcd,0xcf,
946             0xce,0xd0,
947             0xcf,0xd1,
948             0xd0,0xd2,
949             0xd1,0xd3,
950             0xd2,0xd4,
951             0xd3,0xd5,
952             0xd4,0xd6,
953             0xd5,0xd7,
954             0xd6,0xd8,
955             0xd7,0xd9,
956             0xd8,0xda,
957             0xd9,0xdb,
958             0xda,0xdc,
959             0xdb,0xdd,
960             0xdc,0xde,
961             0xdd,0xdf,
962             0xde,0xe0,
963             0xdf,0xe1,
964             0xe0,0xe2,
965             0xe1,0xe3,
966             0xe2,0xe4,
967             0xe3,0xe5,
968             0xe4,0xe6,
969             0xe5,0xe7,
970             0xe6,0xe8,
971             0xe7,0xe9,
972             0xe8,0xea,
973             0xe9,0xeb,
974             0xea,0xec,
975             0xeb,0xed,
976             0xec,0xee,
977             0xed,0xef,
978             0xee,0xf0,
979             0xef,0xf1,
980             0xf0,0xf2,
981             0xf1,0xf3,
982             0xf2,0xf4,
983             0xf3,0xf5,
984             0xf4,0xf6,
985             0xf5,0xf7,
986             0xf6,0xf8,
987             0xf7,0xf9,
988             0xf8,0xfa,
989             0xf9,0xfb,
990             0xfa,0xfc,
991             0xfb,0xfd,
992             0xfc,0xfe,
993             );
994              
995 926         36652 %Ken_Lunde_CJKV_AppA_euc2sjis1st = (
996             0xa1,0x81,
997             0xa2,0x81,
998             0xa3,0x82,
999             0xa4,0x82,
1000             0xa5,0x83,
1001             0xa6,0x83,
1002             0xa7,0x84,
1003             0xa8,0x84,
1004             0xa9,0x85,
1005             0xaa,0x85,
1006             0xab,0x86,
1007             0xac,0x86,
1008             0xad,0x87,
1009             0xae,0x87,
1010             0xaf,0x88,
1011             0xb0,0x88,
1012             0xb1,0x89,
1013             0xb2,0x89,
1014             0xb3,0x8a,
1015             0xb4,0x8a,
1016             0xb5,0x8b,
1017             0xb6,0x8b,
1018             0xb7,0x8c,
1019             0xb8,0x8c,
1020             0xb9,0x8d,
1021             0xba,0x8d,
1022             0xbb,0x8e,
1023             0xbc,0x8e,
1024             0xbd,0x8f,
1025             0xbe,0x8f,
1026             0xbf,0x90,
1027             0xc0,0x90,
1028             0xc1,0x91,
1029             0xc2,0x91,
1030             0xc3,0x92,
1031             0xc4,0x92,
1032             0xc5,0x93,
1033             0xc6,0x93,
1034             0xc7,0x94,
1035             0xc8,0x94,
1036             0xc9,0x95,
1037             0xca,0x95,
1038             0xcb,0x96,
1039             0xcc,0x96,
1040             0xcd,0x97,
1041             0xce,0x97,
1042             0xcf,0x98,
1043             0xd0,0x98,
1044             0xd1,0x99,
1045             0xd2,0x99,
1046             0xd3,0x9a,
1047             0xd4,0x9a,
1048             0xd5,0x9b,
1049             0xd6,0x9b,
1050             0xd7,0x9c,
1051             0xd8,0x9c,
1052             0xd9,0x9d,
1053             0xda,0x9d,
1054             0xdb,0x9e,
1055             0xdc,0x9e,
1056             0xdd,0x9f,
1057             0xde,0x9f,
1058             0xdf,0xe0,
1059             0xe0,0xe0,
1060             0xe1,0xe1,
1061             0xe2,0xe1,
1062             0xe3,0xe2,
1063             0xe4,0xe2,
1064             0xe5,0xe3,
1065             0xe6,0xe3,
1066             0xe7,0xe4,
1067             0xe8,0xe4,
1068             0xe9,0xe5,
1069             0xea,0xe5,
1070             0xeb,0xe6,
1071             0xec,0xe6,
1072             0xed,0xe7,
1073             0xee,0xe7,
1074             0xef,0xe8,
1075             0xf0,0xe8,
1076             0xf1,0xe9,
1077             0xf2,0xe9,
1078             0xf3,0xea,
1079             0xf4,0xea,
1080             0xf5,0xeb,
1081             0xf6,0xeb,
1082             0xf7,0xec,
1083             0xf8,0xec,
1084             0xf9,0xed,
1085             0xfa,0xed,
1086             0xfb,0xee,
1087             0xfc,0xee,
1088             0xfd,0xef,
1089             0xfe,0xef,
1090             );
1091              
1092 926         31027 %Ken_Lunde_CJKV_AppA_euc2sjis2nd_odd = (
1093             0xa1,0x40,
1094             0xa2,0x41,
1095             0xa3,0x42,
1096             0xa4,0x43,
1097             0xa5,0x44,
1098             0xa6,0x45,
1099             0xa7,0x46,
1100             0xa8,0x47,
1101             0xa9,0x48,
1102             0xaa,0x49,
1103             0xab,0x4a,
1104             0xac,0x4b,
1105             0xad,0x4c,
1106             0xae,0x4d,
1107             0xaf,0x4e,
1108             0xb0,0x4f,
1109             0xb1,0x50,
1110             0xb2,0x51,
1111             0xb3,0x52,
1112             0xb4,0x53,
1113             0xb5,0x54,
1114             0xb6,0x55,
1115             0xb7,0x56,
1116             0xb8,0x57,
1117             0xb9,0x58,
1118             0xba,0x59,
1119             0xbb,0x5a,
1120             0xbc,0x5b,
1121             0xbd,0x5c,
1122             0xbe,0x5d,
1123             0xbf,0x5e,
1124             0xc0,0x5f,
1125             0xc1,0x60,
1126             0xc2,0x61,
1127             0xc3,0x62,
1128             0xc4,0x63,
1129             0xc5,0x64,
1130             0xc6,0x65,
1131             0xc7,0x66,
1132             0xc8,0x67,
1133             0xc9,0x68,
1134             0xca,0x69,
1135             0xcb,0x6a,
1136             0xcc,0x6b,
1137             0xcd,0x6c,
1138             0xce,0x6d,
1139             0xcf,0x6e,
1140             0xd0,0x6f,
1141             0xd1,0x70,
1142             0xd2,0x71,
1143             0xd3,0x72,
1144             0xd4,0x73,
1145             0xd5,0x74,
1146             0xd6,0x75,
1147             0xd7,0x76,
1148             0xd8,0x77,
1149             0xd9,0x78,
1150             0xda,0x79,
1151             0xdb,0x7a,
1152             0xdc,0x7b,
1153             0xdd,0x7c,
1154             0xde,0x7d,
1155             0xdf,0x7e,
1156             0xe0,0x80,
1157             0xe1,0x81,
1158             0xe2,0x82,
1159             0xe3,0x83,
1160             0xe4,0x84,
1161             0xe5,0x85,
1162             0xe6,0x86,
1163             0xe7,0x87,
1164             0xe8,0x88,
1165             0xe9,0x89,
1166             0xea,0x8a,
1167             0xeb,0x8b,
1168             0xec,0x8c,
1169             0xed,0x8d,
1170             0xee,0x8e,
1171             0xef,0x8f,
1172             0xf0,0x90,
1173             0xf1,0x91,
1174             0xf2,0x92,
1175             0xf3,0x93,
1176             0xf4,0x94,
1177             0xf5,0x95,
1178             0xf6,0x96,
1179             0xf7,0x97,
1180             0xf8,0x98,
1181             0xf9,0x99,
1182             0xfa,0x9a,
1183             0xfb,0x9b,
1184             0xfc,0x9c,
1185             0xfd,0x9d,
1186             0xfe,0x9e,
1187             );
1188              
1189 926         35049 %Ken_Lunde_CJKV_AppA_euc2sjis2nd_even = (
1190             0xa1,0x9f,
1191             0xa2,0xa0,
1192             0xa3,0xa1,
1193             0xa4,0xa2,
1194             0xa5,0xa3,
1195             0xa6,0xa4,
1196             0xa7,0xa5,
1197             0xa8,0xa6,
1198             0xa9,0xa7,
1199             0xaa,0xa8,
1200             0xab,0xa9,
1201             0xac,0xaa,
1202             0xad,0xab,
1203             0xae,0xac,
1204             0xaf,0xad,
1205             0xb0,0xae,
1206             0xb1,0xaf,
1207             0xb2,0xb0,
1208             0xb3,0xb1,
1209             0xb4,0xb2,
1210             0xb5,0xb3,
1211             0xb6,0xb4,
1212             0xb7,0xb5,
1213             0xb8,0xb6,
1214             0xb9,0xb7,
1215             0xba,0xb8,
1216             0xbb,0xb9,
1217             0xbc,0xba,
1218             0xbd,0xbb,
1219             0xbe,0xbc,
1220             0xbf,0xbd,
1221             0xc0,0xbe,
1222             0xc1,0xbf,
1223             0xc2,0xc0,
1224             0xc3,0xc1,
1225             0xc4,0xc2,
1226             0xc5,0xc3,
1227             0xc6,0xc4,
1228             0xc7,0xc5,
1229             0xc8,0xc6,
1230             0xc9,0xc7,
1231             0xca,0xc8,
1232             0xcb,0xc9,
1233             0xcc,0xca,
1234             0xcd,0xcb,
1235             0xce,0xcc,
1236             0xcf,0xcd,
1237             0xd0,0xce,
1238             0xd1,0xcf,
1239             0xd2,0xd0,
1240             0xd3,0xd1,
1241             0xd4,0xd2,
1242             0xd5,0xd3,
1243             0xd6,0xd4,
1244             0xd7,0xd5,
1245             0xd8,0xd6,
1246             0xd9,0xd7,
1247             0xda,0xd8,
1248             0xdb,0xd9,
1249             0xdc,0xda,
1250             0xdd,0xdb,
1251             0xde,0xdc,
1252             0xdf,0xdd,
1253             0xe0,0xde,
1254             0xe1,0xdf,
1255             0xe2,0xe0,
1256             0xe3,0xe1,
1257             0xe4,0xe2,
1258             0xe5,0xe3,
1259             0xe6,0xe4,
1260             0xe7,0xe5,
1261             0xe8,0xe6,
1262             0xe9,0xe7,
1263             0xea,0xe8,
1264             0xeb,0xe9,
1265             0xec,0xea,
1266             0xed,0xeb,
1267             0xee,0xec,
1268             0xef,0xed,
1269             0xf0,0xee,
1270             0xf1,0xef,
1271             0xf2,0xf0,
1272             0xf3,0xf1,
1273             0xf4,0xf2,
1274             0xf5,0xf3,
1275             0xf6,0xf4,
1276             0xf7,0xf5,
1277             0xf8,0xf6,
1278             0xf9,0xf7,
1279             0xfa,0xf8,
1280             0xfb,0xf9,
1281             0xfc,0xfa,
1282             0xfd,0xfb,
1283             0xfe,0xfc,
1284             );
1285             }
1286              
1287             #---------------------------------------------------------------------
1288             # _init_jcode_alias — install jacode:: symbols into the jcode::
1289             # namespace so that existing code using &jcode'xxx continues to work.
1290             #
1291             # Each glob is assigned twice (idempotent double-assignment is a
1292             # Perl4-portable way to suppress the "used only once" warning).
1293             # The AUTOLOAD alternative is left as a comment for reference.
1294             #---------------------------------------------------------------------
1295             sub _init_jcode_alias {
1296              
1297             # package jacode;
1298             # sub AUTOLOAD {
1299             # $AUTOLOAD =~ s/^jcode::/jacode::/;
1300             # goto &$AUTOLOAD;
1301             # }
1302 926 50   926   3594 if ($support_jcode_package_too) {
1303 926         3625 *jcode'getcode_utashiro_2000_09_29 =
1304             *jcode'getcode_utashiro_2000_09_29 =
1305             *jacode'getcode_utashiro_2000_09_29;
1306 926         2325 *jcode'init = *jcode'init = *jacode'init;
1307 926         1721 *jcode'jis_inout = *jcode'jis_inout = *jacode'jis_inout;
1308 926         1751 *jcode'get_inout = *jcode'get_inout = *jacode'get_inout;
1309 926         1778 *jcode'getcode = *jcode'getcode = *jacode'getcode;
1310 926         4785 *jcode'convert = *jcode'convert = *jacode'convert;
1311 926         3181 *jcode'jis = *jcode'jis = *jacode'jis;
1312 926         2281 *jcode'euc = *jcode'euc = *jacode'euc;
1313 926         2144 *jcode'sjis = *jcode'sjis = *jacode'sjis;
1314 926         2009 *jcode'utf8 = *jcode'utf8 = *jacode'utf8;
1315 926         1684 *jcode'to = *jcode'to = *jacode'to;
1316 926         1697 *jcode'what = *jcode'what = *jacode'what;
1317 926         1754 *jcode'trans = *jcode'trans = *jacode'trans;
1318 926         1647 *jcode'sjis2jis = *jcode'sjis2jis = *jacode'sjis2jis;
1319 926         1762 *jcode'euc2jis = *jcode'euc2jis = *jacode'euc2jis;
1320 926         1511 *jcode'jis2euc = *jcode'jis2euc = *jacode'jis2euc;
1321 926         1546 *jcode'jis2sjis = *jcode'jis2sjis = *jacode'jis2sjis;
1322 926         1634 *jcode'sjis2euc = *jcode'sjis2euc = *jacode'sjis2euc;
1323 926         1705 *jcode's2e = *jcode's2e = *jacode's2e;
1324 926         1602 *jcode'euc2sjis = *jcode'euc2sjis = *jacode'euc2sjis;
1325 926         1623 *jcode'e2s = *jcode'e2s = *jacode'e2s;
1326 926         1549 *jcode'utf82jis = *jcode'utf82jis = *jacode'utf82jis;
1327 926         1633 *jcode'utf82euc = *jcode'utf82euc = *jacode'utf82euc;
1328 926         1692 *jcode'u2e = *jcode'u2e = *jacode'u2e;
1329 926         1644 *jcode'utf82sjis = *jcode'utf82sjis = *jacode'utf82sjis;
1330 926         1709 *jcode'u2s = *jcode'u2s = *jacode'u2s;
1331 926         1806 *jcode'jis2utf8 = *jcode'jis2utf8 = *jacode'jis2utf8;
1332 926         1665 *jcode'euc2utf8 = *jcode'euc2utf8 = *jacode'euc2utf8;
1333 926         1804 *jcode'e2u = *jcode'e2u = *jacode'e2u;
1334 926         1710 *jcode'sjis2utf8 = *jcode'sjis2utf8 = *jacode'sjis2utf8;
1335 926         4914 *jcode's2u = *jcode's2u = *jacode's2u;
1336 926         3036 *jcode'jis2jis = *jcode'jis2jis = *jacode'jis2jis;
1337 926         2848 *jcode'sjis2sjis = *jcode'sjis2sjis = *jacode'sjis2sjis;
1338 926         2008 *jcode'euc2euc = *jcode'euc2euc = *jacode'euc2euc;
1339 926         2119 *jcode'utf82utf8 = *jcode'utf82utf8 = *jacode'utf82utf8;
1340 926         1787 *jcode'cache = *jcode'cache = *jacode'cache;
1341 926         1669 *jcode'nocache = *jcode'nocache = *jacode'nocache;
1342 926         1646 *jcode'flush = *jcode'flush = *jacode'flush;
1343 926         1728 *jcode'flushcache = *jcode'flushcache = *jacode'flushcache;
1344 926         1824 *jcode'h2z_jis = *jcode'h2z_jis = *jacode'h2z_jis;
1345 926         1618 *jcode'h2z_euc = *jcode'h2z_euc = *jacode'h2z_euc;
1346 926         1610 *jcode'h2z_sjis = *jcode'h2z_sjis = *jacode'h2z_sjis;
1347 926         5649 *jcode'h2z_utf8 = *jcode'h2z_utf8 = *jacode'h2z_utf8;
1348 926         3876 *jcode'z2h_jis = *jcode'z2h_jis = *jacode'z2h_jis;
1349 926         2720 *jcode'z2h_euc = *jcode'z2h_euc = *jacode'z2h_euc;
1350 926         2354 *jcode'z2h_sjis = *jcode'z2h_sjis = *jacode'z2h_sjis;
1351 926         1846 *jcode'z2h_utf8 = *jcode'z2h_utf8 = *jacode'z2h_utf8;
1352 926         1752 *jcode'init_z2h_euc = *jcode'init_z2h_euc = *jacode'init_z2h_euc;
1353 926         1628 *jcode'init_z2h_sjis = *jcode'init_z2h_sjis = *jacode'init_z2h_sjis;
1354 926         1611 *jcode'init_z2h_utf8 = *jcode'init_z2h_utf8 = *jacode'init_z2h_utf8;
1355 926         1540 *jcode'init_h2z_utf8 = *jcode'init_h2z_utf8 = *jacode'init_h2z_utf8;
1356 926         1524 *jcode'init_sjis2utf8 = *jcode'init_sjis2utf8 = *jacode'init_sjis2utf8;
1357 926         1642 *jcode'init_utf82sjis = *jcode'init_utf82sjis = *jacode'init_utf82sjis;
1358 926         1518 *jcode'init_k2u = *jcode'init_k2u = *jacode'init_k2u;
1359 926         1543 *jcode'init_u2k = *jcode'init_u2k = *jacode'init_u2k;
1360 926         1555 *jcode'tr = *jcode'tr = *jacode'tr;
1361 926         1966 *jcode'convf = *jcode'convf = *jacode'convf;
1362 926         2354 *jcode'z2hf = *jcode'z2hf = *jacode'z2hf;
1363 926         1874 *jcode'h2zf = *jcode'h2zf = *jacode'h2zf;
1364             }
1365             }
1366              
1367             #---------------------------------------------------------------------
1368             # Set escape sequences which should be put before and after Japanese
1369             # (JIS X0208) string
1370             #---------------------------------------------------------------------
1371             # ---------------------------------------------------------------------
1372             # Restore the caller's __WARN__ handler now that every apostrophe-
1373             # separated name above has been compiled. See the matching BEGIN block
1374             # before "if ($0 eq __FILE__)".
1375             # ---------------------------------------------------------------------
1376             BEGIN {
1377 924 50   924   8376 if ($] >= 5.038000) {
1378 924         60269 eval q{ $SIG{__WARN__} = $jacode::_saved_warn; };
1379             }
1380             }
1381              
1382             sub jis_inout {
1383 0   0 0   0 $esc_0208 = shift || $esc_0208;
1384              
1385 0         0 local (%esc_0208) = (
1386             '@', $re_esc_jis0208_1978, # JIS C 6226-1978
1387             'B', $re_esc_jis0208_1983, # JIS X 0208-1983
1388             '&', $re_esc_jis0208_1990, # JIS X 0208-1990
1389             'O', $re_esc_jis0213_2000_plane1, # JIS X 0213:2000 plane1
1390             'Q', $re_esc_jis0213_2004_plane1, # JIS X 0213:2004 plane1
1391             );
1392 0 0       0 $esc_0208 = $esc_0208{$esc_0208} if defined($esc_0208{$esc_0208});
1393              
1394 0   0     0 $esc_asc = shift || $esc_asc;
1395 0 0       0 $esc_asc = "\e\($esc_asc" if length($esc_asc) == 1;
1396 0         0 ( $esc_0208, $esc_asc );
1397             }
1398              
1399             #---------------------------------------------------------------------
1400             # Get JIS Kanji start and ASCII start sequences from the string
1401             #---------------------------------------------------------------------
1402             sub get_inout {
1403 0     0   0 local ( $esc_0208, $esc_asc );
1404 0         0 local ($_) = @_;
1405 0 0       0 if (/($re_esc_jis0208)/o) {
1406 0         0 $esc_0208 = $1;
1407             }
1408 0 0       0 if (/($re_esc_asc)/o) {
1409 0         0 $esc_asc = $1;
1410             }
1411 0         0 ( $esc_0208, $esc_asc );
1412             }
1413              
1414             #---------------------------------------------------------------------
1415             # getcode_utashiro_2000_09_29 — original encoding detector by Utashiro
1416             # (preserved for reference / jcode.pl compatibility).
1417             #
1418             # Simpler than getcode(): counts SJIS and EUC byte runs, picks the
1419             # longer match. Does not handle UTF-8.
1420             #---------------------------------------------------------------------
1421             sub getcode_utashiro_2000_09_29 {
1422 0     0   0 local (*s) = @_;
1423 0         0 local ( $matched, $code );
1424              
1425             # not Japanese
1426 0 0       0 if ( $s !~ /[\e\200-\377]/ ) {
    0          
    0          
1427 0         0 $matched = 0;
1428 0         0 $code = undef;
1429             }
1430              
1431             # 'jis'
1432             elsif ( $s =~ /$re_esc_jp|$re_esc_asc|$re_esc_kana/o ) {
1433 0         0 $matched = 1;
1434 0         0 $code = 'jis';
1435             }
1436              
1437             # 'binary'
1438             elsif ( $s =~ /$re_bin/o ) {
1439 0         0 $matched = 0;
1440 0         0 $code = 'binary';
1441             }
1442              
1443             # should be 'euc' or 'sjis'
1444             else {
1445 0         0 local ( $sjis, $euc ) = ( 0, 0 );
1446 0         0 while ( $s =~ /(($re_sjis_c)+)/go ) {
1447 0         0 $sjis += length($1);
1448             }
1449 0         0 while ( $s =~ /(($re_euc_c|$re_euc_kana|$re_euc_0212)+)/go ) {
1450 0         0 $euc += length($1);
1451             }
1452 0         0 $matched = &max_utashiro_2000_09_29($sjis, $euc);
1453 0         0 $code = ( 'euc', undef, 'sjis' )[ ( $sjis <=> $euc ) + $[ + 1 ];
1454             }
1455              
1456 0 0       0 wantarray ? ( $matched, $code ) : $code;
1457             }
1458              
1459             #---------------------------------------------------------------------
1460             # Returns max value of $_[$[] and $_[$[+1] (not so educatable!> 'o')w
1461             #---------------------------------------------------------------------
1462             sub max_utashiro_2000_09_29 {
1463              
1464             # when $[ is 0
1465             # $_[ 0 + ($_[ 0 ] < $_[ 0 + 1 ]) ];
1466              
1467             # when $[ is 1
1468             # $_[ 1 + ($_[ 1 ] < $_[ 1 + 1 ]) ];
1469              
1470 0     0   0 $_[ $[ + ($_[ $[ ] < $_[ $[ + 1 ]) ];
1471             }
1472              
1473             #---------------------------------------------------------------------
1474             # getcode — detect the character encoding of string *s.
1475             #
1476             # Returns encoding name in scalar context, (matched_bytes, name) in list.
1477             # Encoding names: 'jis', 'sjis', 'euc', 'utf8', 'binary', or undef.
1478             #
1479             # Detection strategy (in order):
1480             # 1. Pure ASCII / empty -> undef
1481             # 2. Binary marker bytes -> 'binary'
1482             # 3. 1-byte input -> classify by range
1483             # 4. 2-byte input -> compare against popular codepoint lists
1484             # 5. JIS escape present -> 'jis'
1485             # 6. 3+ bytes -> parse each encoding, pick best fit,
1486             # break ties with _count_ctype() + priority
1487             #---------------------------------------------------------------------
1488             sub getcode {
1489 65881     65881   5242371 local (*s) = @_;
1490 65881         66329 local ( $matched, $encoding );
1491              
1492             # not Japanese
1493 65881 100       170495 if ( $s =~ /^[\x00-\x1a\x1c-\x7f]*$/ ) {
    100          
    100          
    100          
    100          
1494 16256         17289 $matched = 0;
1495 16256         17271 $encoding = undef;
1496             }
1497              
1498             # 'binary'
1499             elsif ( $s =~ /$re_bin/o ) {
1500 2560         2656 $matched = 0;
1501 2560         2659 $encoding = 'binary';
1502             }
1503              
1504             # 1 octet character should be 'sjis', 'binary', or not Japanese
1505             elsif ( length($s) == 1 ) {
1506              
1507             # not Japanese
1508 128 100       187 if ( $s =~ /\x1b/ ) {
    100          
1509 1         1 $matched = 0;
1510 1         1 $encoding = undef;
1511             }
1512              
1513             # 'sjis'
1514             elsif ( $s =~ /$re_sjis_ank/o ) {
1515 63         51 $matched = 1;
1516 63         69 $encoding = 'sjis';
1517             }
1518              
1519             # 'binary'
1520             else {
1521 64         55 $matched = 0;
1522 64         55 $encoding = 'binary';
1523             }
1524             }
1525              
1526             # 2 octet character should be 'utf8', 'euc', 'sjis', or 'binary'
1527             elsif ( length($s) == 2 ) {
1528              
1529             # 'utf8' popular codepoints
1530 46869 100 100     1991126 if (
    100 100        
    100 100        
    100 100        
    100 100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
      100        
1531             $s =~ /^\xc2[\xa7\xb1\xb6]$/ ||
1532             $s =~ /^\xc3\x97$/
1533             ) {
1534 4         6 $matched = 2;
1535 4         5 $encoding = 'utf8';
1536             }
1537              
1538             # 'euc' popular codepoints
1539             elsif (
1540             $s =~ /^\xb1[\xb3\xbf\xc0\xc4\xc6\xc7\xc9\xca\xd1\xd2\xd8\xd9\xdb]$/ ||
1541             $s =~ /^\xb2[\xb5\xb6\xb8\xb9\xbb\xbc\xbd\xbe\xbf\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xca\xcb\xcc\xce\xcf\xd0\xd6\xd9\xda\xdd]$/ ||
1542             $s =~ /^\xb3[\xb2\xb9\xc6\xc8\xca\xce\xd0\xd1\xd8\xda\xdb]$/ ||
1543             $s =~ /^\xb4[\xb1\xb2\xb3\xb4\xb6\xbb\xc0\xc4\xc5\xc6\xc9\xca\xd6\xd7\xd8\xda\xdb\xdd]$/ ||
1544             $s =~ /^\xb5[\xb4\xb5\xbb\xc1\xc4\xc6\xc8\xd2\xd5\xd7\xd9\xdb\xdc\xdd]$/ ||
1545             $s =~ /^\xb6[\xb2\xb5\xb6\xbb\xbd\xc1\xc6\xc8\xc9\xca\xcb\xcc\xd0\xd6\xd7\xd8\xda]$/ ||
1546             $s =~ /^\xb7[\xb3\xb8\xbb\xbd\xbf\xc1\xc3\xc5\xc7\xc8\xc9\xca\xcf\xd0\xd1\xd2\xd7\xd9\xda\xdd\xde]$/ ||
1547             $s =~ /^\xb8[\xb2\xb5\xb6\xb7\xb9\xba\xbb\xbd\xc0\xc2\xc4\xc5\xc6\xca\xcb\xcd\xce\xd7\xde]$/ ||
1548             $s =~ /^\xb9[\xb6\xb9\xbb\xbd\xbe\xc0\xc1\xc6\xc9\xcd\xd3\xd4\xd6\xd7\xd8]$/ ||
1549             $s =~ /^\xba[\xb4\xb8\xb9\xbb\xc2\xc6\xc7\xca\xcd\xd0\xd1\xd2\xd7\xd8\xd9\xda\xdc]$/ ||
1550             $s =~ /^\xbb[\xb2\xb3\xb6\xba\xbb\xc2\xc4\xc8\xc9\xca\xcb\xcd\xce\xcf\xd0\xd1\xd2\xd4\xd5\xd6\xd7\xd8\xd9\xdc]$/ ||
1551             $s =~ /^\xbc[\xb6\xba\xbc\xc1\xc2\xcc\xce\xd2\xd4\xd5\xd6\xda]$/ ||
1552             $s =~ /^\xbd[\xb5\xb8\xbb\xbc\xbd\xc2\xc5\xc9\xcb\xd0\xd4\xd5]$/ ||
1553             $s =~ /^\xbe[\xb1\xbd\xbe\xc3\xc4\xc6\xc8\xc9\xca\xcf\xd0\xda\xdc\xdd]$/ ||
1554             $s =~ /^\xbf[\xb2\xb4\xb6\xb7\xb9\xbc\xbd\xbf\xc0\xc6\xc7\xc9\xca\xcc\xcd]$/ ||
1555             $s =~ /^\xc0[\xb1\xb2\xb5\xb6\xb8\xb9\xba\xbc\xbd\xbe\xc1\xc4\xc5\xc7\xca\xce\xd0\xd1\xd5\xd6\xda\xdc\xde]$/ ||
1556             $s =~ /^\xc1[\xb1\xb4\xc7\xc8\xcf\xd4\xdb]$/ ||
1557             $s =~ /^\xc2[\xb2\xb3\xb4\xbc\xbe\xbf\xc0\xc7\xce\xd0\xd3\xd4\xd8\xd9]$/ ||
1558             $s =~ /^\xc3[\xb1\xb5\xbb\xbc\xc2\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd1\xd3\xd7\xd9]$/ ||
1559             $s =~ /^\xc4[\xb4\xb6\xb9\xba\xbb\xbe\xc5\xc9\xcb\xcc\xce\xd4\xd8]$/ ||
1560             $s =~ /^\xc5[\xb4\xb5\xb7\xb8\xb9\xba\xbe\xc0\xc1\xc4\xc5\xcf\xd0\xd4\xd9\xda\xdc\xdd]$/ ||
1561             $s =~ /^\xc6[\xb1\xb2\xb7\xbb\xbe\xc0\xc3\xc8\xc9\xcd\xcf\xd7]$/ ||
1562             $s =~ /^\xc7[\xb3\xba\xbc\xbd\xbe\xc0\xc8\xc9\xcb\xcf\xd4\xd5\xd8\xdb\xdc]$/ ||
1563             $s =~ /^\xc8[\xb1\xb4\xb5\xb7\xbd\xbe\xbf\xc4\xc7\xc8\xcc\xce\xd3\xd5\xd6\xdd]$/ ||
1564             $s =~ /^\xc9[\xb1\xb4\xb8\xbc\xbd\xbe\xc1\xc2\xc5\xca\xcd\xd4\xd5\xd7\xd8\xd9\xdb\xdc\xdd]$/ ||
1565             $s =~ /^\xca[\xb4\xb7\xb8\xb9\xbc\xbf\xc2\xc4\xc6\xcc\xd1\xd2\xd4\xd5\xd6\xd8\xd9\xdb\xdd]$/ ||
1566             $s =~ /^\xcb[\xba\xbd\xbe\xc9\xcc\xcd\xd2\xdc]$/ ||
1567             $s =~ /^\xcc[\xb1\xb2\xb4\xb5\xbc\xbe\xbf\xc0\xc2\xc4\xcc\xd1\xd3\xd4\xda\xdc]$/ ||
1568             $s =~ /^\xcd[\xb4\xb5\xb7\xbc\xbd\xbe\xc0\xc4\xc6\xc9\xcb\xcd\xce\xd1\xd5\xd7\xdb]$/ ||
1569             $s =~ /^\xce[\xb1\xb5\xb9\xbe\xc1\xc3\xc5\xc9\xcc\xcf\xd0\xd3\xd9\xdd]$/ ||
1570             $s =~ /^\xcf[\xbf\xc0\xc2\xc3\xc8\xca]$/ ||
1571             $s =~ /^\xd6\xbb$/ ||
1572             $s =~ /^\xdc\xc6$/
1573              
1574             ) {
1575 487         523 $matched = 2;
1576 487         490 $encoding = 'euc';
1577             }
1578              
1579             # 'sjis' halfwidth KATAKANA
1580             elsif (
1581             $s =~ /^[\xb1-\xdc][\xb1-\xdd]$/
1582             ) {
1583 1494         1622 $matched = 2;
1584 1494         1552 $encoding = 'sjis';
1585             }
1586              
1587             # 'euc' popular codepoints
1588             elsif (
1589             $s =~ /^[\xa1-\xdf][\xa1-\xfe]$/ ||
1590             $s =~ /^\xe0[\xa5\xa8\xc4\xd0\xdd\xe1\xea\xf1\xfa]$/ ||
1591             $s =~ /^\xe1[\xb4\xc6\xd6\xd7\xda\xdb\xdc\xe2\xe3\xe7\xfb]$/ ||
1592             $s =~ /^\xe2[\xa2\xa4\xb2\xc1\xc3\xcb\xcc\xd4\xd6\xd7\xdb\xf9]$/ ||
1593             $s =~ /^\xe3[\xaa\xab\xae\xb1\xb7\xd2\xd6\xde\xe0\xfe]$/ ||
1594             $s =~ /^\xe4[\xa3\xb5\xb6\xc6]$/ ||
1595             $s =~ /^\xe5[\xab\xb0\xba\xcc\xe0\xe1\xe2\xe3\xe7]$/ ||
1596             $s =~ /^\xe6[\xab\xb7\xbd\xc6\xc7\xea\xf9\xfa\xfe]$/ ||
1597             $s =~ /^\xe7[\xa5\xa7\xb4\xd0\xd3\xd6\xe7\xf5\xfd]$/ ||
1598             $s =~ /^\xe8[\xa7\xba\xbc\xbd\xc4\xdf\xe7\xea]$/ ||
1599             $s =~ /^\xe9[\xa1\xac\xae\xaf\xb2\xba\xda\xe1\xe6\xe7\xf0]$/ ||
1600             $s =~ /^\xea[\xa4\xa6\xaf\xb5\xb8\xe3\xee\xf4\xf8]$/ ||
1601             $s =~ /^[\xeb-\xec][\xa1-\xfe]$/ ||
1602             $s =~ /^[\xef-\xf3][\xa1-\xfe]$/ ||
1603             $s =~ /^\xf4[\xa1-\xa6]$/
1604             ) {
1605 4710         5509 $matched = 2;
1606 4710         5172 $encoding = 'euc';
1607             }
1608              
1609             # 'sjis'
1610             elsif (
1611             $s =~ /^$re_sjis_c$/o
1612             ) {
1613 10546         11977 $matched = 2;
1614 10546         10866 $encoding = 'sjis';
1615             }
1616              
1617             # 'binary'
1618             else {
1619 29628         40228 $matched = 0;
1620 29628         36213 $encoding = 'binary';
1621             }
1622             }
1623              
1624             # 'jis'
1625             elsif ( $s =~ /$re_esc_jp|$re_esc_asc|$re_esc_kana/o ) {
1626 24         20 $matched = 1;
1627 24         22 $encoding = 'jis';
1628             }
1629              
1630             # 3 or more octet character should be 'utf8', 'sjis', 'euc', or 'binary'
1631             else {
1632 44         53 local (%parsee) = ();
1633 44         47 local ($_) = $s;
1634              
1635 44         59 s/^[\x00-\x7f]+//;
1636 44         58 $parsee{'binary'} = $_;
1637 44         48 $parsee{'sjis' } = $_;
1638 44         45 $parsee{'euc' } = $_;
1639 44         44 $parsee{'utf8' } = $_;
1640 44         42 study($_);
1641              
1642             # never 'sjis'
1643 44 50       72 if (
1644             /[\xfd-\xff]/
1645             ) {
1646 0         0 $parsee{'sjis' } = "\xff" x length($_);
1647             }
1648              
1649             # never 'euc'
1650 44 50 66     134 if (
      66        
1651             /[\x80-\x8d\x90-\xa0\xff]/ ||
1652             /[\x8e][^\xa1-\xdf]/ ||
1653             /[\x8f]([^\xa1-\xfe]|.[^\xa1-\xfe])/
1654             ) {
1655 29         41 $parsee{'euc' } = "\xff" x length($_);
1656             }
1657              
1658             # never 'utf8'
1659 44 100 100     226 if (
      100        
      66        
1660             /[\xc0\xc1\xf5-\xff]/ ||
1661             /[\xc2-\xdf][^\x80-\xbf]/ ||
1662             /[\xe0-\xef]([^\x80-\xbf]|.[^\x80-\xbf])/ ||
1663             /[\xf0-\xf4]([^\x80-\xbf]|.[^\x80-\xbf]|..[^\x80-\xbf])/
1664             ) {
1665 15         28 $parsee{'utf8' } = "\xff" x length($_);
1666             }
1667              
1668             # parsing "$s" in each encoding little by little, to find out the winning encoding
1669             # in many cases, 16 characters are enough to detect encoding
1670 44         1160 while (
1671             ( $parsee{'sjis'} =~ s/^($re_sjis_c|$re_sjis_ank){1,16}//o
1672             + $parsee{'euc'} =~ s/^($re_euc_c|$re_ascii|$re_euc_kana|$re_euc_0212){1,16}//o
1673             + $parsee{'utf8'} =~ s/^($re_utf8_c|$re_ascii){1,16}//o
1674             ) >= 2
1675             ) {
1676             }
1677              
1678             # priority definition in case of same score
1679 44         95 local (%priority) = reverse (
1680             1, 'binary', # if not matched in any encoding
1681             2, 'utf8',
1682             3, 'sjis',
1683             4, 'euc'
1684             );
1685              
1686             # detect encoding
1687             ($encoding) = sort {
1688              
1689             # which is shorter remaining $parsee{...} or
1690 44         97 (
1691             length($parsee{$a})
1692             <=>
1693             length($parsee{$b})
1694             )
1695              
1696             # less character's type or
1697             || (
1698             &_count_ctype($a, substr($_, 0, length($_)-length($parsee{$a})))
1699             <=>
1700             &_count_ctype($b, substr($_, 0, length($_)-length($parsee{$b})))
1701             )
1702              
1703             # high priority
1704             || (
1705             $priority{$a}
1706             <=>
1707 207 50 100     392 $priority{$b}
1708             )
1709              
1710             } (keys %parsee);
1711              
1712             # 8E..8E..8E.. may be 'euc' halfwidth KATAKANA
1713 44 100       115 if ( $encoding eq 'sjis' ) {
1714 11 100       21 if ( length($parsee{'sjis'}) == length($parsee{'euc'}) ) {
1715              
1716             # 8E..8E..8E..
1717 1 50       9 if ( /(\x8e[\xb1-\xdd]){3}/ ) {
    0          
1718 1         3 $encoding = 'euc';
1719             }
1720              
1721             # 8E..8E.. (only two 8E.. by not popular sjis codepoints)
1722             elsif ( /(\x8e[\xb1\xb2\xb3\xb4\xb6\xb9\xbb\xbd\xbe\xc1\xc2\xc3\xc4\xc6\xc7\xc8\xcd\xce\xd1\xd5\xd6\xd9\xda\xdb\xdc\xdd]){2}/ ) {
1723 0         0 $encoding = 'euc';
1724             }
1725             }
1726             }
1727              
1728             # matched length is original length minus remaining length
1729 44         97 $matched = length($s) - length($parsee{$encoding});
1730             }
1731              
1732 65881 50       133307 return wantarray ? ( $matched, $encoding ) : $encoding;
1733             }
1734              
1735             #---------------------------------------------------------------------
1736             # _count_ctype — count the number of character-type transitions in
1737             # a string parsed under the given encoding.
1738             #
1739             # Used as a tiebreaker in getcode(): the encoding that produces fewer
1740             # ctype transitions is more likely correct (e.g. a run of hiragana
1741             # counts as 1, not N individual characters).
1742             #
1743             # Recognized ctypes per encoding:
1744             # sjis: ASCII, half-kana, fullwidth numeric/alpha/hiragana/katakana, other
1745             # euc: ASCII, half-kana, fullwidth numeric/alpha/hiragana/katakana, other
1746             # utf8: ASCII, half-kana, fullwidth numeric/alpha/hiragana/katakana, other
1747             # binary: each byte counts as its own type
1748             #---------------------------------------------------------------------
1749             sub _count_ctype {
1750 144     144   235 local ( $encoding, $_ ) = @_;
1751 144         128 local ($count_ctype) = 0;
1752              
1753 144 100       221 if ( $encoding eq 'sjis' ) {
    100          
    100          
    50          
1754 15   100     198 while (
      66        
      66        
      33        
      33        
      66        
      100        
1755             s/^($re_ascii)+// || # ASCII
1756             s/^([\xb1-\xdd])+// || # halfwidth KATAKANA
1757             s/^(\x82[\x4f-\x58])+// || # fullwidth numeric
1758             s/^(\x82[\x60-\x9a])+// || # fullwidth alphabet
1759             s/^(\x82[\x9f-\xf1])+// || # fullwidth HIRAGANA
1760             s/^(\x83[\x40-\x96])+// || # fullwidth KATAKANA
1761             s/^($re_sjis_c)+// || # other all
1762             s/^[\x00-\xff]//
1763             ) {
1764 80         523 $count_ctype++;
1765             }
1766             }
1767             elsif ( $encoding eq 'euc' ) {
1768 43   100     569 while (
      100        
      100        
      66        
      66        
      66        
      66        
1769             s/^($re_ascii)+// || # ASCII
1770             s/^($re_euc_kana)+// || # halfwidth KATAKANA
1771             s/^(\xa3[\xb0-\xb9])+// || # fullwidth numeric
1772             s/^(\xa3[\xc1-\xfa])+// || # fullwidth alphabet
1773             s/^(\xa4[\xa1-\xf3])+// || # fullwidth HIRAGANA
1774             s/^(\xa5[\xa1-\xf6])+// || # fullwidth KATAKANA
1775             s/^($re_euc_c|$re_euc_0212)+// || # other all
1776             s/^[\x00-\xff]//
1777             ) {
1778 8         100 $count_ctype++;
1779             }
1780             }
1781             elsif ( $encoding eq 'utf8' ) {
1782 39   33     735 while (
      33        
      66        
      66        
      66        
      66        
      66        
1783             s/^($re_ascii)+// || # ASCII
1784             s/^($re_utf8_kana)+// || # halfwidth KATAKANA
1785             s/^(\xef\xbc[\x90-\x99])+// || # fullwidth numeric
1786             s/^(\xef\xbc[\xa1-\xba]|\xef\xbd[\x81-\x9a])+// || # fullwidth alphabet
1787             s/^(\xe3\x81[\x81-\xbf]|\xe3\x82[\x80-\x93])+// || # fullwidth HIRAGANA
1788             s/^(\xe3\x82[\xa1-\xbf]|\xe3\x83[\x80-\xb6])+// || # fullwidth KATAKANA
1789             s/^($re_utf8_c)+// || # other all
1790             s/^[\x00-\xff]//
1791             ) {
1792 10         191 $count_ctype++;
1793             }
1794             }
1795             elsif ( $encoding eq 'binary' ) {
1796 47         43 $count_ctype = length($_);
1797             }
1798             else {
1799 0         0 die "unknown encoding '$encoding'.";
1800             }
1801              
1802 144         331 return $count_ctype;
1803             }
1804              
1805             #---------------------------------------------------------------------
1806             # convert — convert string *s from INPUT_encoding to OUTPUT_encoding.
1807             #
1808             # Arguments: (*s, $OUTPUT_encoding, $INPUT_encoding, $option)
1809             # $INPUT_encoding may be undef -> auto-detected via getcode()
1810             # $OUTPUT_encoding 'noconv' -> keep original encoding
1811             # $option 'z'/'h' -> h2z / z2h kana conversion
1812             #
1813             # Returns (glob_ref, input_enc) in list context, input_enc in scalar.
1814             # Returns (undef, undef) if encoding cannot be determined.
1815             # Returns (undef, 'binary') if input is binary.
1816             #
1817             # For encodings not in %convf (e.g. iso-8859-1), falls back to
1818             # Encode::from_to() on Perl >= 5.8.
1819             #---------------------------------------------------------------------
1820             sub convert {
1821 840962     840962   4932257 local ( *s, $OUTPUT_encoding, $INPUT_encoding, $option ) = @_;
1822 840962 50 33     1431500 return ( undef, undef ) unless $INPUT_encoding = $INPUT_encoding || &getcode(*s);
1823 840962 50       1074062 return ( undef, $INPUT_encoding ) if $INPUT_encoding eq 'binary';
1824 840962 50       991490 $OUTPUT_encoding = 'jis' unless $OUTPUT_encoding;
1825 840962 50       1017260 $OUTPUT_encoding = $INPUT_encoding if $OUTPUT_encoding eq 'noconv';
1826 840962         1343145 local (*f) = $convf{ join($;, $INPUT_encoding, $OUTPUT_encoding) };
1827 840962 100       1078073 if ( $INPUT_encoding eq 'utf8' ) {
1828              
1829             # http://blog.livedoor.jp/dankogai/archives/50116398.html
1830             # http://blog.livedoor.jp/dankogai/archives/51004472.html
1831              
1832 180936 50       247665 if ($] >= 5.008) {
1833 180936         8959197 eval q<
1834             require Encode;
1835             if (Encode::is_utf8($s)) {
1836             $s = Encode::encode_utf8($s);
1837             }
1838             >;
1839             }
1840             }
1841 840962 50       1453215 if ( $convf{ join($;, $INPUT_encoding, $OUTPUT_encoding) } ) {
1842 840962         1025727 &f( *s, $option );
1843             }
1844             else {
1845 0         0 eval q{ use Encode; };
1846 0 0       0 unless ($@) {
1847 0         0 eval q{ Encode::from_to( $s, $INPUT_encoding, $OUTPUT_encoding ); };
1848             }
1849             }
1850              
1851 840962 50       1564267 wantarray ? ( *f, $INPUT_encoding ) : $INPUT_encoding;
1852             }
1853              
1854             #---------------------------------------------------------------------
1855             # Easy return-by-value interfaces
1856             # These thin wrappers call to() and return the converted string.
1857             # Usage: $out = &jacode'jis($str [, $from_enc [, $option]])
1858             #---------------------------------------------------------------------
1859 0     0   0 sub jis { &to( 'jis', @_ ); }
1860 0     0   0 sub euc { &to( 'euc', @_ ); }
1861 0     0   0 sub sjis { &to( 'sjis', @_ ); }
1862 0     0   0 sub utf8 { &to( 'utf8', @_ ); }
1863              
1864             #---------------------------------------------------------------------
1865             # to — return-by-value front-end for convert().
1866             # &jacode'to($OUTPUT_enc, $string [, $INPUT_enc [, $option]])
1867             #---------------------------------------------------------------------
1868             sub to {
1869 816     816   5459 local ( $OUTPUT_encoding, $s, $INPUT_encoding, $option ) = @_;
1870 816         1247 &convert( *s, $OUTPUT_encoding, $INPUT_encoding, $option );
1871 816         1544 $s;
1872             }
1873              
1874             #---------------------------------------------------------------------
1875             # what — return the encoding name of $string (calls getcode()).
1876             #---------------------------------------------------------------------
1877             sub what {
1878 0     0   0 local ($s) = @_;
1879 0         0 &getcode(*s);
1880             }
1881              
1882             #---------------------------------------------------------------------
1883             # trans — return-by-value front-end for tr().
1884             # &jacode'trans($string, $from, $to [, $option])
1885             #---------------------------------------------------------------------
1886             sub trans {
1887 0     0   0 local ($s) = shift;
1888 0         0 &tr( *s, @_ );
1889 0         0 $s;
1890             }
1891              
1892             #---------------------------------------------------------------------
1893             # SJIS to JIS
1894             #---------------------------------------------------------------------
1895             sub sjis2jis {
1896 68890     68890   75553 local ( *s, $option ) = @_;
1897 68890 100       107147 &sjis2sjis( *s, $option ) if $option;
1898 68890         65290 local ($n) = 0;
1899 68890         135236 $s =~ s/(($re_sjis_c)+|($re_ascii)+|($re_sjis_kana)+)/&_sjis2jis($1)/geo;
  68812         77489  
1900 68890         76294 $s .= $esc_asc;
1901 68890         74089 $n;
1902             }
1903              
1904             #---------------------------------------------------------------------
1905             # _sjis2jis — inner converter called by sjis2jis().
1906             # Dispatches a matched run to the appropriate JIS escape sequence:
1907             # ASCII run -> ESC ( B + as-is
1908             # Half kana -> ESC ( I + tr to 0x21-0x5f range
1909             # SJIS DBCS -> ESC $ B + via s2e() byte mapping + tr to 0x21-0x7e
1910             #---------------------------------------------------------------------
1911             sub _sjis2jis {
1912 68812     68812   89237 local ($s) = shift;
1913 68812 100       128250 if ( $s =~ /^$re_ascii/o ) {
    100          
1914 720         1156 $esc_asc . $s;
1915             }
1916             elsif ( $s =~ /^$re_sjis_kana/o ) {
1917 436         495 $s =~ tr/\xa1-\xdf/\x21-\x5f/;
1918 436         421 $n += length($s);
1919 436         743 $esc_kana . $s;
1920             }
1921             else {
1922 67656   66     107784 $s =~ s/($re_sjis_c)/$n++, ($s2e{$1}||&s2e($1))/geo;
  67656         124930  
1923 67656         85180 $s =~ tr/\xa1-\xfe/\x21-\x7e/;
1924 67656         115149 $esc_0208 . $s;
1925             }
1926             }
1927              
1928             #---------------------------------------------------------------------
1929             # EUC-JP to JIS
1930             #---------------------------------------------------------------------
1931             sub euc2jis {
1932 48058     48058   53031 local ( *s, $option ) = @_;
1933 48058 100       74417 &euc2euc( *s, $option ) if $option;
1934 48058         45220 local ($n) = 0;
1935 48058         105999 $s =~ s/(($re_euc_c)+|($re_ascii)+|($re_euc_kana)+|($re_euc_0212)+)/&_euc2jis($1)/geo;
  47980         54895  
1936 48058         52805 $s .= $esc_asc;
1937 48058         51103 $n;
1938             }
1939              
1940             #---------------------------------------------------------------------
1941             # _euc2jis — inner converter called by euc2jis().
1942             # Dispatches a matched run to the appropriate JIS escape sequence:
1943             # SS2 (0x8e) prefix -> ESC ( I half-width kana
1944             # SS3 (0x8f) prefix -> ESC $ ( D JIS X0212
1945             # ASCII run -> ESC ( B + as-is
1946             # EUC DBCS -> ESC $ B + tr to 0x21-0x7e
1947             #---------------------------------------------------------------------
1948             sub _euc2jis {
1949 47980     47980   64631 local ($s) = shift;
1950 47980 100       147535 if ( $s =~ tr/\x8e//d ) {
    50          
    100          
1951 436         428 $s =~ tr/\xa1-\xfe/\x21-\x7e/;
1952 436         392 $n += length($s);
1953 436         721 $esc_kana . $s;
1954             }
1955             elsif ( $s =~ tr/\x8f//d ) {
1956 0         0 $s =~ tr/\xa1-\xfe/\x21-\x7e/;
1957 0         0 $n += length($s) / 2;
1958 0         0 $esc_0212 . $s;
1959             }
1960             elsif ( $s =~ /^$re_ascii/ ) {
1961 720         1226 $esc_asc . $s;
1962             }
1963             else {
1964 46824         47341 $s =~ tr/\xa1-\xfe/\x21-\x7e/;
1965 46824         58580 $n += length($s) / 2;
1966 46824         84873 $esc_0208 . $s;
1967             }
1968             }
1969              
1970             #---------------------------------------------------------------------
1971             # JIS to EUC-JP
1972             #---------------------------------------------------------------------
1973             sub jis2euc {
1974 48058     48058   57952 local ( *s, $option ) = @_;
1975 48058 100       80830 &jis2jis( *s, $option ) if $option;
1976 48058         48160 local ($n) = 0;
1977 48058         124827 $s =~ s/($re_esc_jp|$re_esc_asc|$re_esc_kana)([^\e]*)/&_jis2euc($1,$2)/geo;
  96038         116152  
1978 48058         63588 $n;
1979             }
1980              
1981             #---------------------------------------------------------------------
1982             # _jis2euc — inner converter called by jis2euc().
1983             # Maps each JIS escape-sequence run to EUC-JP byte sequence:
1984             # ESC ( B/J -> ASCII passthrough
1985             # ESC ( I -> SS2 (0x8e) prefix + tr to 0xa1-0xfe
1986             # ESC $ ( D -> SS3 (0x8f) prefix + tr
1987             # ESC $ @/B -> tr to 0xa1-0xfe (2-byte EUC)
1988             #---------------------------------------------------------------------
1989             sub _jis2euc {
1990 96038     96038   164303 local ( $esc, $s ) = @_;
1991 96038 100       188083 if ( $esc =~ /^$re_esc_asc/o ) {
    100          
    50          
1992             }
1993             elsif ( $esc =~ /^$re_esc_kana/o ) {
1994 462         504 $s =~ tr/\x21-\x7e/\xa1-\xfe/;
1995 462         739 $s =~ s/([\xa1-\xdf])/$n++, "\x8e$1"/ge;
  488         789  
1996             }
1997             elsif ( $esc =~ /^$re_esc_jis0212/o ) {
1998 0         0 $s =~ tr/\x21-\x7e/\xa1-\xfe/;
1999 0         0 $s =~ s/([\xa1-\xfe][\xa1-\xfe])/$n++, "\x8f$1"/ge;
  0         0  
2000             }
2001             else {
2002 46798         53104 $s =~ tr/\x21-\x7e/\xa1-\xfe/;
2003 46798         63972 $n += length($s) / 2;
2004             }
2005 96038         198558 $s;
2006             }
2007              
2008             #---------------------------------------------------------------------
2009             # JIS to SJIS
2010             #---------------------------------------------------------------------
2011             sub jis2sjis {
2012 48058     48058   54491 local ( *s, $option ) = @_;
2013 48058 100       75318 &jis2jis( *s, $option ) if $option;
2014 48058         45271 local ($n) = 0;
2015 48058         113128 $s =~ s/($re_esc_jp|$re_esc_asc|$re_esc_kana)([^\e]*)/&_jis2sjis($1,$2)/geo;
  96038         108313  
2016 48058         59251 $n;
2017             }
2018              
2019             #---------------------------------------------------------------------
2020             # _jis2sjis — inner converter called by jis2sjis().
2021             # Maps each JIS escape-sequence run to SJIS byte sequence:
2022             # ESC ( B/J -> ASCII passthrough
2023             # ESC ( I -> half-width kana: tr to 0xa1-0xfe
2024             # ESC $ ( D -> JIS X0212: replace with $undef_sjis (no SJIS mapping)
2025             # ESC $ @/B -> tr to 0xa1-0xfe then e2s() DBCS mapping
2026             # Bug fix vs jcode.pl 2.13: $n = length($s) not $n = length
2027             #---------------------------------------------------------------------
2028             sub _jis2sjis {
2029              
2030             # fixing bug of jcode.pl (1 of 2)
2031             # miscounting $n
2032             # http://srekcah.org/jcode/2.13.1/
2033             #
2034             #! ;; $rcsid = q$Id: jcode.pl,v 2.13.1.4 2002/04/07 07:27:00 utashiro Exp $;
2035             # *** 516,522 ****
2036             # local($esc, $s) = @_;
2037             # if ($esc =~ /^$re_jis0212/o) {
2038             # $s =~ s/../$undef_sjis/g;
2039             #! $n = length;
2040             # }
2041             # elsif ($esc !~ /^$re_asc/o) {
2042             # $n += $s =~ tr/\041-\176/\241-\376/;
2043             # --- 516,522 ----
2044             # local($esc, $s) = @_;
2045             # if ($esc =~ /^$re_jis0212/o) {
2046             # $s =~ s/../$undef_sjis/g;
2047             #! $n = length($s);
2048             # }
2049             # elsif ($esc !~ /^$re_asc/o) {
2050             # $n += $s =~ tr/\041-\176/\241-\376/;
2051              
2052 96038     96038   154308 local ( $esc, $s ) = @_;
2053              
2054 96038 100       170511 if ( $esc =~ /^$re_esc_asc/o ) {
    100          
    50          
2055             }
2056             elsif ( $esc =~ /^$re_esc_kana/o ) {
2057 462         624 $s =~ tr/\x21-\x7e/\xa1-\xfe/;
2058 462         532 $n += length($s);
2059             }
2060             elsif ( $esc =~ /^$re_esc_jis0212/o ) {
2061 0         0 $s =~ s/[\x00-\xff][\x00-\xff]/$n++, $undef_sjis/ge;
  0         0  
2062             }
2063             else {
2064 46798         49932 $s =~ tr/\x21-\x7e/\xa1-\xfe/;
2065 46798   66     77614 $s =~ s/($re_euc_c)/$n++, ($e2s{$1}||&e2s($1))/geo;
  46798         89274  
2066             }
2067 96038         199381 $s;
2068             }
2069              
2070             #---------------------------------------------------------------------
2071             # SJIS to EUC-JP
2072             #---------------------------------------------------------------------
2073             sub sjis2euc {
2074 68890     68890   73651 local ( *s, $option ) = @_;
2075 68890 100       101098 &sjis2sjis( *s, $option ) if $option;
2076 68890         63462 local ($n) = 0;
2077 68890         109775 $s =~ s/($re_sjis_c|$re_sjis_kana)/$n++, &s2e($1)/geo;
  68144         76888  
2078 68890         79652 $n;
2079             }
2080              
2081             #---------------------------------------------------------------------
2082             # s2e — convert a single SJIS character (1 or 2 bytes) to EUC-JP.
2083             # Uses %Ken_Lunde_CJKV_AppA_sjis2euc* lookup tables.
2084             # Results are cached in %s2e when $cache is true.
2085             #---------------------------------------------------------------------
2086             sub s2e {
2087 223594     223594   284447 local ($code) = @_;
2088 223594         340729 local ( $c1, $c2 ) = unpack( 'CC', $code );
2089 223594 50       787483 if ( $code =~ /^$re_ascii/ ) {
    100          
    100          
2090 0         0 return $code;
2091             }
2092             elsif ($s2e{$code}) {
2093 135         255 return $s2e{$code};
2094             }
2095             elsif ( $code gt "\xea\xa4" ) {
2096 46140         101060 return $undef_euc;
2097             }
2098             else {
2099 177319 100 100     488076 if ( (0xa1 <= $c1) && ($c1 <= 0xdf) ) {
    100          
    50          
2100 381         365 $c2 = $c1;
2101 381         341 $c1 = 0x8e;
2102             }
2103             elsif ( $Ken_Lunde_CJKV_AppA_sjis2euc2nd_a{$c2} ) {
2104 89597         120179 $c1 = $Ken_Lunde_CJKV_AppA_sjis2euc1st_a{$c1};
2105 89597         94754 $c2 = $Ken_Lunde_CJKV_AppA_sjis2euc2nd_a{$c2};
2106             }
2107             elsif ( $Ken_Lunde_CJKV_AppA_sjis2euc2nd_b{$c2} ) {
2108 87341         117416 $c1 = $Ken_Lunde_CJKV_AppA_sjis2euc1st_b{$c1};
2109 87341         94183 $c2 = $Ken_Lunde_CJKV_AppA_sjis2euc2nd_b{$c2};
2110             }
2111 177319 50       197829 if ($cache) {
2112 177319         739174 return $s2e{$code} = pack( 'CC', $c1, $c2 );
2113             }
2114             else {
2115 0         0 return pack( 'CC', $c1, $c2 );
2116             }
2117             }
2118             }
2119              
2120             #---------------------------------------------------------------------
2121             # EUC-JP to SJIS
2122             #---------------------------------------------------------------------
2123             sub euc2sjis {
2124 48058     48058   54031 local ( *s, $option ) = @_;
2125 48058 100       74907 &euc2euc( *s, $option ) if $option;
2126 48058         45807 local ($n) = 0;
2127 48058         85641 $s =~ s/($re_euc_c|$re_euc_kana|$re_euc_0212)/$n++, &e2s($1)/geo;
  47312         55454  
2128 48058         58363 $n;
2129             }
2130              
2131             #---------------------------------------------------------------------
2132             # e2s — convert a single EUC-JP character (2 or 3 bytes) to SJIS.
2133             # Handles SS2 (0x8e, half kana) and SS3 (0x8f, JIS X0212->undef_sjis).
2134             # Uses %Ken_Lunde_CJKV_AppA_euc2sjis* lookup tables.
2135             # Results are cached in %e2s when $cache is true.
2136             #---------------------------------------------------------------------
2137             sub e2s {
2138 103144     103144   129980 local ($code) = @_;
2139 103144         142477 local ( $c1, $c2 ) = unpack( 'CC', $code );
2140 103144 50       418913 if ( $code =~ /^$re_ascii/ ) {
    100          
    100          
    50          
    50          
2141 0         0 return $code;
2142             }
2143             elsif ($e2s{$code}) {
2144 154         309 return $e2s{$code};
2145             }
2146             elsif ( $c1 == 0x8e ) { # SS2
2147 488         921 return substr( $code, 1, 1 );
2148             }
2149             elsif ( $c1 == 0x8f ) { # SS3
2150 0         0 return $undef_sjis;
2151             }
2152             elsif ( $Ken_Lunde_CJKV_AppA_euc2sjis1st{$c1} ) {
2153 102502 100       130464 if ($c1 & 0x01) {
2154 56177         57646 $c1 = $Ken_Lunde_CJKV_AppA_euc2sjis1st {$c1};
2155 56177         65816 $c2 = $Ken_Lunde_CJKV_AppA_euc2sjis2nd_odd{$c2};
2156             }
2157             else {
2158 46325         48221 $c1 = $Ken_Lunde_CJKV_AppA_euc2sjis1st {$c1};
2159 46325         55324 $c2 = $Ken_Lunde_CJKV_AppA_euc2sjis2nd_even{$c2};
2160             }
2161 102502 50       106723 if ($cache) {
2162 102502         340128 return $e2s{$code} = pack( 'CC', $c1, $c2 );
2163             }
2164             else {
2165 0         0 return pack( 'CC', $c1, $c2 );
2166             }
2167             }
2168             }
2169              
2170             #---------------------------------------------------------------------
2171             # UTF-8 to JIS
2172             #---------------------------------------------------------------------
2173             sub utf82jis {
2174 45234     45234   82118 local ( *u, $option ) = @_;
2175 45234 100       91771 &utf82utf8( *u, $option ) if $option;
2176 45234         48974 local ($n) = 0;
2177 45234         175060 $u =~ s/(($re_ascii)+|($re_utf8_kana)+|($re_utf8_c)+)/&_utf82jis($1)/geo;
  45156         63520  
2178 45234         57504 $u .= $esc_asc;
2179 45234         57115 $n;
2180             }
2181              
2182             #---------------------------------------------------------------------
2183             # _utf82jis — inner converter called by utf82jis().
2184             # Dispatches a matched run to the appropriate JIS escape sequence:
2185             # ASCII run -> ESC ( B + as-is
2186             # UTF-8 kana -> ESC ( I via %u2k table + tr to 0x21-0x7e
2187             # UTF-8 DBCS -> ESC $ B via u2e() + tr to 0x21-0x7e
2188             #---------------------------------------------------------------------
2189             sub _utf82jis {
2190 45156     45156   72140 local ($u) = @_;
2191 45156 100       116875 if ( $u =~ /^$re_ascii/o ) {
    100          
2192 720         1769 $esc_asc . $u;
2193             }
2194             elsif ( $u =~ /^$re_utf8_kana/o ) {
2195 448 100       751 &init_u2k unless %u2k;
2196 448         1864 $u =~ s/($re_utf8_kana)/$n++, $u2k{$1}/geo;
  500         1144  
2197 448         657 $u =~ tr/\xa1-\xfe/\x21-\x7e/;
2198 448         979 $esc_kana . $u;
2199             }
2200             else {
2201 43988   66     93369 $u =~ s/($re_utf8_c)/$n++, ($u2e{$1}||&u2e($1))/geo;
  43988         111192  
2202 43988         68006 $u =~ tr/\xa1-\xfe/\x21-\x7e/;
2203 43988         100766 $esc_0208 . $u;
2204             }
2205             }
2206              
2207             #---------------------------------------------------------------------
2208             # UTF-8 to EUC-JP
2209             #---------------------------------------------------------------------
2210             # utf82euc — convert UTF-8 string to EUC-JP in-place (*u).
2211             # Calls utf82utf8() first when $option is set (h2z/z2h pre-processing).
2212             # Returns count of converted multibyte characters.
2213             #---------------------------------------------------------------------
2214             sub utf82euc {
2215 45234     45234   81176 local ( *u, $option ) = @_;
2216 45234 100       88923 &utf82utf8( *u, $option ) if $option;
2217 45234         47710 local ($n) = 0;
2218 45234         107939 $u =~ s/($re_utf8_kana|$re_utf8_not_kana)/$n++, &_utf82euc($1)/geo;
  44488         63816  
2219 45234         61498 $n;
2220             }
2221              
2222             #---------------------------------------------------------------------
2223             # _utf82euc — inner byte-level UTF-8 to EUC-JP converter.
2224             # UTF-8 kana -> SS2 (0x8e) + u2k byte via %u2k
2225             # Other UTF-8 -> u2e() lookup
2226             #---------------------------------------------------------------------
2227             sub _utf82euc {
2228 44488     44488   66986 local ($u) = @_;
2229 44488 100       83372 if ( $u =~ /^$re_utf8_kana/o ) {
2230 500 100       752 &init_u2k unless %u2k;
2231 500         1821 $u =~ s/($re_utf8_kana)/"\x8e".$u2k{$1}/geo;
  500         989  
2232             }
2233             else {
2234 43988 100       91631 $u =~ s/($re_utf8_not_kana)/$u2e{$1}||&u2e($1)/geo;
  43988         99584  
2235             }
2236 44488         92220 $u;
2237             }
2238              
2239             #---------------------------------------------------------------------
2240             # u2e — convert a single UTF-8 character to EUC-JP.
2241             # Chains: UTF-8 -> SJIS (u2s/u2s cache) -> EUC (s2e/s2e cache).
2242             # Result is cached in %u2e when $cache is true.
2243             #---------------------------------------------------------------------
2244             sub u2e {
2245 87822     87822   122856 local ($code) = @_;
2246 87822 50       107369 if ($cache) {
2247             $u2e{$code} =
2248             ( $s2e{ $u2s{$code} || &u2s($code) }
2249 87822   33     177575 || &s2e( $u2s{$code} || &u2s($code) ) );
2250             }
2251             else {
2252             $s2e{ $u2s{$code} || &u2s($code) }
2253 0 0 0     0 || &s2e( $u2s{$code} || &u2s($code) );
      0        
2254             }
2255             }
2256              
2257             #---------------------------------------------------------------------
2258             # UTF-8 to SJIS
2259             #---------------------------------------------------------------------
2260             # utf82sjis — convert UTF-8 string to SJIS in-place (*u).
2261             # Calls utf82utf8() first when $option is set (h2z/z2h pre-processing).
2262             # Returns count of converted multibyte characters.
2263             #---------------------------------------------------------------------
2264             sub utf82sjis {
2265 45234     45234   76225 local ( *u, $option ) = @_;
2266 45234 100       85067 &utf82utf8( *u, $option ) if $option;
2267 45234         47529 local ($n) = 0;
2268 45234         92384 $u =~ s/($re_utf8_c)/$n++, &u2s($1)/geo;
  44488         61601  
2269 45234         60245 $n;
2270             }
2271              
2272             #---------------------------------------------------------------------
2273             # u2s — convert a single UTF-8 character to SJIS.
2274             # Lookup order: %u2s cache -> %JP170559 -> %utf82sjis_1 -> %utf82sjis_2
2275             # -> $undef_sjis. JP170559 covers vendor-specific / NTT DoCoMo mappings.
2276             # Results are cached in %u2s when $cache is true.
2277             #---------------------------------------------------------------------
2278             sub u2s {
2279 132310     132310   126603 local ($utf8);
2280 132310         165314 local ($code) = @_;
2281 132310 100       183184 &init_utf82sjis unless %utf82sjis_1;
2282 132310         260858 $utf8 = unpack( 'H*', $code );
2283 132310 100       436230 if ($u2s{$code}) {
    100          
    100          
    50          
2284 203         422 $u2s{$code};
2285             }
2286             elsif ( defined $JP170559{$utf8} ) {
2287 7128 50       10860 if ($cache) {
2288 7128         37963 $u2s{$code} = pack( 'H*', $JP170559{$utf8} );
2289             }
2290             else {
2291 0         0 pack( 'H*', $JP170559{$utf8} );
2292             }
2293             }
2294             elsif ( defined $utf82sjis_1{$utf8} ) {
2295 63959 50       80158 if ($cache) {
2296 63959         332698 $u2s{$code} = pack( 'H*', $utf82sjis_1{$utf8} );
2297             }
2298             else {
2299 0         0 pack( 'H*', $utf82sjis_1{$utf8} );
2300             }
2301             }
2302             elsif ( defined $utf82sjis_2{$utf8} ) {
2303 61020 50       74606 if ($cache) {
2304 61020         314638 $u2s{$code} = pack( 'H*', $utf82sjis_2{$utf8} );
2305             }
2306             else {
2307 0         0 pack( 'H*', $utf82sjis_2{$utf8} );
2308             }
2309             }
2310             else {
2311 0         0 $undef_sjis;
2312             }
2313             }
2314              
2315             #---------------------------------------------------------------------
2316             # JIS to UTF-8
2317             #---------------------------------------------------------------------
2318             sub jis2utf8 {
2319 48058     48058   59926 local ( *u, $option ) = @_;
2320 48058 100       79787 &jis2jis( *u, $option ) if $option;
2321 48058         46825 local ($n) = 0;
2322 48058         118639 $u =~ s/($re_esc_jp|$re_esc_asc|$re_esc_kana)([^\e]*)/&_jis2utf8($1,$2)/geo;
  96038         113084  
2323 48058         61348 $n;
2324             }
2325              
2326             #---------------------------------------------------------------------
2327             # _jis2utf8 — inner converter called by jis2utf8().
2328             # Maps each JIS escape-sequence run to UTF-8:
2329             # ESC ( B/J -> ASCII passthrough
2330             # ESC ( I -> half-width kana via %k2u
2331             # ESC $ ( D -> JIS X0212: replace with $undef_utf8
2332             # ESC $ @/B -> DBCS: tr to EUC range then e2u()
2333             #---------------------------------------------------------------------
2334             sub _jis2utf8 {
2335 96038     96038   158660 local ( $esc, $s ) = @_;
2336 96038 100       181877 if ( $esc =~ /^$re_esc_asc/o ) {
    100          
    50          
2337             }
2338             elsif ( $esc =~ /^$re_esc_kana/o ) {
2339 462 100       615 &init_k2u unless %k2u;
2340 462         465 $s =~ tr/\x21-\x7e/\xa1-\xfe/;
2341 462         758 $s =~ s/([\x00-\xff])/$n++, $k2u{$1}/ge;
  488         883  
2342             }
2343             elsif ( $esc =~ /^$re_esc_jis0212/o ) {
2344 0         0 $s =~ s/[\x00-\xff][\x00-\xff]/$n++, $undef_utf8/ge;
  0         0  
2345             }
2346             else {
2347 46798         51282 $s =~ tr/\x21-\x7e/\xa1-\xfe/;
2348 46798   66     81032 $s =~ s/($re_euc_c)/$n++, ($e2u{$1}||&e2u($1))/geo;
  46798         95637  
2349             }
2350 96038         208671 $s;
2351             }
2352              
2353             #---------------------------------------------------------------------
2354             # EUC-JP to UTF-8
2355             #---------------------------------------------------------------------
2356             # euc2utf8 — convert EUC-JP string to UTF-8 in-place (*u).
2357             # Calls euc2euc() first when $option is set (h2z/z2h pre-processing).
2358             # Returns count of converted multibyte characters.
2359             #---------------------------------------------------------------------
2360             sub euc2utf8 {
2361 48058     48058   59409 local ( *u, $option ) = @_;
2362 48058 100       78864 &euc2euc( *u, $option ) if $option;
2363 48058         47313 local ($n) = 0;
2364 48058         92968 $u =~ s/($re_euc_c|$re_euc_kana|$re_euc_0212)/$n++, &_euc2utf8($1)/geo;
  47312         57909  
2365 48058         59455 $n;
2366             }
2367              
2368             #---------------------------------------------------------------------
2369             # _euc2utf8 — inner byte-level EUC-JP to UTF-8 converter.
2370             # EUC 0212 (SS3) -> $undef_utf8 (no mapping)
2371             # EUC kana (SS2) -> half-width kana via %k2u
2372             # EUC DBCS -> e2u() lookup
2373             #---------------------------------------------------------------------
2374             sub _euc2utf8 {
2375 47312     47312   65426 local ($s) = @_;
2376 47312 50       77313 if ( $s =~ /^$re_euc_0212/o ) {
    100          
2377 0         0 $s =~ s/[\x00-\xff][\x00-\xff]/$undef_utf8/g;
2378             }
2379             elsif ( $s =~ /^$re_euc_kana/o ) {
2380 488 100       611 &init_k2u unless %k2u;
2381 488         755 $s =~ s/\x8e([\x00-\xff])/$k2u{$1}/ge;
  488         784  
2382             }
2383             else {
2384 46824 100       81304 $s =~ s/($re_euc_c)/$e2u{$1}||&e2u($1)/geo;
  46824         87786  
2385             }
2386 47312         86240 $s;
2387             }
2388              
2389             #---------------------------------------------------------------------
2390             # e2u — convert a single EUC-JP character to UTF-8.
2391             # Converts EUC byte pair to SJIS via arithmetic, then looks up
2392             # %sjis2utf8_1 / %sjis2utf8_2. Result cached in %e2u when $cache.
2393             #---------------------------------------------------------------------
2394             sub e2u {
2395 93454     93454   97957 local ( $c1, $c2, $euc, $sjis );
2396 93454         162358 ( $c1, $c2 ) = unpack( 'CC', $euc = shift );
2397 93454 100       122787 if ( $c1 % 2 ) {
2398 47129 100       62196 $c1 = ( $c1 >> 1 ) + ( $c1 < 0xdf ? 0x31 : 0x71 );
2399 47129         47225 $c2 -= 0x60 + ( $c2 < 0xe0 );
2400             }
2401             else {
2402 46325 100       62023 $c1 = ( $c1 >> 1 ) + ( $c1 < 0xdf ? 0x30 : 0x70 );
2403 46325         44054 $c2 -= 2;
2404             }
2405 93454 100       120057 &init_sjis2utf8 unless %sjis2utf8_1;
2406 93454         161203 $sjis = unpack( 'H*', pack( 'CC', $c1, $c2 ) );
2407 93454 100       170765 if ( defined $sjis2utf8_1{$sjis} ) {
    100          
2408 42638 50       46806 if ($cache) {
2409 42638         173671 $e2u{$euc} = pack( 'H*', $sjis2utf8_1{$sjis} );
2410             }
2411             else {
2412 0         0 pack( 'H*', $sjis2utf8_1{$sjis} );
2413             }
2414             }
2415             elsif ( defined $sjis2utf8_2{$sjis} ) {
2416 40680 50       46141 if ($cache) {
2417 40680         168535 $e2u{$euc} = pack( 'H*', $sjis2utf8_2{$sjis} );
2418             }
2419             else {
2420 0         0 pack( 'H*', $sjis2utf8_2{$sjis} );
2421             }
2422             }
2423             else {
2424 10136         22757 $undef_utf8;
2425             }
2426             }
2427              
2428             #---------------------------------------------------------------------
2429             # SJIS to UTF-8
2430             #---------------------------------------------------------------------
2431             # sjis2utf8 — convert SJIS string to UTF-8 in-place (*s).
2432             # Calls sjis2sjis() first when $option is set (h2z/z2h pre-processing).
2433             # Returns count of converted multibyte characters.
2434             #---------------------------------------------------------------------
2435             sub sjis2utf8 {
2436 68892     68892   73652 local ( *s, $option ) = @_;
2437 68892 100       103852 &sjis2sjis( *s, $option ) if $option;
2438 68892         63284 local ($n) = 0;
2439 68892         109901 $s =~ s/($re_sjis_c|$re_sjis_kana)/$n++, &s2u($1)/geo;
  68150         77258  
2440 68892         82753 $n;
2441             }
2442              
2443             #---------------------------------------------------------------------
2444             # s2u — convert a single SJIS character to UTF-8.
2445             # Lookup order: %s2u cache -> %k2u (half kana) -> %sjis2utf8_1
2446             # -> %sjis2utf8_2 -> $undef_utf8.
2447             # Results are cached in %s2u when $cache is true.
2448             #---------------------------------------------------------------------
2449             sub s2u {
2450 68150     68150   58732 local ($sjis);
2451 68150         82630 local ($code) = @_;
2452 68150 100       83600 &init_k2u unless %k2u;
2453 68150 100       79833 &init_sjis2utf8 unless %sjis2utf8_1;
2454 68150         87323 $sjis = unpack( 'H*', $code );
2455 68150 100       158335 if ($s2u{$code}) {
    100          
    100          
    100          
2456 14         24 $s2u{$code};
2457             }
2458             elsif ($k2u{$code}) {
2459 488         893 $k2u{$code};
2460             }
2461             elsif ( defined $sjis2utf8_1{$sjis} ) {
2462 21400 50       22083 if ($cache) {
2463 21400         63389 $s2u{$code} = pack( 'H*', $sjis2utf8_1{$sjis} );
2464             }
2465             else {
2466 0         0 pack( 'H*', $sjis2utf8_1{$sjis} );
2467             }
2468             }
2469             elsif ( defined $sjis2utf8_2{$sjis} ) {
2470 24912 50       27736 if ($cache) {
2471 24912         82868 $s2u{$code} = pack( 'H*', $sjis2utf8_2{$sjis} );
2472             }
2473             else {
2474 0         0 pack( 'H*', $sjis2utf8_2{$sjis} );
2475             }
2476             }
2477             else {
2478 21336         31346 $undef_utf8;
2479             }
2480             }
2481              
2482             #---------------------------------------------------------------------
2483             # Identity converters — normalize escape sequences and apply h2z/z2h.
2484             #
2485             # jis2jis: normalizes JIS escape sequences to current $esc_0208/$esc_asc
2486             # and applies h2z_jis/z2h_jis when $option is 'z'/'h'.
2487             # sjis2sjis: applies h2z_sjis/z2h_sjis when $option is 'z'/'h'.
2488             # euc2euc: applies h2z_euc/z2h_euc when $option is 'z'/'h'.
2489             # utf82utf8: applies h2z_utf8/z2h_utf8 when $option is 'z'/'h'.
2490             #
2491             # All return 0 (no characters converted by the identity step itself).
2492             #---------------------------------------------------------------------
2493             sub jis2jis {
2494 144106     144106   160749 local ( *s, $option ) = @_;
2495 144106         139330 local ($n) = 0;
2496 144106         432839 $s =~ s/$re_esc_jis0208/$esc_0208/go;
2497 144106         278581 $s =~ s/$re_esc_asc/$esc_asc/go;
2498 144106 100       195453 if ( defined $option ) {
2499 144072 100       231633 if ( $option =~ /z/ ) {
    100          
2500 64032         76995 &h2z_jis(*s);
2501             }
2502             elsif ( $option =~ /h/ ) {
2503 64032         76722 &z2h_jis(*s);
2504             }
2505             }
2506 144106         151172 $n;
2507             }
2508              
2509             #---------------------------------------------------------------------
2510             # sjis2sjis — SJIS identity conversion (applies h2z/z2h if $option set).
2511             #---------------------------------------------------------------------
2512             sub sjis2sjis {
2513 206602     206602   218675 local ( *s, $option ) = @_;
2514 206602         191587 local ($n) = 0;
2515 206602 100       243008 if ( defined $option ) {
2516 206568 100       341309 if ( $option =~ /z/ ) {
    100          
2517 91808         102863 &h2z_sjis(*s);
2518             }
2519             elsif ( $option =~ /h/ ) {
2520 91808         106026 &z2h_sjis(*s);
2521             }
2522             }
2523 206602         208273 $n;
2524             }
2525              
2526             #---------------------------------------------------------------------
2527             # euc2euc — EUC-JP identity conversion (applies h2z/z2h if $option set).
2528             #---------------------------------------------------------------------
2529             sub euc2euc {
2530 144106     144106   157264 local ( *s, $option ) = @_;
2531 144106         136756 local ($n) = 0;
2532 144106 100       172609 if ( defined $option ) {
2533 144072 100       241270 if ( $option =~ /z/ ) {
    100          
2534 64032         74026 &h2z_euc(*s);
2535             }
2536             elsif ( $option =~ /h/ ) {
2537 64032         74592 &z2h_euc(*s);
2538             }
2539             }
2540 144106         146302 $n;
2541             }
2542              
2543             #---------------------------------------------------------------------
2544             # utf82utf8 — UTF-8 identity conversion (applies h2z/z2h if $option set).
2545             #---------------------------------------------------------------------
2546             sub utf82utf8 {
2547 135498     135498   182092 local ( *s, $option ) = @_;
2548 135498         151556 local ($n) = 0;
2549 135498 100       187947 if ( defined $option ) {
2550 135396 100       279862 if ( $option =~ /z/ ) {
    100          
2551 60176         86107 &h2z_utf8(*s);
2552             }
2553             elsif ( $option =~ /h/ ) {
2554 60176         81903 &z2h_utf8(*s);
2555             }
2556             }
2557 135498         153687 $n;
2558             }
2559              
2560             #---------------------------------------------------------------------
2561             # Cache control subroutines
2562             #---------------------------------------------------------------------
2563             # cache — enable conversion cache; returns previous setting.
2564             #---------------------------------------------------------------------
2565             sub cache {
2566 0     0   0 local ($previous) = $cache;
2567 0         0 $cache = 1;
2568 0         0 $previous;
2569             }
2570              
2571             #---------------------------------------------------------------------
2572             # nocache — disable conversion cache; returns previous setting.
2573             #---------------------------------------------------------------------
2574             sub nocache {
2575 0     0   0 local ($previous) = $cache;
2576 0         0 $cache = 0;
2577 0         0 $previous;
2578             }
2579              
2580             #---------------------------------------------------------------------
2581             # flush — alias for flushcache() (kept for jcode.pl compatibility).
2582             #---------------------------------------------------------------------
2583             sub flush {
2584 0     0   0 &flushcache();
2585             }
2586              
2587             #---------------------------------------------------------------------
2588             # flushcache — clear all conversion caches (%e2s, %s2e, %e2u, %u2e,
2589             # %s2u, %u2s). Call after changing conversion direction.
2590             #---------------------------------------------------------------------
2591             sub flushcache {
2592 0     0   0 undef %e2s;
2593 0         0 undef %s2e;
2594 0         0 undef %e2u;
2595 0         0 undef %u2e;
2596 0         0 undef %s2u;
2597 0         0 undef %u2s;
2598             }
2599              
2600             #---------------------------------------------------------------------
2601             # JIS X0201 -> JIS X0208 KANA conversion routines
2602             #---------------------------------------------------------------------
2603             sub h2z_jis {
2604 64032     64032   70611 local ( *s, $n ) = @_;
2605 64032 100       92923 if ( $s =~ s/$re_esc_kana([^\e]*)/$esc_0208 . &_h2z_jis($1)/geo ) {
  504         671  
2606 504         1902 1 while $s =~ s/(($re_esc_jis0208)[^\e]*)($re_esc_jis0208)/$1/o;
2607             }
2608 64032         69973 $n;
2609             }
2610              
2611             #---------------------------------------------------------------------
2612             # _h2z_jis — inner half->full kana converter for JIS strings.
2613             # Processes one token at a time; handles voiced/semi-voiced compounds.
2614             #---------------------------------------------------------------------
2615             sub _h2z_jis {
2616 504     504   655 local ($s) = @_;
2617 504         910 $s =~ s/(([\x21-\x5f])([\x5e\x5f])?)/
2618 504   33     1357 $n++, ($h2z{$1} || $h2z{$2} . $h2z{$3})
2619             /ge;
2620 504         1206 $s;
2621             }
2622              
2623             # Ad hoc patch for reduce waring on h2z_euc
2624             # http://white.niu.ne.jp/yapw/yapw.cgi/jcode.pl%A4%CE%A5%A8%A5%E9%A1%BC%CD%DE%C0%A9
2625             # by NAKATA Yoshinori
2626              
2627             #---------------------------------------------------------------------
2628             # h2z_euc — convert half-width kana to full-width in EUC-JP string.
2629             # Handles voiced (dakuten) and semi-voiced (handakuten) compounds.
2630             #---------------------------------------------------------------------
2631             sub h2z_euc {
2632 64032     64032   66462 local ( *s, $n ) = @_;
2633 64032         69005 $s =~ s/\x8e([\xa1-\xdf])(\x8e([\xde\xdf]))?/
2634 504 50 0     1168 ($n++, defined($3) ? ($h2z{"$1$3"} || $h2z{$1} . $h2z{$3}) : $h2z{$1})
2635             /ge;
2636 64032         67151 $n;
2637             }
2638              
2639             #---------------------------------------------------------------------
2640             # h2z_sjis — convert half-width kana to full-width in SJIS string.
2641             # Handles voiced/semi-voiced compounds; uses e2s() for DBCS output.
2642             #---------------------------------------------------------------------
2643             sub h2z_sjis {
2644 91808     91808   91932 local ( *s, $n ) = @_;
2645 91808         200195 $s =~ s/(($re_sjis_c)+)|(([\xa1-\xdf])([\xde\xdf])?)/
2646             $1 || ($n++, $h2z{$3} ? $e2s{$h2z{$3}} || &e2s($h2z{$3})
2647 90744 50 33     192849 : &e2s($h2z{$4}) . ($5 && &e2s($h2z{$5})))
    100 0        
2648             /geo;
2649 91808         107800 $n;
2650             }
2651              
2652             #---------------------------------------------------------------------
2653             # h2z_utf8 — convert half-width kana to full-width in UTF-8 string.
2654             # Lazily initializes %h2z_utf8 on first call via init_h2z_utf8().
2655             #---------------------------------------------------------------------
2656             sub h2z_utf8 {
2657 60176     60176   72592 local ( *s, $n ) = @_;
2658 60176 100       88065 &init_h2z_utf8 unless %h2z_utf8;
2659 60176         183064 $s =~
2660 59112 100       165474 s/($re_utf8_voiced_kana|$re_utf8_c)/$h2z_utf8{$1} ? ($n++, $h2z_utf8{$1}) : $1/geo;
2661 60176         84627 $n;
2662             }
2663              
2664             #---------------------------------------------------------------------
2665             # JIS X0208 -> JIS X0201 KANA conversion routines
2666             #---------------------------------------------------------------------
2667             sub z2h_jis {
2668 64032     64032   69530 local ( *s, $n ) = @_;
2669 64032         122422 $s =~ s/($re_esc_jis0208)([^\e]+)/&_z2h_jis($2)/geo;
  62464         73347  
2670 64032         74520 $n;
2671             }
2672              
2673             #---------------------------------------------------------------------
2674             # _z2h_jis — inner full->half kana dispatcher for JIS strings.
2675             #---------------------------------------------------------------------
2676             sub _z2h_jis {
2677 62464     62464   86300 local ($s) = @_;
2678 62464         137142 $s =~ s/((\%[!-~]|![\#\"&VW+,<])+|([^!%][!-~]|![^\#\"&VW+,<])+)/
2679 62464         72102 &__z2h_jis($1)
2680             /ge;
2681 62464         103031 $s;
2682             }
2683              
2684             #---------------------------------------------------------------------
2685             # __z2h_jis — innermost full->half kana emitter for JIS strings.
2686             # Returns ESC ( I + half-kana bytes, or ESC $ B + original if no mapping.
2687             #---------------------------------------------------------------------
2688             sub __z2h_jis {
2689 62464     62464   75564 local ($s) = @_;
2690 62464 100 100     203810 return $esc_0208 . $s unless $s =~ /^%/ || $s =~ /^![\#\"&VW+,<]/;
2691 816         1099 $n += length($s) / 2;
2692 816         1177 local ($^W);
2693 816         2111 $s =~ s/([\x00-\xff][\x00-\xff])/$z2h{$1}/g;
2694 816         1743 $esc_kana . $s;
2695             }
2696              
2697             #---------------------------------------------------------------------
2698             # z2h_euc — convert full-width kana to half-width in EUC-JP string.
2699             # Lazily initializes %z2h_euc on first call via init_z2h_euc().
2700             #---------------------------------------------------------------------
2701             sub z2h_euc {
2702 64032     64032   66110 local ( *s, $n ) = @_;
2703 64032 100       78151 &init_z2h_euc unless %z2h_euc;
2704 64032         124166 $s =~ s/($re_euc_c|$re_euc_kana)/
2705 62968 100       132275 $z2h_euc{$1} ? ($n++, $z2h_euc{$1}) : $1
2706             /geo;
2707 64032         76603 $n;
2708             }
2709              
2710             #---------------------------------------------------------------------
2711             # z2h_sjis — convert full-width kana to half-width in SJIS string.
2712             # Lazily initializes %z2h_sjis on first call via init_z2h_sjis().
2713             #---------------------------------------------------------------------
2714             sub z2h_sjis {
2715 91808     91808   93344 local ( *s, $n ) = @_;
2716 91808 100       111348 &init_z2h_sjis unless %z2h_sjis;
2717 91808 100       173754 $s =~ s/($re_sjis_c)/$z2h_sjis{$1} ? ($n++, $z2h_sjis{$1}) : $1/geo;
  90240         185950  
2718 91808         112065 $n;
2719             }
2720              
2721             #---------------------------------------------------------------------
2722             # z2h_utf8 — convert full-width kana to half-width in UTF-8 string.
2723             # Lazily initializes %z2h_utf8 on first call via init_z2h_utf8().
2724             #---------------------------------------------------------------------
2725             sub z2h_utf8 {
2726 60176     60176   71048 local ( *s, $n ) = @_;
2727 60176 100       86505 &init_z2h_utf8 unless %z2h_utf8;
2728 60176 100       161618 $s =~ s/($re_utf8_c)/$z2h_utf8{$1} ? ($n++, $z2h_utf8{$1}) : $1/geo;
  59112         160573  
2729 60176         84351 $n;
2730             }
2731              
2732             #
2733             # Initializing JIS X0208 to JIS X0201 KANA table for EUC-JP and SJIS
2734             # and UTF-8
2735             # This can be done in &init but it's not worth doing. Similarly,
2736             # precalculated table is not worth to occupy the file space and
2737             # reduce the readability. The author personnaly discourages to use
2738             # JIS X0201 Kana character in the any situation.
2739             #
2740              
2741             #---------------------------------------------------------------------
2742             sub init_z2h_euc {
2743 72     72   90 local ( $k, $s );
2744 72         331 while ( ( $k, $s ) = each %z2h ) {
2745 12816 100       34826 $s =~ s/([\xa1-\xdf])/\x8e$1/g && ( $z2h_euc{$k} = $s );
2746             }
2747             }
2748              
2749             #---------------------------------------------------------------------
2750             sub init_z2h_sjis {
2751 96     96   119 local ( $s, $v );
2752 96         356 while ( ( $s, $v ) = each %z2h ) {
2753 17088 100       32499 $s =~ /[\x80-\xff]/ && ( $z2h_sjis{ &e2s($s) } = $v );
2754             }
2755             }
2756              
2757             %_z2h_utf8 = split( /\s+/, <<'END' );
2758             e38082 efbda1
2759             e3808c efbda2
2760             e3808d efbda3
2761             e38081 efbda4
2762             e383bb efbda5
2763             e383b2 efbda6
2764             e382a1 efbda7
2765             e382a3 efbda8
2766             e382a5 efbda9
2767             e382a7 efbdaa
2768             e382a9 efbdab
2769             e383a3 efbdac
2770             e383a5 efbdad
2771             e383a7 efbdae
2772             e38383 efbdaf
2773             e383bc efbdb0
2774             e382a2 efbdb1
2775             e382a4 efbdb2
2776             e382a6 efbdb3
2777             e382a8 efbdb4
2778             e382aa efbdb5
2779             e382ab efbdb6
2780             e382ad efbdb7
2781             e382af efbdb8
2782             e382b1 efbdb9
2783             e382b3 efbdba
2784             e382b5 efbdbb
2785             e382b7 efbdbc
2786             e382b9 efbdbd
2787             e382bb efbdbe
2788             e382bd efbdbf
2789             e382bf efbe80
2790             e38381 efbe81
2791             e38384 efbe82
2792             e38386 efbe83
2793             e38388 efbe84
2794             e3838a efbe85
2795             e3838b efbe86
2796             e3838c efbe87
2797             e3838d efbe88
2798             e3838e efbe89
2799             e3838f efbe8a
2800             e38392 efbe8b
2801             e38395 efbe8c
2802             e38398 efbe8d
2803             e3839b efbe8e
2804             e3839e efbe8f
2805             e3839f efbe90
2806             e383a0 efbe91
2807             e383a1 efbe92
2808             e383a2 efbe93
2809             e383a4 efbe94
2810             e383a6 efbe95
2811             e383a8 efbe96
2812             e383a9 efbe97
2813             e383aa efbe98
2814             e383ab efbe99
2815             e383ac efbe9a
2816             e383ad efbe9b
2817             e383af efbe9c
2818             e383b3 efbe9d
2819             e3829b efbe9e
2820             e3829c efbe9f
2821             e383b4 efbdb3efbe9e
2822             e382ac efbdb6efbe9e
2823             e382ae efbdb7efbe9e
2824             e382b0 efbdb8efbe9e
2825             e382b2 efbdb9efbe9e
2826             e382b4 efbdbaefbe9e
2827             e382b6 efbdbbefbe9e
2828             e382b8 efbdbcefbe9e
2829             e382ba efbdbdefbe9e
2830             e382bc efbdbeefbe9e
2831             e382be efbdbfefbe9e
2832             e38380 efbe80efbe9e
2833             e38382 efbe81efbe9e
2834             e38385 efbe82efbe9e
2835             e38387 efbe83efbe9e
2836             e38389 efbe84efbe9e
2837             e38390 efbe8aefbe9e
2838             e38393 efbe8befbe9e
2839             e38396 efbe8cefbe9e
2840             e38399 efbe8defbe9e
2841             e3839c efbe8eefbe9e
2842             e38391 efbe8aefbe9f
2843             e38394 efbe8befbe9f
2844             e38397 efbe8cefbe9f
2845             e3839a efbe8defbe9f
2846             e3839d efbe8eefbe9f
2847             END
2848              
2849             if ( scalar(keys %_z2h_utf8) != 89 ) {
2850             die "scalar(keys %_z2h_utf8) is ", scalar(keys %_z2h_utf8), ".";
2851             }
2852              
2853             #---------------------------------------------------------------------
2854             sub init_z2h_utf8 {
2855 64 50   64   134 if (%h2z_utf8) {
2856 0         0 %z2h_utf8 = reverse %h2z_utf8;
2857 0 0       0 if ( scalar( keys %z2h_utf8 ) != scalar( keys %h2z_utf8 ) ) {
2858 0         0 die "scalar(keys %z2h_utf8) != scalar(keys %h2z_utf8).";
2859             }
2860             }
2861             else {
2862 64         89 local ( $z, $h );
2863 64         209 while ( ( $z, $h ) = each %_z2h_utf8 ) {
2864 5696         14004 $z2h_utf8{ pack( 'H*', $z ) } = pack( 'H*', $h );
2865             }
2866             }
2867             }
2868              
2869             #---------------------------------------------------------------------
2870             sub init_h2z_utf8 {
2871 64 50   64   154 if (%z2h_utf8) {
2872 0         0 %h2z_utf8 = reverse %z2h_utf8;
2873 0 0       0 if ( scalar( keys %h2z_utf8 ) != scalar( keys %z2h_utf8 ) ) {
2874 0         0 die "scalar(keys %h2z_utf8) != scalar(keys %z2h_utf8).";
2875             }
2876             }
2877             else {
2878 64         86 local ( $z, $h );
2879 64         238 while ( ( $z, $h ) = each %_z2h_utf8 ) {
2880 5696         13817 $h2z_utf8{ pack( 'H*', $h ) } = pack( 'H*', $z );
2881             }
2882             }
2883             }
2884              
2885             # http://unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT
2886             #
2887             # Name: cp932 to Unicode table
2888             # Unicode version: 2.0
2889             # Table version: 2.01
2890             # Table format: Format A
2891             # Date: 04/15/98
2892             #
2893             # Contact: Shawn.Steele@microsoft.com
2894             #
2895             # General notes: none
2896             #
2897             # Format: Three tab-separated columns
2898             # Column #1 is the cp932 code (in hex)
2899             # Column #2 is the Unicode (in hex as 0xXXXX)
2900             # Column #3 is the Unicode name (follows a comment sign, '#')
2901             #
2902             # The entries are in cp932 order
2903             #
2904              
2905             #---------------------------------------------------------------------
2906             sub init_sjis2utf8 {
2907              
2908             # (1 of 2) avoid "Allocation too large" of perl 4.036
2909              
2910 321     321   786717 %sjis2utf8_1 = split( /\s+/, <<'END' );
2911             a1 efbda1
2912             a2 efbda2
2913             a3 efbda3
2914             a4 efbda4
2915             a5 efbda5
2916             a6 efbda6
2917             a7 efbda7
2918             a8 efbda8
2919             a9 efbda9
2920             aa efbdaa
2921             ab efbdab
2922             ac efbdac
2923             ad efbdad
2924             ae efbdae
2925             af efbdaf
2926             b0 efbdb0
2927             b1 efbdb1
2928             b2 efbdb2
2929             b3 efbdb3
2930             b4 efbdb4
2931             b5 efbdb5
2932             b6 efbdb6
2933             b7 efbdb7
2934             b8 efbdb8
2935             b9 efbdb9
2936             ba efbdba
2937             bb efbdbb
2938             bc efbdbc
2939             bd efbdbd
2940             be efbdbe
2941             bf efbdbf
2942             c0 efbe80
2943             c1 efbe81
2944             c2 efbe82
2945             c3 efbe83
2946             c4 efbe84
2947             c5 efbe85
2948             c6 efbe86
2949             c7 efbe87
2950             c8 efbe88
2951             c9 efbe89
2952             ca efbe8a
2953             cb efbe8b
2954             cc efbe8c
2955             cd efbe8d
2956             ce efbe8e
2957             cf efbe8f
2958             d0 efbe90
2959             d1 efbe91
2960             d2 efbe92
2961             d3 efbe93
2962             d4 efbe94
2963             d5 efbe95
2964             d6 efbe96
2965             d7 efbe97
2966             d8 efbe98
2967             d9 efbe99
2968             da efbe9a
2969             db efbe9b
2970             dc efbe9c
2971             dd efbe9d
2972             de efbe9e
2973             df efbe9f
2974             8140 e38080
2975             8141 e38081
2976             8142 e38082
2977             8143 efbc8c
2978             8144 efbc8e
2979             8145 e383bb
2980             8146 efbc9a
2981             8147 efbc9b
2982             8148 efbc9f
2983             8149 efbc81
2984             814a e3829b
2985             814b e3829c
2986             814c c2b4
2987             814d efbd80
2988             814e c2a8
2989             814f efbcbe
2990             8150 efbfa3
2991             8151 efbcbf
2992             8152 e383bd
2993             8153 e383be
2994             8154 e3829d
2995             8155 e3829e
2996             8156 e38083
2997             8157 e4bb9d
2998             8158 e38085
2999             8159 e38086
3000             815a e38087
3001             815b e383bc
3002             815c e28095
3003             815d e28090
3004             815e efbc8f
3005             815f efbcbc
3006             8160 efbd9e
3007             8161 e288a5
3008             8162 efbd9c
3009             8163 e280a6
3010             8164 e280a5
3011             8165 e28098
3012             8166 e28099
3013             8167 e2809c
3014             8168 e2809d
3015             8169 efbc88
3016             816a efbc89
3017             816b e38094
3018             816c e38095
3019             816d efbcbb
3020             816e efbcbd
3021             816f efbd9b
3022             8170 efbd9d
3023             8171 e38088
3024             8172 e38089
3025             8173 e3808a
3026             8174 e3808b
3027             8175 e3808c
3028             8176 e3808d
3029             8177 e3808e
3030             8178 e3808f
3031             8179 e38090
3032             817a e38091
3033             817b efbc8b
3034             817c efbc8d
3035             817d c2b1
3036             817e c397
3037             8180 c3b7
3038             8181 efbc9d
3039             8182 e289a0
3040             8183 efbc9c
3041             8184 efbc9e
3042             8185 e289a6
3043             8186 e289a7
3044             8187 e2889e
3045             8188 e288b4
3046             8189 e29982
3047             818a e29980
3048             818b c2b0
3049             818c e280b2
3050             818d e280b3
3051             818e e28483
3052             818f efbfa5
3053             8190 efbc84
3054             8191 efbfa0
3055             8192 efbfa1
3056             8193 efbc85
3057             8194 efbc83
3058             8195 efbc86
3059             8196 efbc8a
3060             8197 efbca0
3061             8198 c2a7
3062             8199 e29886
3063             819a e29885
3064             819b e2978b
3065             819c e2978f
3066             819d e2978e
3067             819e e29787
3068             819f e29786
3069             81a0 e296a1
3070             81a1 e296a0
3071             81a2 e296b3
3072             81a3 e296b2
3073             81a4 e296bd
3074             81a5 e296bc
3075             81a6 e280bb
3076             81a7 e38092
3077             81a8 e28692
3078             81a9 e28690
3079             81aa e28691
3080             81ab e28693
3081             81ac e38093
3082             81b8 e28888
3083             81b9 e2888b
3084             81ba e28a86
3085             81bb e28a87
3086             81bc e28a82
3087             81bd e28a83
3088             81be e288aa
3089             81bf e288a9
3090             81c8 e288a7
3091             81c9 e288a8
3092             81ca efbfa2
3093             81cb e28792
3094             81cc e28794
3095             81cd e28880
3096             81ce e28883
3097             81da e288a0
3098             81db e28aa5
3099             81dc e28c92
3100             81dd e28882
3101             81de e28887
3102             81df e289a1
3103             81e0 e28992
3104             81e1 e289aa
3105             81e2 e289ab
3106             81e3 e2889a
3107             81e4 e288bd
3108             81e5 e2889d
3109             81e6 e288b5
3110             81e7 e288ab
3111             81e8 e288ac
3112             81f0 e284ab
3113             81f1 e280b0
3114             81f2 e299af
3115             81f3 e299ad
3116             81f4 e299aa
3117             81f5 e280a0
3118             81f6 e280a1
3119             81f7 c2b6
3120             81fc e297af
3121             824f efbc90
3122             8250 efbc91
3123             8251 efbc92
3124             8252 efbc93
3125             8253 efbc94
3126             8254 efbc95
3127             8255 efbc96
3128             8256 efbc97
3129             8257 efbc98
3130             8258 efbc99
3131             8260 efbca1
3132             8261 efbca2
3133             8262 efbca3
3134             8263 efbca4
3135             8264 efbca5
3136             8265 efbca6
3137             8266 efbca7
3138             8267 efbca8
3139             8268 efbca9
3140             8269 efbcaa
3141             826a efbcab
3142             826b efbcac
3143             826c efbcad
3144             826d efbcae
3145             826e efbcaf
3146             826f efbcb0
3147             8270 efbcb1
3148             8271 efbcb2
3149             8272 efbcb3
3150             8273 efbcb4
3151             8274 efbcb5
3152             8275 efbcb6
3153             8276 efbcb7
3154             8277 efbcb8
3155             8278 efbcb9
3156             8279 efbcba
3157             8281 efbd81
3158             8282 efbd82
3159             8283 efbd83
3160             8284 efbd84
3161             8285 efbd85
3162             8286 efbd86
3163             8287 efbd87
3164             8288 efbd88
3165             8289 efbd89
3166             828a efbd8a
3167             828b efbd8b
3168             828c efbd8c
3169             828d efbd8d
3170             828e efbd8e
3171             828f efbd8f
3172             8290 efbd90
3173             8291 efbd91
3174             8292 efbd92
3175             8293 efbd93
3176             8294 efbd94
3177             8295 efbd95
3178             8296 efbd96
3179             8297 efbd97
3180             8298 efbd98
3181             8299 efbd99
3182             829a efbd9a
3183             829f e38181
3184             82a0 e38182
3185             82a1 e38183
3186             82a2 e38184
3187             82a3 e38185
3188             82a4 e38186
3189             82a5 e38187
3190             82a6 e38188
3191             82a7 e38189
3192             82a8 e3818a
3193             82a9 e3818b
3194             82aa e3818c
3195             82ab e3818d
3196             82ac e3818e
3197             82ad e3818f
3198             82ae e38190
3199             82af e38191
3200             82b0 e38192
3201             82b1 e38193
3202             82b2 e38194
3203             82b3 e38195
3204             82b4 e38196
3205             82b5 e38197
3206             82b6 e38198
3207             82b7 e38199
3208             82b8 e3819a
3209             82b9 e3819b
3210             82ba e3819c
3211             82bb e3819d
3212             82bc e3819e
3213             82bd e3819f
3214             82be e381a0
3215             82bf e381a1
3216             82c0 e381a2
3217             82c1 e381a3
3218             82c2 e381a4
3219             82c3 e381a5
3220             82c4 e381a6
3221             82c5 e381a7
3222             82c6 e381a8
3223             82c7 e381a9
3224             82c8 e381aa
3225             82c9 e381ab
3226             82ca e381ac
3227             82cb e381ad
3228             82cc e381ae
3229             82cd e381af
3230             82ce e381b0
3231             82cf e381b1
3232             82d0 e381b2
3233             82d1 e381b3
3234             82d2 e381b4
3235             82d3 e381b5
3236             82d4 e381b6
3237             82d5 e381b7
3238             82d6 e381b8
3239             82d7 e381b9
3240             82d8 e381ba
3241             82d9 e381bb
3242             82da e381bc
3243             82db e381bd
3244             82dc e381be
3245             82dd e381bf
3246             82de e38280
3247             82df e38281
3248             82e0 e38282
3249             82e1 e38283
3250             82e2 e38284
3251             82e3 e38285
3252             82e4 e38286
3253             82e5 e38287
3254             82e6 e38288
3255             82e7 e38289
3256             82e8 e3828a
3257             82e9 e3828b
3258             82ea e3828c
3259             82eb e3828d
3260             82ec e3828e
3261             82ed e3828f
3262             82ee e38290
3263             82ef e38291
3264             82f0 e38292
3265             82f1 e38293
3266             8340 e382a1
3267             8341 e382a2
3268             8342 e382a3
3269             8343 e382a4
3270             8344 e382a5
3271             8345 e382a6
3272             8346 e382a7
3273             8347 e382a8
3274             8348 e382a9
3275             8349 e382aa
3276             834a e382ab
3277             834b e382ac
3278             834c e382ad
3279             834d e382ae
3280             834e e382af
3281             834f e382b0
3282             8350 e382b1
3283             8351 e382b2
3284             8352 e382b3
3285             8353 e382b4
3286             8354 e382b5
3287             8355 e382b6
3288             8356 e382b7
3289             8357 e382b8
3290             8358 e382b9
3291             8359 e382ba
3292             835a e382bb
3293             835b e382bc
3294             835c e382bd
3295             835d e382be
3296             835e e382bf
3297             835f e38380
3298             8360 e38381
3299             8361 e38382
3300             8362 e38383
3301             8363 e38384
3302             8364 e38385
3303             8365 e38386
3304             8366 e38387
3305             8367 e38388
3306             8368 e38389
3307             8369 e3838a
3308             836a e3838b
3309             836b e3838c
3310             836c e3838d
3311             836d e3838e
3312             836e e3838f
3313             836f e38390
3314             8370 e38391
3315             8371 e38392
3316             8372 e38393
3317             8373 e38394
3318             8374 e38395
3319             8375 e38396
3320             8376 e38397
3321             8377 e38398
3322             8378 e38399
3323             8379 e3839a
3324             837a e3839b
3325             837b e3839c
3326             837c e3839d
3327             837d e3839e
3328             837e e3839f
3329             8380 e383a0
3330             8381 e383a1
3331             8382 e383a2
3332             8383 e383a3
3333             8384 e383a4
3334             8385 e383a5
3335             8386 e383a6
3336             8387 e383a7
3337             8388 e383a8
3338             8389 e383a9
3339             838a e383aa
3340             838b e383ab
3341             838c e383ac
3342             838d e383ad
3343             838e e383ae
3344             838f e383af
3345             8390 e383b0
3346             8391 e383b1
3347             8392 e383b2
3348             8393 e383b3
3349             8394 e383b4
3350             8395 e383b5
3351             8396 e383b6
3352             839f ce91
3353             83a0 ce92
3354             83a1 ce93
3355             83a2 ce94
3356             83a3 ce95
3357             83a4 ce96
3358             83a5 ce97
3359             83a6 ce98
3360             83a7 ce99
3361             83a8 ce9a
3362             83a9 ce9b
3363             83aa ce9c
3364             83ab ce9d
3365             83ac ce9e
3366             83ad ce9f
3367             83ae cea0
3368             83af cea1
3369             83b0 cea3
3370             83b1 cea4
3371             83b2 cea5
3372             83b3 cea6
3373             83b4 cea7
3374             83b5 cea8
3375             83b6 cea9
3376             83bf ceb1
3377             83c0 ceb2
3378             83c1 ceb3
3379             83c2 ceb4
3380             83c3 ceb5
3381             83c4 ceb6
3382             83c5 ceb7
3383             83c6 ceb8
3384             83c7 ceb9
3385             83c8 ceba
3386             83c9 cebb
3387             83ca cebc
3388             83cb cebd
3389             83cc cebe
3390             83cd cebf
3391             83ce cf80
3392             83cf cf81
3393             83d0 cf83
3394             83d1 cf84
3395             83d2 cf85
3396             83d3 cf86
3397             83d4 cf87
3398             83d5 cf88
3399             83d6 cf89
3400             8440 d090
3401             8441 d091
3402             8442 d092
3403             8443 d093
3404             8444 d094
3405             8445 d095
3406             8446 d081
3407             8447 d096
3408             8448 d097
3409             8449 d098
3410             844a d099
3411             844b d09a
3412             844c d09b
3413             844d d09c
3414             844e d09d
3415             844f d09e
3416             8450 d09f
3417             8451 d0a0
3418             8452 d0a1
3419             8453 d0a2
3420             8454 d0a3
3421             8455 d0a4
3422             8456 d0a5
3423             8457 d0a6
3424             8458 d0a7
3425             8459 d0a8
3426             845a d0a9
3427             845b d0aa
3428             845c d0ab
3429             845d d0ac
3430             845e d0ad
3431             845f d0ae
3432             8460 d0af
3433             8470 d0b0
3434             8471 d0b1
3435             8472 d0b2
3436             8473 d0b3
3437             8474 d0b4
3438             8475 d0b5
3439             8476 d191
3440             8477 d0b6
3441             8478 d0b7
3442             8479 d0b8
3443             847a d0b9
3444             847b d0ba
3445             847c d0bb
3446             847d d0bc
3447             847e d0bd
3448             8480 d0be
3449             8481 d0bf
3450             8482 d180
3451             8483 d181
3452             8484 d182
3453             8485 d183
3454             8486 d184
3455             8487 d185
3456             8488 d186
3457             8489 d187
3458             848a d188
3459             848b d189
3460             848c d18a
3461             848d d18b
3462             848e d18c
3463             848f d18d
3464             8490 d18e
3465             8491 d18f
3466             849f e29480
3467             84a0 e29482
3468             84a1 e2948c
3469             84a2 e29490
3470             84a3 e29498
3471             84a4 e29494
3472             84a5 e2949c
3473             84a6 e294ac
3474             84a7 e294a4
3475             84a8 e294b4
3476             84a9 e294bc
3477             84aa e29481
3478             84ab e29483
3479             84ac e2948f
3480             84ad e29493
3481             84ae e2949b
3482             84af e29497
3483             84b0 e294a3
3484             84b1 e294b3
3485             84b2 e294ab
3486             84b3 e294bb
3487             84b4 e2958b
3488             84b5 e294a0
3489             84b6 e294af
3490             84b7 e294a8
3491             84b8 e294b7
3492             84b9 e294bf
3493             84ba e2949d
3494             84bb e294b0
3495             84bc e294a5
3496             84bd e294b8
3497             84be e29582
3498             8740 e291a0
3499             8741 e291a1
3500             8742 e291a2
3501             8743 e291a3
3502             8744 e291a4
3503             8745 e291a5
3504             8746 e291a6
3505             8747 e291a7
3506             8748 e291a8
3507             8749 e291a9
3508             874a e291aa
3509             874b e291ab
3510             874c e291ac
3511             874d e291ad
3512             874e e291ae
3513             874f e291af
3514             8750 e291b0
3515             8751 e291b1
3516             8752 e291b2
3517             8753 e291b3
3518             8754 e285a0
3519             8755 e285a1
3520             8756 e285a2
3521             8757 e285a3
3522             8758 e285a4
3523             8759 e285a5
3524             875a e285a6
3525             875b e285a7
3526             875c e285a8
3527             875d e285a9
3528             875f e38d89
3529             8760 e38c94
3530             8761 e38ca2
3531             8762 e38d8d
3532             8763 e38c98
3533             8764 e38ca7
3534             8765 e38c83
3535             8766 e38cb6
3536             8767 e38d91
3537             8768 e38d97
3538             8769 e38c8d
3539             876a e38ca6
3540             876b e38ca3
3541             876c e38cab
3542             876d e38d8a
3543             876e e38cbb
3544             876f e38e9c
3545             8770 e38e9d
3546             8771 e38e9e
3547             8772 e38e8e
3548             8773 e38e8f
3549             8774 e38f84
3550             8775 e38ea1
3551             877e e38dbb
3552             8780 e3809d
3553             8781 e3809f
3554             8782 e28496
3555             8783 e38f8d
3556             8784 e284a1
3557             8785 e38aa4
3558             8786 e38aa5
3559             8787 e38aa6
3560             8788 e38aa7
3561             8789 e38aa8
3562             878a e388b1
3563             878b e388b2
3564             878c e388b9
3565             878d e38dbe
3566             878e e38dbd
3567             878f e38dbc
3568             8790 e28992
3569             8791 e289a1
3570             8792 e288ab
3571             8793 e288ae
3572             8794 e28891
3573             8795 e2889a
3574             8796 e28aa5
3575             8797 e288a0
3576             8798 e2889f
3577             8799 e28abf
3578             879a e288b5
3579             879b e288a9
3580             879c e288aa
3581             889f e4ba9c
3582             88a0 e59496
3583             88a1 e5a883
3584             88a2 e998bf
3585             88a3 e59380
3586             88a4 e6849b
3587             88a5 e68ca8
3588             88a6 e5a7b6
3589             88a7 e980a2
3590             88a8 e891b5
3591             88a9 e88c9c
3592             88aa e7a990
3593             88ab e682aa
3594             88ac e68fa1
3595             88ad e6b8a5
3596             88ae e697ad
3597             88af e891a6
3598             88b0 e88aa6
3599             88b1 e9afb5
3600             88b2 e6a293
3601             88b3 e59ca7
3602             88b4 e696a1
3603             88b5 e689b1
3604             88b6 e5ae9b
3605             88b7 e5a790
3606             88b8 e899bb
3607             88b9 e9a3b4
3608             88ba e7b5a2
3609             88bb e7b6be
3610             88bc e9ae8e
3611             88bd e68896
3612             88be e7b29f
3613             88bf e8a2b7
3614             88c0 e5ae89
3615             88c1 e5bab5
3616             88c2 e68c89
3617             88c3 e69a97
3618             88c4 e6a188
3619             88c5 e99787
3620             88c6 e99e8d
3621             88c7 e69d8f
3622             88c8 e4bba5
3623             88c9 e4bc8a
3624             88ca e4bd8d
3625             88cb e4be9d
3626             88cc e58189
3627             88cd e59bb2
3628             88ce e5a4b7
3629             88cf e5a794
3630             88d0 e5a881
3631             88d1 e5b089
3632             88d2 e6839f
3633             88d3 e6848f
3634             88d4 e685b0
3635             88d5 e69893
3636             88d6 e6a485
3637             88d7 e782ba
3638             88d8 e7958f
3639             88d9 e795b0
3640             88da e7a7bb
3641             88db e7b6ad
3642             88dc e7b7af
3643             88dd e88383
3644             88de e8908e
3645             88df e8a1a3
3646             88e0 e8ac82
3647             88e1 e98195
3648             88e2 e981ba
3649             88e3 e58cbb
3650             88e4 e4ba95
3651             88e5 e4baa5
3652             88e6 e59f9f
3653             88e7 e882b2
3654             88e8 e98381
3655             88e9 e7a3af
3656             88ea e4b880
3657             88eb e5a3b1
3658             88ec e6baa2
3659             88ed e980b8
3660             88ee e7a8b2
3661             88ef e88ca8
3662             88f0 e88a8b
3663             88f1 e9b0af
3664             88f2 e58581
3665             88f3 e58db0
3666             88f4 e592bd
3667             88f5 e593a1
3668             88f6 e59ba0
3669             88f7 e5a7bb
3670             88f8 e5bc95
3671             88f9 e9a3b2
3672             88fa e6b7ab
3673             88fb e883a4
3674             88fc e894ad
3675             8940 e999a2
3676             8941 e999b0
3677             8942 e99aa0
3678             8943 e99fbb
3679             8944 e5908b
3680             8945 e58fb3
3681             8946 e5ae87
3682             8947 e7838f
3683             8948 e7bebd
3684             8949 e8bf82
3685             894a e99ba8
3686             894b e58daf
3687             894c e9b59c
3688             894d e7aaba
3689             894e e4b891
3690             894f e7a293
3691             8950 e887bc
3692             8951 e6b8a6
3693             8952 e59898
3694             8953 e59484
3695             8954 e6ac9d
3696             8955 e8949a
3697             8956 e9b0bb
3698             8957 e5a7a5
3699             8958 e58ea9
3700             8959 e6b5a6
3701             895a e7939c
3702             895b e9968f
3703             895c e59982
3704             895d e4ba91
3705             895e e9818b
3706             895f e99bb2
3707             8960 e88d8f
3708             8961 e9a48c
3709             8962 e58fa1
3710             8963 e596b6
3711             8964 e5acb0
3712             8965 e5bdb1
3713             8966 e698a0
3714             8967 e69bb3
3715             8968 e6a084
3716             8969 e6b0b8
3717             896a e6b3b3
3718             896b e6b4a9
3719             896c e7919b
3720             896d e79b88
3721             896e e7a98e
3722             896f e9a0b4
3723             8970 e88bb1
3724             8971 e8a19b
3725             8972 e8a9a0
3726             8973 e98bad
3727             8974 e6b6b2
3728             8975 e796ab
3729             8976 e79b8a
3730             8977 e9a785
3731             8978 e682a6
3732             8979 e8ac81
3733             897a e8b68a
3734             897b e996b2
3735             897c e6a68e
3736             897d e58ead
3737             897e e58686
3738             8980 e59c92
3739             8981 e5a0b0
3740             8982 e5a584
3741             8983 e5aeb4
3742             8984 e5bbb6
3743             8985 e680a8
3744             8986 e68ea9
3745             8987 e68fb4
3746             8988 e6b2bf
3747             8989 e6bc94
3748             898a e7828e
3749             898b e78494
3750             898c e78599
3751             898d e78795
3752             898e e78cbf
3753             898f e7b881
3754             8990 e889b6
3755             8991 e88b91
3756             8992 e89697
3757             8993 e981a0
3758             8994 e9899b
3759             8995 e9b49b
3760             8996 e5a1a9
3761             8997 e696bc
3762             8998 e6b19a
3763             8999 e794a5
3764             899a e587b9
3765             899b e5a4ae
3766             899c e5a5a5
3767             899d e5be80
3768             899e e5bf9c
3769             899f e68abc
3770             89a0 e697ba
3771             89a1 e6a8aa
3772             89a2 e6aca7
3773             89a3 e6aeb4
3774             89a4 e78e8b
3775             89a5 e7bf81
3776             89a6 e8a596
3777             89a7 e9b4ac
3778             89a8 e9b48e
3779             89a9 e9bb84
3780             89aa e5b2a1
3781             89ab e6b296
3782             89ac e88dbb
3783             89ad e58484
3784             89ae e5b18b
3785             89af e686b6
3786             89b0 e88786
3787             89b1 e6a1b6
3788             89b2 e789a1
3789             89b3 e4b999
3790             89b4 e4bfba
3791             89b5 e58db8
3792             89b6 e681a9
3793             89b7 e6b8a9
3794             89b8 e7a98f
3795             89b9 e99fb3
3796             89ba e4b88b
3797             89bb e58c96
3798             89bc e4bbae
3799             89bd e4bd95
3800             89be e4bcbd
3801             89bf e4bea1
3802             89c0 e4bdb3
3803             89c1 e58aa0
3804             89c2 e58faf
3805             89c3 e59889
3806             89c4 e5a48f
3807             89c5 e5ab81
3808             89c6 e5aeb6
3809             89c7 e5afa1
3810             89c8 e7a791
3811             89c9 e69a87
3812             89ca e69e9c
3813             89cb e69eb6
3814             89cc e6ad8c
3815             89cd e6b2b3
3816             89ce e781ab
3817             89cf e78f82
3818             89d0 e7a68d
3819             89d1 e7a6be
3820             89d2 e7a8bc
3821             89d3 e7ae87
3822             89d4 e88ab1
3823             89d5 e88b9b
3824             89d6 e88c84
3825             89d7 e88db7
3826             89d8 e88faf
3827             89d9 e88f93
3828             89da e89da6
3829             89db e8aab2
3830             89dc e598a9
3831             89dd e8b2a8
3832             89de e8bfa6
3833             89df e9818e
3834             89e0 e99c9e
3835             89e1 e89a8a
3836             89e2 e4bf84
3837             89e3 e5b3a8
3838             89e4 e68891
3839             89e5 e78999
3840             89e6 e794bb
3841             89e7 e887a5
3842             89e8 e88abd
3843             89e9 e89bbe
3844             89ea e8b380
3845             89eb e99b85
3846             89ec e9a493
3847             89ed e9a795
3848             89ee e4bb8b
3849             89ef e4bc9a
3850             89f0 e8a7a3
3851             89f1 e59b9e
3852             89f2 e5a18a
3853             89f3 e5a38a
3854             89f4 e5bbbb
3855             89f5 e5bfab
3856             89f6 e680aa
3857             89f7 e68294
3858             89f8 e681a2
3859             89f9 e68790
3860             89fa e68892
3861             89fb e68b90
3862             89fc e694b9
3863             8a40 e9ad81
3864             8a41 e699a6
3865             8a42 e6a2b0
3866             8a43 e6b5b7
3867             8a44 e781b0
3868             8a45 e7958c
3869             8a46 e79a86
3870             8a47 e7b5b5
3871             8a48 e88aa5
3872             8a49 e89fb9
3873             8a4a e9968b
3874             8a4b e99a8e
3875             8a4c e8b29d
3876             8a4d e587b1
3877             8a4e e58abe
3878             8a4f e5a496
3879             8a50 e592b3
3880             8a51 e5aeb3
3881             8a52 e5b496
3882             8a53 e685a8
3883             8a54 e6a682
3884             8a55 e6b6af
3885             8a56 e7a28d
3886             8a57 e8938b
3887             8a58 e8a197
3888             8a59 e8a9b2
3889             8a5a e98ea7
3890             8a5b e9aab8
3891             8a5c e6b5ac
3892             8a5d e9a6a8
3893             8a5e e89b99
3894             8a5f e59ea3
3895             8a60 e69fbf
3896             8a61 e89b8e
3897             8a62 e9888e
3898             8a63 e58a83
3899             8a64 e59a87
3900             8a65 e59084
3901             8a66 e5bb93
3902             8a67 e68ba1
3903             8a68 e692b9
3904             8a69 e6a0bc
3905             8a6a e6a0b8
3906             8a6b e6aebb
3907             8a6c e78db2
3908             8a6d e7a2ba
3909             8a6e e7a9ab
3910             8a6f e8a69a
3911             8a70 e8a792
3912             8a71 e8b5ab
3913             8a72 e8bc83
3914             8a73 e983ad
3915             8a74 e996a3
3916             8a75 e99a94
3917             8a76 e99da9
3918             8a77 e5ada6
3919             8a78 e5b2b3
3920             8a79 e6a5bd
3921             8a7a e9a18d
3922             8a7b e9a18e
3923             8a7c e68e9b
3924             8a7d e7aca0
3925             8a7e e6a8ab
3926             8a80 e6a9bf
3927             8a81 e6a2b6
3928             8a82 e9b08d
3929             8a83 e6bd9f
3930             8a84 e589b2
3931             8a85 e5969d
3932             8a86 e681b0
3933             8a87 e68bac
3934             8a88 e6b4bb
3935             8a89 e6b887
3936             8a8a e6bb91
3937             8a8b e8919b
3938             8a8c e8a490
3939             8a8d e8bd84
3940             8a8e e4b894
3941             8a8f e9b0b9
3942             8a90 e58fb6
3943             8a91 e6a49b
3944             8a92 e6a8ba
3945             8a93 e99e84
3946             8a94 e6a0aa
3947             8a95 e5859c
3948             8a96 e7ab83
3949             8a97 e892b2
3950             8a98 e9879c
3951             8a99 e98e8c
3952             8a9a e5999b
3953             8a9b e9b4a8
3954             8a9c e6a0a2
3955             8a9d e88c85
3956             8a9e e890b1
3957             8a9f e7b2a5
3958             8aa0 e58888
3959             8aa1 e88b85
3960             8aa2 e793a6
3961             8aa3 e4b9be
3962             8aa4 e4be83
3963             8aa5 e586a0
3964             8aa6 e5af92
3965             8aa7 e5888a
3966             8aa8 e58b98
3967             8aa9 e58ba7
3968             8aaa e5b7bb
3969             8aab e5969a
3970             8aac e5a0aa
3971             8aad e5a7a6
3972             8aae e5ae8c
3973             8aaf e5ae98
3974             8ab0 e5af9b
3975             8ab1 e5b9b2
3976             8ab2 e5b9b9
3977             8ab3 e682a3
3978             8ab4 e6849f
3979             8ab5 e685a3
3980             8ab6 e686be
3981             8ab7 e68f9b
3982             8ab8 e695a2
3983             8ab9 e69f91
3984             8aba e6a193
3985             8abb e6a3ba
3986             8abc e6acbe
3987             8abd e6ad93
3988             8abe e6b197
3989             8abf e6bca2
3990             8ac0 e6be97
3991             8ac1 e6bd85
3992             8ac2 e792b0
3993             8ac3 e79498
3994             8ac4 e79ba3
3995             8ac5 e79c8b
3996             8ac6 e7abbf
3997             8ac7 e7aea1
3998             8ac8 e7b0a1
3999             8ac9 e7b7a9
4000             8aca e7bcb6
4001             8acb e7bfb0
4002             8acc e8829d
4003             8acd e889a6
4004             8ace e88e9e
4005             8acf e8a6b3
4006             8ad0 e8ab8c
4007             8ad1 e8b2ab
4008             8ad2 e98284
4009             8ad3 e99191
4010             8ad4 e99693
4011             8ad5 e99691
4012             8ad6 e996a2
4013             8ad7 e999a5
4014             8ad8 e99f93
4015             8ad9 e9a4a8
4016             8ada e88898
4017             8adb e4b8b8
4018             8adc e590ab
4019             8add e5b2b8
4020             8ade e5b78c
4021             8adf e78ea9
4022             8ae0 e7998c
4023             8ae1 e79cbc
4024             8ae2 e5b2a9
4025             8ae3 e7bfab
4026             8ae4 e8b48b
4027             8ae5 e99b81
4028             8ae6 e9a091
4029             8ae7 e9a194
4030             8ae8 e9a198
4031             8ae9 e4bc81
4032             8aea e4bc8e
4033             8aeb e58db1
4034             8aec e5969c
4035             8aed e599a8
4036             8aee e59fba
4037             8aef e5a587
4038             8af0 e5ac89
4039             8af1 e5af84
4040             8af2 e5b290
4041             8af3 e5b88c
4042             8af4 e5b9be
4043             8af5 e5bf8c
4044             8af6 e68fae
4045             8af7 e69cba
4046             8af8 e69797
4047             8af9 e697a2
4048             8afa e69c9f
4049             8afb e6a38b
4050             8afc e6a384
4051             8b40 e6a99f
4052             8b41 e5b8b0
4053             8b42 e6af85
4054             8b43 e6b097
4055             8b44 e6b1bd
4056             8b45 e795bf
4057             8b46 e7a588
4058             8b47 e5ada3
4059             8b48 e7a880
4060             8b49 e7b480
4061             8b4a e5bebd
4062             8b4b e8a68f
4063             8b4c e8a898
4064             8b4d e8b2b4
4065             8b4e e8b5b7
4066             8b4f e8bb8c
4067             8b50 e8bc9d
4068             8b51 e9a3a2
4069             8b52 e9a88e
4070             8b53 e9acbc
4071             8b54 e4ba80
4072             8b55 e581bd
4073             8b56 e58480
4074             8b57 e5a693
4075             8b58 e5ae9c
4076             8b59 e688af
4077             8b5a e68a80
4078             8b5b e693ac
4079             8b5c e6acba
4080             8b5d e78aa0
4081             8b5e e79691
4082             8b5f e7a587
4083             8b60 e7bea9
4084             8b61 e89fbb
4085             8b62 e8aabc
4086             8b63 e8adb0
4087             8b64 e68eac
4088             8b65 e88f8a
4089             8b66 e99ea0
4090             8b67 e59089
4091             8b68 e59083
4092             8b69 e596ab
4093             8b6a e6a194
4094             8b6b e6a998
4095             8b6c e8a9b0
4096             8b6d e7a0a7
4097             8b6e e69db5
4098             8b6f e9bb8d
4099             8b70 e58db4
4100             8b71 e5aea2
4101             8b72 e8849a
4102             8b73 e89990
4103             8b74 e98086
4104             8b75 e4b898
4105             8b76 e4b985
4106             8b77 e4bb87
4107             8b78 e4bc91
4108             8b79 e58f8a
4109             8b7a e590b8
4110             8b7b e5aeae
4111             8b7c e5bc93
4112             8b7d e680a5
4113             8b7e e69591
4114             8b80 e69cbd
4115             8b81 e6b182
4116             8b82 e6b1b2
4117             8b83 e6b3a3
4118             8b84 e781b8
4119             8b85 e79083
4120             8b86 e7a9b6
4121             8b87 e7aaae
4122             8b88 e7ac88
4123             8b89 e7b49a
4124             8b8a e7b3be
4125             8b8b e7b5a6
4126             8b8c e697a7
4127             8b8d e7899b
4128             8b8e e58ebb
4129             8b8f e5b185
4130             8b90 e5b7a8
4131             8b91 e68b92
4132             8b92 e68ba0
4133             8b93 e68c99
4134             8b94 e6b8a0
4135             8b95 e8999a
4136             8b96 e8a8b1
4137             8b97 e8b79d
4138             8b98 e98bb8
4139             8b99 e6bc81
4140             8b9a e7a6a6
4141             8b9b e9ad9a
4142             8b9c e4baa8
4143             8b9d e4baab
4144             8b9e e4baac
4145             8b9f e4be9b
4146             8ba0 e4bea0
4147             8ba1 e58391
4148             8ba2 e58587
4149             8ba3 e7abb6
4150             8ba4 e585b1
4151             8ba5 e587b6
4152             8ba6 e58d94
4153             8ba7 e58ca1
4154             8ba8 e58dbf
4155             8ba9 e58fab
4156             8baa e596ac
4157             8bab e5a283
4158             8bac e5b3a1
4159             8bad e5bcb7
4160             8bae e5bd8a
4161             8baf e680af
4162             8bb0 e68190
4163             8bb1 e681ad
4164             8bb2 e68c9f
4165             8bb3 e69599
4166             8bb4 e6a98b
4167             8bb5 e6b381
4168             8bb6 e78b82
4169             8bb7 e78bad
4170             8bb8 e79faf
4171             8bb9 e883b8
4172             8bba e88485
4173             8bbb e88888
4174             8bbc e8958e
4175             8bbd e983b7
4176             8bbe e98fa1
4177             8bbf e99fbf
4178             8bc0 e9a597
4179             8bc1 e9a99a
4180             8bc2 e4bbb0
4181             8bc3 e5879d
4182             8bc4 e5b0ad
4183             8bc5 e69a81
4184             8bc6 e6a5ad
4185             8bc7 e5b180
4186             8bc8 e69bb2
4187             8bc9 e6a5b5
4188             8bca e78e89
4189             8bcb e6a190
4190             8bcc e7b281
4191             8bcd e58385
4192             8bce e58ba4
4193             8bcf e59d87
4194             8bd0 e5b7be
4195             8bd1 e98ca6
4196             8bd2 e696a4
4197             8bd3 e6aca3
4198             8bd4 e6acbd
4199             8bd5 e790b4
4200             8bd6 e7a681
4201             8bd7 e7a6bd
4202             8bd8 e7ad8b
4203             8bd9 e7b78a
4204             8bda e88ab9
4205             8bdb e88f8c
4206             8bdc e8a1bf
4207             8bdd e8a59f
4208             8bde e8acb9
4209             8bdf e8bf91
4210             8be0 e98791
4211             8be1 e5909f
4212             8be2 e98a80
4213             8be3 e4b99d
4214             8be4 e580b6
4215             8be5 e58fa5
4216             8be6 e58cba
4217             8be7 e78b97
4218             8be8 e78e96
4219             8be9 e79fa9
4220             8bea e88ba6
4221             8beb e8baaf
4222             8bec e9a786
4223             8bed e9a788
4224             8bee e9a792
4225             8bef e585b7
4226             8bf0 e6849a
4227             8bf1 e8999e
4228             8bf2 e596b0
4229             8bf3 e7a9ba
4230             8bf4 e581b6
4231             8bf5 e5af93
4232             8bf6 e98187
4233             8bf7 e99a85
4234             8bf8 e4b8b2
4235             8bf9 e6ab9b
4236             8bfa e987a7
4237             8bfb e5b191
4238             8bfc e5b188
4239             8c40 e68e98
4240             8c41 e7aa9f
4241             8c42 e6b293
4242             8c43 e99db4
4243             8c44 e8bda1
4244             8c45 e7aaaa
4245             8c46 e7868a
4246             8c47 e99a88
4247             8c48 e7b282
4248             8c49 e6a097
4249             8c4a e7b9b0
4250             8c4b e6a191
4251             8c4c e98dac
4252             8c4d e58bb2
4253             8c4e e5909b
4254             8c4f e896ab
4255             8c50 e8a893
4256             8c51 e7bea4
4257             8c52 e8bb8d
4258             8c53 e983a1
4259             8c54 e58da6
4260             8c55 e8a288
4261             8c56 e7a581
4262             8c57 e4bf82
4263             8c58 e582be
4264             8c59 e58891
4265             8c5a e58584
4266             8c5b e59593
4267             8c5c e59cad
4268             8c5d e78faa
4269             8c5e e59e8b
4270             8c5f e5a591
4271             8c60 e5bda2
4272             8c61 e5be84
4273             8c62 e681b5
4274             8c63 e685b6
4275             8c64 e685a7
4276             8c65 e686a9
4277             8c66 e68eb2
4278             8c67 e690ba
4279             8c68 e695ac
4280             8c69 e699af
4281             8c6a e6a182
4282             8c6b e6b893
4283             8c6c e795a6
4284             8c6d e7a8bd
4285             8c6e e7b3bb
4286             8c6f e7b58c
4287             8c70 e7b699
4288             8c71 e7b98b
4289             8c72 e7bdab
4290             8c73 e88c8e
4291             8c74 e88d8a
4292             8c75 e89b8d
4293             8c76 e8a888
4294             8c77 e8a9a3
4295             8c78 e8ada6
4296             8c79 e8bbbd
4297             8c7a e9a09a
4298             8c7b e9b68f
4299             8c7c e88ab8
4300             8c7d e8bf8e
4301             8c7e e9afa8
4302             8c80 e58a87
4303             8c81 e6889f
4304             8c82 e69283
4305             8c83 e6bf80
4306             8c84 e99a99
4307             8c85 e6a181
4308             8c86 e58291
4309             8c87 e6aca0
4310             8c88 e6b1ba
4311             8c89 e6bd94
4312             8c8a e7a9b4
4313             8c8b e7b590
4314             8c8c e8a180
4315             8c8d e8a8a3
4316             8c8e e69c88
4317             8c8f e4bbb6
4318             8c90 e580b9
4319             8c91 e580a6
4320             8c92 e581a5
4321             8c93 e585bc
4322             8c94 e588b8
4323             8c95 e589a3
4324             8c96 e596a7
4325             8c97 e59c8f
4326             8c98 e5a085
4327             8c99 e5ab8c
4328             8c9a e5bbba
4329             8c9b e686b2
4330             8c9c e687b8
4331             8c9d e68bb3
4332             8c9e e68db2
4333             8c9f e6a49c
4334             8ca0 e6a8a9
4335             8ca1 e789bd
4336             8ca2 e78aac
4337             8ca3 e78cae
4338             8ca4 e7a094
4339             8ca5 e7a1af
4340             8ca6 e7b5b9
4341             8ca7 e79c8c
4342             8ca8 e882a9
4343             8ca9 e8a68b
4344             8caa e8ac99
4345             8cab e8b3a2
4346             8cac e8bb92
4347             8cad e981a3
4348             8cae e98db5
4349             8caf e999ba
4350             8cb0 e9a195
4351             8cb1 e9a893
4352             8cb2 e9b9b8
4353             8cb3 e58583
4354             8cb4 e58e9f
4355             8cb5 e58eb3
4356             8cb6 e5b9bb
4357             8cb7 e5bca6
4358             8cb8 e6b89b
4359             8cb9 e6ba90
4360             8cba e78e84
4361             8cbb e78fbe
4362             8cbc e7b583
4363             8cbd e888b7
4364             8cbe e8a880
4365             8cbf e8abba
4366             8cc0 e99990
4367             8cc1 e4b98e
4368             8cc2 e5808b
4369             8cc3 e58fa4
4370             8cc4 e591bc
4371             8cc5 e59bba
4372             8cc6 e5a791
4373             8cc7 e5ada4
4374             8cc8 e5b7b1
4375             8cc9 e5baab
4376             8cca e5bca7
4377             8ccb e688b8
4378             8ccc e69585
4379             8ccd e69eaf
4380             8cce e6b996
4381             8ccf e78b90
4382             8cd0 e7b38a
4383             8cd1 e8a2b4
4384             8cd2 e882a1
4385             8cd3 e883a1
4386             8cd4 e88fb0
4387             8cd5 e8998e
4388             8cd6 e8aa87
4389             8cd7 e8b7a8
4390             8cd8 e988b7
4391             8cd9 e99b87
4392             8cda e9a1a7
4393             8cdb e9bc93
4394             8cdc e4ba94
4395             8cdd e4ba92
4396             8cde e4bc8d
4397             8cdf e58d88
4398             8ce0 e59189
4399             8ce1 e590be
4400             8ce2 e5a8af
4401             8ce3 e5be8c
4402             8ce4 e5bea1
4403             8ce5 e6829f
4404             8ce6 e6a2a7
4405             8ce7 e6aa8e
4406             8ce8 e7919a
4407             8ce9 e7a281
4408             8cea e8aa9e
4409             8ceb e8aaa4
4410             8cec e8adb7
4411             8ced e98690
4412             8cee e4b99e
4413             8cef e9af89
4414             8cf0 e4baa4
4415             8cf1 e4bdbc
4416             8cf2 e4beaf
4417             8cf3 e58099
4418             8cf4 e58096
4419             8cf5 e58589
4420             8cf6 e585ac
4421             8cf7 e58a9f
4422             8cf8 e58ab9
4423             8cf9 e58bbe
4424             8cfa e58e9a
4425             8cfb e58fa3
4426             8cfc e59091
4427             8d40 e5908e
4428             8d41 e59689
4429             8d42 e59d91
4430             8d43 e59ea2
4431             8d44 e5a5bd
4432             8d45 e5ad94
4433             8d46 e5ad9d
4434             8d47 e5ae8f
4435             8d48 e5b7a5
4436             8d49 e5b7a7
4437             8d4a e5b7b7
4438             8d4b e5b9b8
4439             8d4c e5ba83
4440             8d4d e5ba9a
4441             8d4e e5bab7
4442             8d4f e5bc98
4443             8d50 e68192
4444             8d51 e6858c
4445             8d52 e68a97
4446             8d53 e68b98
4447             8d54 e68ea7
4448             8d55 e694bb
4449             8d56 e69882
4450             8d57 e69983
4451             8d58 e69bb4
4452             8d59 e69dad
4453             8d5a e6a0a1
4454             8d5b e6a297
4455             8d5c e6a78b
4456             8d5d e6b19f
4457             8d5e e6b4aa
4458             8d5f e6b5a9
4459             8d60 e6b8af
4460             8d61 e6ba9d
4461             8d62 e794b2
4462             8d63 e79a87
4463             8d64 e7a1ac
4464             8d65 e7a8bf
4465             8d66 e7b3a0
4466             8d67 e7b485
4467             8d68 e7b498
4468             8d69 e7b59e
4469             8d6a e7b6b1
4470             8d6b e88095
4471             8d6c e88083
4472             8d6d e882af
4473             8d6e e882b1
4474             8d6f e88594
4475             8d70 e8868f
4476             8d71 e888aa
4477             8d72 e88d92
4478             8d73 e8a18c
4479             8d74 e8a1a1
4480             8d75 e8ac9b
4481             8d76 e8b2a2
4482             8d77 e8b3bc
4483             8d78 e9838a
4484             8d79 e985b5
4485             8d7a e989b1
4486             8d7b e7a0bf
4487             8d7c e98bbc
4488             8d7d e996a4
4489             8d7e e9998d
4490             8d80 e9a085
4491             8d81 e9a699
4492             8d82 e9ab98
4493             8d83 e9b4bb
4494             8d84 e5899b
4495             8d85 e58aab
4496             8d86 e58fb7
4497             8d87 e59088
4498             8d88 e5a395
4499             8d89 e68bb7
4500             8d8a e6bfa0
4501             8d8b e8b1aa
4502             8d8c e8bd9f
4503             8d8d e9bab9
4504             8d8e e5858b
4505             8d8f e588bb
4506             8d90 e5918a
4507             8d91 e59bbd
4508             8d92 e7a980
4509             8d93 e985b7
4510             8d94 e9b5a0
4511             8d95 e9bb92
4512             8d96 e78d84
4513             8d97 e6bc89
4514             8d98 e885b0
4515             8d99 e79491
4516             8d9a e5bfbd
4517             8d9b e6839a
4518             8d9c e9aaa8
4519             8d9d e78b9b
4520             8d9e e8bebc
4521             8d9f e6ada4
4522             8da0 e9a083
4523             8da1 e4bb8a
4524             8da2 e59bb0
4525             8da3 e59da4
4526             8da4 e5a2be
4527             8da5 e5a99a
4528             8da6 e681a8
4529             8da7 e68787
4530             8da8 e6988f
4531             8da9 e69886
4532             8daa e6a0b9
4533             8dab e6a2b1
4534             8dac e6b7b7
4535             8dad e79795
4536             8dae e7b4ba
4537             8daf e889ae
4538             8db0 e9ad82
4539             8db1 e4ba9b
4540             8db2 e4bd90
4541             8db3 e58f89
4542             8db4 e59486
4543             8db5 e5b5af
4544             8db6 e5b7a6
4545             8db7 e5b7ae
4546             8db8 e69fbb
4547             8db9 e6b299
4548             8dba e791b3
4549             8dbb e7a082
4550             8dbc e8a990
4551             8dbd e98e96
4552             8dbe e8a39f
4553             8dbf e59d90
4554             8dc0 e5baa7
4555             8dc1 e68cab
4556             8dc2 e582b5
4557             8dc3 e582ac
4558             8dc4 e5868d
4559             8dc5 e69c80
4560             8dc6 e59389
4561             8dc7 e5a19e
4562             8dc8 e5a6bb
4563             8dc9 e5aeb0
4564             8dca e5bda9
4565             8dcb e6898d
4566             8dcc e68ea1
4567             8dcd e6a0bd
4568             8dce e6adb3
4569             8dcf e6b888
4570             8dd0 e781bd
4571             8dd1 e98787
4572             8dd2 e78a80
4573             8dd3 e7a095
4574             8dd4 e7a0a6
4575             8dd5 e7a5ad
4576             8dd6 e6968e
4577             8dd7 e7b4b0
4578             8dd8 e88f9c
4579             8dd9 e8a381
4580             8dda e8bc89
4581             8ddb e99a9b
4582             8ddc e589a4
4583             8ddd e59ca8
4584             8dde e69d90
4585             8ddf e7bdaa
4586             8de0 e8b2a1
4587             8de1 e586b4
4588             8de2 e59d82
4589             8de3 e998aa
4590             8de4 e5a0ba
4591             8de5 e6a68a
4592             8de6 e882b4
4593             8de7 e592b2
4594             8de8 e5b48e
4595             8de9 e59fbc
4596             8dea e7a295
4597             8deb e9b7ba
4598             8dec e4bd9c
4599             8ded e5898a
4600             8dee e5928b
4601             8def e690be
4602             8df0 e698a8
4603             8df1 e69c94
4604             8df2 e69fb5
4605             8df3 e7aa84
4606             8df4 e7ad96
4607             8df5 e7b4a2
4608             8df6 e98caf
4609             8df7 e6a19c
4610             8df8 e9aead
4611             8df9 e7acb9
4612             8dfa e58c99
4613             8dfb e5868a
4614             8dfc e588b7
4615             8e40 e5af9f
4616             8e41 e68bb6
4617             8e42 e692ae
4618             8e43 e693a6
4619             8e44 e69cad
4620             8e45 e6aeba
4621             8e46 e896a9
4622             8e47 e99b91
4623             8e48 e79a90
4624             8e49 e9af96
4625             8e4a e68d8c
4626             8e4b e98c86
4627             8e4c e9aeab
4628             8e4d e79abf
4629             8e4e e69992
4630             8e4f e4b889
4631             8e50 e58298
4632             8e51 e58f82
4633             8e52 e5b1b1
4634             8e53 e683a8
4635             8e54 e69292
4636             8e55 e695a3
4637             8e56 e6a19f
4638             8e57 e787a6
4639             8e58 e78f8a
4640             8e59 e794a3
4641             8e5a e7ae97
4642             8e5b e7ba82
4643             8e5c e89a95
4644             8e5d e8ae83
4645             8e5e e8b39b
4646             8e5f e985b8
4647             8e60 e9a490
4648             8e61 e696ac
4649             8e62 e69aab
4650             8e63 e6ae8b
4651             8e64 e4bb95
4652             8e65 e4bb94
4653             8e66 e4bcba
4654             8e67 e4bdbf
4655             8e68 e588ba
4656             8e69 e58fb8
4657             8e6a e58fb2
4658             8e6b e597a3
4659             8e6c e59b9b
4660             8e6d e5a3ab
4661             8e6e e5a78b
4662             8e6f e5a789
4663             8e70 e5a7bf
4664             8e71 e5ad90
4665             8e72 e5b18d
4666             8e73 e5b882
4667             8e74 e5b8ab
4668             8e75 e5bf97
4669             8e76 e6809d
4670             8e77 e68c87
4671             8e78 e694af
4672             8e79 e5ad9c
4673             8e7a e696af
4674             8e7b e696bd
4675             8e7c e697a8
4676             8e7d e69e9d
4677             8e7e e6ada2
4678             8e80 e6adbb
4679             8e81 e6b08f
4680             8e82 e78d85
4681             8e83 e7a589
4682             8e84 e7a781
4683             8e85 e7b3b8
4684             8e86 e7b499
4685             8e87 e7b4ab
4686             8e88 e882a2
4687             8e89 e88482
4688             8e8a e887b3
4689             8e8b e8a696
4690             8e8c e8a99e
4691             8e8d e8a9a9
4692             8e8e e8a9a6
4693             8e8f e8aa8c
4694             8e90 e8abae
4695             8e91 e8b387
4696             8e92 e8b39c
4697             8e93 e99b8c
4698             8e94 e9a3bc
4699             8e95 e6adaf
4700             8e96 e4ba8b
4701             8e97 e4bcbc
4702             8e98 e4be8d
4703             8e99 e58590
4704             8e9a e5ad97
4705             8e9b e5afba
4706             8e9c e68588
4707             8e9d e68c81
4708             8e9e e69982
4709             8e9f e6aca1
4710             8ea0 e6bb8b
4711             8ea1 e6b2bb
4712             8ea2 e788be
4713             8ea3 e792bd
4714             8ea4 e79794
4715             8ea5 e7a381
4716             8ea6 e7a4ba
4717             8ea7 e8808c
4718             8ea8 e880b3
4719             8ea9 e887aa
4720             8eaa e89294
4721             8eab e8be9e
4722             8eac e6b190
4723             8ead e9b9bf
4724             8eae e5bc8f
4725             8eaf e8ad98
4726             8eb0 e9b4ab
4727             8eb1 e7abba
4728             8eb2 e8bbb8
4729             8eb3 e5ae8d
4730             8eb4 e99bab
4731             8eb5 e4b883
4732             8eb6 e58fb1
4733             8eb7 e59fb7
4734             8eb8 e5a4b1
4735             8eb9 e5ab89
4736             8eba e5aea4
4737             8ebb e68289
4738             8ebc e6b9bf
4739             8ebd e6bc86
4740             8ebe e796be
4741             8ebf e8b3aa
4742             8ec0 e5ae9f
4743             8ec1 e89480
4744             8ec2 e7afa0
4745             8ec3 e581b2
4746             8ec4 e69fb4
4747             8ec5 e88a9d
4748             8ec6 e5b1a1
4749             8ec7 e8958a
4750             8ec8 e7b89e
4751             8ec9 e8888e
4752             8eca e58699
4753             8ecb e5b084
4754             8ecc e68da8
4755             8ecd e8b5a6
4756             8ece e6969c
4757             8ecf e785ae
4758             8ed0 e7a4be
4759             8ed1 e7b497
4760             8ed2 e88085
4761             8ed3 e8ac9d
4762             8ed4 e8bb8a
4763             8ed5 e981ae
4764             8ed6 e89b87
4765             8ed7 e982aa
4766             8ed8 e5809f
4767             8ed9 e58bba
4768             8eda e5b0ba
4769             8edb e69d93
4770             8edc e781bc
4771             8edd e788b5
4772             8ede e9858c
4773             8edf e98788
4774             8ee0 e98cab
4775             8ee1 e88ba5
4776             8ee2 e5af82
4777             8ee3 e5bcb1
4778             8ee4 e683b9
4779             8ee5 e4b8bb
4780             8ee6 e58f96
4781             8ee7 e5ae88
4782             8ee8 e6898b
4783             8ee9 e69cb1
4784             8eea e6ae8a
4785             8eeb e78ba9
4786             8eec e78fa0
4787             8eed e7a8ae
4788             8eee e885ab
4789             8eef e8b6a3
4790             8ef0 e98592
4791             8ef1 e9a696
4792             8ef2 e58492
4793             8ef3 e58f97
4794             8ef4 e591aa
4795             8ef5 e5afbf
4796             8ef6 e68e88
4797             8ef7 e6a8b9
4798             8ef8 e7b6ac
4799             8ef9 e99c80
4800             8efa e59b9a
4801             8efb e58f8e
4802             8efc e591a8
4803             8f40 e5ae97
4804             8f41 e5b0b1
4805             8f42 e5b79e
4806             8f43 e4bfae
4807             8f44 e68481
4808             8f45 e68bbe
4809             8f46 e6b4b2
4810             8f47 e7a780
4811             8f48 e7a78b
4812             8f49 e7b582
4813             8f4a e7b98d
4814             8f4b e7bf92
4815             8f4c e887ad
4816             8f4d e8889f
4817             8f4e e89290
4818             8f4f e8a186
4819             8f50 e8a5b2
4820             8f51 e8ae90
4821             8f52 e8b9b4
4822             8f53 e8bcaf
4823             8f54 e980b1
4824             8f55 e9858b
4825             8f56 e985ac
4826             8f57 e99b86
4827             8f58 e9869c
4828             8f59 e4bb80
4829             8f5a e4bd8f
4830             8f5b e58585
4831             8f5c e58d81
4832             8f5d e5be93
4833             8f5e e6888e
4834             8f5f e69f94
4835             8f60 e6b181
4836             8f61 e6b88b
4837             8f62 e78da3
4838             8f63 e7b8a6
4839             8f64 e9878d
4840             8f65 e98a83
4841             8f66 e58f94
4842             8f67 e5a499
4843             8f68 e5aebf
4844             8f69 e6b791
4845             8f6a e7a59d
4846             8f6b e7b8ae
4847             8f6c e7b29b
4848             8f6d e5a1be
4849             8f6e e7869f
4850             8f6f e587ba
4851             8f70 e8a193
4852             8f71 e8bfb0
4853             8f72 e4bf8a
4854             8f73 e5b3bb
4855             8f74 e698a5
4856             8f75 e79eac
4857             8f76 e7aba3
4858             8f77 e8889c
4859             8f78 e9a7bf
4860             8f79 e58786
4861             8f7a e5beaa
4862             8f7b e697ac
4863             8f7c e6a5af
4864             8f7d e6ae89
4865             8f7e e6b7b3
4866             8f80 e6ba96
4867             8f81 e6bda4
4868             8f82 e79bbe
4869             8f83 e7b494
4870             8f84 e5b7a1
4871             8f85 e981b5
4872             8f86 e98687
4873             8f87 e9a086
4874             8f88 e587a6
4875             8f89 e5889d
4876             8f8a e68980
4877             8f8b e69a91
4878             8f8c e69b99
4879             8f8d e6b89a
4880             8f8e e5bab6
4881             8f8f e7b792
4882             8f90 e7bdb2
4883             8f91 e69bb8
4884             8f92 e896af
4885             8f93 e897b7
4886             8f94 e8abb8
4887             8f95 e58aa9
4888             8f96 e58f99
4889             8f97 e5a5b3
4890             8f98 e5ba8f
4891             8f99 e5be90
4892             8f9a e68195
4893             8f9b e98ba4
4894             8f9c e999a4
4895             8f9d e582b7
4896             8f9e e5849f
4897             8f9f e58b9d
4898             8fa0 e58ca0
4899             8fa1 e58d87
4900             8fa2 e58fac
4901             8fa3 e593a8
4902             8fa4 e59586
4903             8fa5 e594b1
4904             8fa6 e59897
4905             8fa7 e5a5a8
4906             8fa8 e5a6be
4907             8fa9 e5a8bc
4908             8faa e5aeb5
4909             8fab e5b086
4910             8fac e5b08f
4911             8fad e5b091
4912             8fae e5b09a
4913             8faf e5ba84
4914             8fb0 e5ba8a
4915             8fb1 e5bba0
4916             8fb2 e5bdb0
4917             8fb3 e689bf
4918             8fb4 e68a84
4919             8fb5 e68b9b
4920             8fb6 e68e8c
4921             8fb7 e68db7
4922             8fb8 e69887
4923             8fb9 e6988c
4924             8fba e698ad
4925             8fbb e699b6
4926             8fbc e69dbe
4927             8fbd e6a2a2
4928             8fbe e6a89f
4929             8fbf e6a8b5
4930             8fc0 e6b2bc
4931             8fc1 e6b688
4932             8fc2 e6b889
4933             8fc3 e6b998
4934             8fc4 e784bc
4935             8fc5 e784a6
4936             8fc6 e785a7
4937             8fc7 e79787
4938             8fc8 e79c81
4939             8fc9 e7a19d
4940             8fca e7a481
4941             8fcb e7a5a5
4942             8fcc e7a7b0
4943             8fcd e7aba0
4944             8fce e7ac91
4945             8fcf e7b2a7
4946             8fd0 e7b4b9
4947             8fd1 e88296
4948             8fd2 e88f96
4949             8fd3 e8928b
4950             8fd4 e89589
4951             8fd5 e8a19d
4952             8fd6 e8a3b3
4953             8fd7 e8a89f
4954             8fd8 e8a8bc
4955             8fd9 e8a994
4956             8fda e8a9b3
4957             8fdb e8b1a1
4958             8fdc e8b39e
4959             8fdd e986a4
4960             8fde e989a6
4961             8fdf e98dbe
4962             8fe0 e99098
4963             8fe1 e99a9c
4964             8fe2 e99e98
4965             8fe3 e4b88a
4966             8fe4 e4b888
4967             8fe5 e4b89e
4968             8fe6 e4b997
4969             8fe7 e58697
4970             8fe8 e589b0
4971             8fe9 e59f8e
4972             8fea e5a0b4
4973             8feb e5a38c
4974             8fec e5aca2
4975             8fed e5b8b8
4976             8fee e68385
4977             8fef e693be
4978             8ff0 e69da1
4979             8ff1 e69d96
4980             8ff2 e6b584
4981             8ff3 e78ab6
4982             8ff4 e795b3
4983             8ff5 e7a9a3
4984             8ff6 e892b8
4985             8ff7 e8adb2
4986             8ff8 e986b8
4987             8ff9 e98ca0
4988             8ffa e598b1
4989             8ffb e59fb4
4990             8ffc e9a3be
4991             9040 e68bad
4992             9041 e6a48d
4993             9042 e6ae96
4994             9043 e787ad
4995             9044 e7b994
4996             9045 e881b7
4997             9046 e889b2
4998             9047 e8a7a6
4999             9048 e9a39f
5000             9049 e89d95
5001             904a e8beb1
5002             904b e5b0bb
5003             904c e4bcb8
5004             904d e4bfa1
5005             904e e4beb5
5006             904f e59487
5007             9050 e5a8a0
5008             9051 e5af9d
5009             9052 e5afa9
5010             9053 e5bf83
5011             9054 e6858e
5012             9055 e68caf
5013             9056 e696b0
5014             9057 e6998b
5015             9058 e6a3ae
5016             9059 e6a69b
5017             905a e6b5b8
5018             905b e6b7b1
5019             905c e794b3
5020             905d e796b9
5021             905e e79c9f
5022             905f e7a59e
5023             9060 e7a7a6
5024             9061 e7b4b3
5025             9062 e887a3
5026             9063 e88aaf
5027             9064 e896aa
5028             9065 e8a6aa
5029             9066 e8a8ba
5030             9067 e8baab
5031             9068 e8be9b
5032             9069 e980b2
5033             906a e9879d
5034             906b e99c87
5035             906c e4baba
5036             906d e4bb81
5037             906e e58883
5038             906f e5a1b5
5039             9070 e5a3ac
5040             9071 e5b08b
5041             9072 e7949a
5042             9073 e5b0bd
5043             9074 e8858e
5044             9075 e8a88a
5045             9076 e8bf85
5046             9077 e999a3
5047             9078 e99dad
5048             9079 e7aca5
5049             907a e8ab8f
5050             907b e9a088
5051             907c e985a2
5052             907d e59bb3
5053             907e e58ea8
5054             9080 e98097
5055             9081 e590b9
5056             9082 e59e82
5057             9083 e5b8a5
5058             9084 e68ea8
5059             9085 e6b0b4
5060             9086 e7828a
5061             9087 e79da1
5062             9088 e7b28b
5063             9089 e7bfa0
5064             908a e8a1b0
5065             908b e98182
5066             908c e98594
5067             908d e98c90
5068             908e e98c98
5069             908f e99a8f
5070             9090 e7919e
5071             9091 e9ab84
5072             9092 e5b487
5073             9093 e5b5a9
5074             9094 e695b0
5075             9095 e69ea2
5076             9096 e8b6a8
5077             9097 e99b9b
5078             9098 e68dae
5079             9099 e69d89
5080             909a e6a499
5081             909b e88f85
5082             909c e9a097
5083             909d e99b80
5084             909e e8a3be
5085             909f e6be84
5086             90a0 e691ba
5087             90a1 e5afb8
5088             90a2 e4b896
5089             90a3 e780ac
5090             90a4 e7959d
5091             90a5 e698af
5092             90a6 e58784
5093             90a7 e588b6
5094             90a8 e58ba2
5095             90a9 e5a793
5096             90aa e5be81
5097             90ab e680a7
5098             90ac e68890
5099             90ad e694bf
5100             90ae e695b4
5101             90af e6989f
5102             90b0 e699b4
5103             90b1 e6a3b2
5104             90b2 e6a096
5105             90b3 e6ada3
5106             90b4 e6b885
5107             90b5 e789b2
5108             90b6 e7949f
5109             90b7 e79b9b
5110             90b8 e7b2be
5111             90b9 e88196
5112             90ba e5a3b0
5113             90bb e8a3bd
5114             90bc e8a5bf
5115             90bd e8aaa0
5116             90be e8aa93
5117             90bf e8ab8b
5118             90c0 e9809d
5119             90c1 e98692
5120             90c2 e99d92
5121             90c3 e99d99
5122             90c4 e69689
5123             90c5 e7a88e
5124             90c6 e88486
5125             90c7 e99abb
5126             90c8 e5b8ad
5127             90c9 e6839c
5128             90ca e6889a
5129             90cb e696a5
5130             90cc e69894
5131             90cd e69e90
5132             90ce e79fb3
5133             90cf e7a98d
5134             90d0 e7b18d
5135             90d1 e7b8be
5136             90d2 e8848a
5137             90d3 e8b2ac
5138             90d4 e8b5a4
5139             90d5 e8b7a1
5140             90d6 e8b99f
5141             90d7 e7a2a9
5142             90d8 e58887
5143             90d9 e68b99
5144             90da e68ea5
5145             90db e69182
5146             90dc e68a98
5147             90dd e8a8ad
5148             90de e7aa83
5149             90df e7af80
5150             90e0 e8aaac
5151             90e1 e99baa
5152             90e2 e7b5b6
5153             90e3 e8888c
5154             90e4 e89d89
5155             90e5 e4bb99
5156             90e6 e58588
5157             90e7 e58d83
5158             90e8 e58da0
5159             90e9 e5aea3
5160             90ea e5b082
5161             90eb e5b096
5162             90ec e5b79d
5163             90ed e688a6
5164             90ee e68987
5165             90ef e692b0
5166             90f0 e6a093
5167             90f1 e6a0b4
5168             90f2 e6b389
5169             90f3 e6b585
5170             90f4 e6b497
5171             90f5 e69f93
5172             90f6 e6bd9c
5173             90f7 e7858e
5174             90f8 e785bd
5175             90f9 e6978b
5176             90fa e7a9bf
5177             90fb e7aead
5178             90fc e7b79a
5179             9140 e7b98a
5180             9141 e7bea8
5181             9142 e885ba
5182             9143 e8889b
5183             9144 e888b9
5184             9145 e896a6
5185             9146 e8a9ae
5186             9147 e8b38e
5187             9148 e8b7b5
5188             9149 e981b8
5189             914a e981b7
5190             914b e98aad
5191             914c e98a91
5192             914d e99683
5193             914e e9aeae
5194             914f e5898d
5195             9150 e59684
5196             9151 e6bcb8
5197             9152 e784b6
5198             9153 e585a8
5199             9154 e7a685
5200             9155 e7b995
5201             9156 e886b3
5202             9157 e7b38e
5203             9158 e5998c
5204             9159 e5a191
5205             915a e5b2a8
5206             915b e68eaa
5207             915c e69bbe
5208             915d e69bbd
5209             915e e6a59a
5210             915f e78b99
5211             9160 e7968f
5212             9161 e7968e
5213             9162 e7a48e
5214             9163 e7a596
5215             9164 e7a79f
5216             9165 e7b297
5217             9166 e7b4a0
5218             9167 e7b584
5219             9168 e89887
5220             9169 e8a8b4
5221             916a e998bb
5222             916b e981a1
5223             916c e9bca0
5224             916d e583a7
5225             916e e589b5
5226             916f e58f8c
5227             9170 e58fa2
5228             9171 e58089
5229             9172 e596aa
5230             9173 e5a3ae
5231             9174 e5a58f
5232             9175 e788bd
5233             9176 e5ae8b
5234             9177 e5b1a4
5235             9178 e58c9d
5236             9179 e683a3
5237             917a e683b3
5238             917b e68d9c
5239             917c e68e83
5240             917d e68cbf
5241             917e e68ebb
5242             9180 e6938d
5243             9181 e697a9
5244             9182 e69bb9
5245             9183 e5b7a3
5246             9184 e6a78d
5247             9185 e6a7bd
5248             9186 e6bc95
5249             9187 e787a5
5250             9188 e4ba89
5251             9189 e797a9
5252             918a e79bb8
5253             918b e7aa93
5254             918c e7b39f
5255             918d e7b78f
5256             918e e7b69c
5257             918f e881a1
5258             9190 e88d89
5259             9191 e88d98
5260             9192 e891ac
5261             9193 e892bc
5262             9194 e897bb
5263             9195 e8a385
5264             9196 e8b5b0
5265             9197 e98081
5266             9198 e981ad
5267             9199 e98e97
5268             919a e99c9c
5269             919b e9a892
5270             919c e5838f
5271             919d e5a297
5272             919e e6868e
5273             919f e88793
5274             91a0 e894b5
5275             91a1 e8b488
5276             91a2 e980a0
5277             91a3 e4bf83
5278             91a4 e581b4
5279             91a5 e58987
5280             91a6 e58db3
5281             91a7 e681af
5282             91a8 e68d89
5283             91a9 e69d9f
5284             91aa e6b8ac
5285             91ab e8b6b3
5286             91ac e9809f
5287             91ad e4bf97
5288             91ae e5b19e
5289             91af e8b38a
5290             91b0 e6978f
5291             91b1 e7b69a
5292             91b2 e58d92
5293             91b3 e8a296
5294             91b4 e585b6
5295             91b5 e68f83
5296             91b6 e5ad98
5297             91b7 e5adab
5298             91b8 e5b08a
5299             91b9 e6908d
5300             91ba e69d91
5301             91bb e9819c
5302             91bc e4bb96
5303             91bd e5a49a
5304             91be e5a4aa
5305             91bf e6b1b0
5306             91c0 e8a991
5307             91c1 e594be
5308             91c2 e5a095
5309             91c3 e5a6a5
5310             91c4 e683b0
5311             91c5 e68993
5312             91c6 e69f81
5313             91c7 e888b5
5314             91c8 e6a595
5315             91c9 e99980
5316             91ca e9a784
5317             91cb e9a8a8
5318             91cc e4bd93
5319             91cd e5a086
5320             91ce e5afbe
5321             91cf e88090
5322             91d0 e5b2b1
5323             91d1 e5b8af
5324             91d2 e5be85
5325             91d3 e680a0
5326             91d4 e6858b
5327             91d5 e688b4
5328             91d6 e69bbf
5329             91d7 e6b3b0
5330             91d8 e6bb9e
5331             91d9 e8838e
5332             91da e885bf
5333             91db e88b94
5334             91dc e8a28b
5335             91dd e8b2b8
5336             91de e98080
5337             91df e980ae
5338             91e0 e99a8a
5339             91e1 e9bb9b
5340             91e2 e9af9b
5341             91e3 e4bba3
5342             91e4 e58fb0
5343             91e5 e5a4a7
5344             91e6 e7acac
5345             91e7 e9868d
5346             91e8 e9a18c
5347             91e9 e9b7b9
5348             91ea e6bb9d
5349             91eb e780a7
5350             91ec e58d93
5351             91ed e59584
5352             91ee e5ae85
5353             91ef e68998
5354             91f0 e68a9e
5355             91f1 e68b93
5356             91f2 e6b2a2
5357             91f3 e6bfaf
5358             91f4 e790a2
5359             91f5 e8a897
5360             91f6 e990b8
5361             91f7 e6bf81
5362             91f8 e8abbe
5363             91f9 e88cb8
5364             91fa e587a7
5365             91fb e89bb8
5366             91fc e58faa
5367             9240 e58fa9
5368             9241 e4bd86
5369             9242 e98194
5370             9243 e8beb0
5371             9244 e5a5aa
5372             9245 e884b1
5373             9246 e5b7bd
5374             9247 e7abaa
5375             9248 e8bebf
5376             9249 e6a39a
5377             924a e8b0b7
5378             924b e78bb8
5379             924c e9b188
5380             924d e6a8bd
5381             924e e8aab0
5382             924f e4b8b9
5383             9250 e58d98
5384             9251 e59886
5385             9252 e59da6
5386             9253 e68b85
5387             9254 e68ea2
5388             9255 e697a6
5389             9256 e6ad8e
5390             9257 e6b7a1
5391             9258 e6b99b
5392             9259 e782ad
5393             925a e79fad
5394             925b e7abaf
5395             925c e7aeaa
5396             925d e7b6bb
5397             925e e880bd
5398             925f e88386
5399             9260 e89b8b
5400             9261 e8aa95
5401             9262 e98d9b
5402             9263 e59ba3
5403             9264 e5a387
5404             9265 e5bcbe
5405             9266 e696ad
5406             9267 e69a96
5407             9268 e6aa80
5408             9269 e6aeb5
5409             926a e794b7
5410             926b e8ab87
5411             926c e580a4
5412             926d e79fa5
5413             926e e59cb0
5414             926f e5bc9b
5415             9270 e681a5
5416             9271 e699ba
5417             9272 e6b1a0
5418             9273 e797b4
5419             9274 e7a89a
5420             9275 e7bdae
5421             9276 e887b4
5422             9277 e89c98
5423             9278 e98185
5424             9279 e9a6b3
5425             927a e7af89
5426             927b e7959c
5427             927c e7abb9
5428             927d e7ad91
5429             927e e89384
5430             9280 e98090
5431             9281 e7a7a9
5432             9282 e7aa92
5433             9283 e88cb6
5434             9284 e5aba1
5435             9285 e79d80
5436             9286 e4b8ad
5437             9287 e4bbb2
5438             9288 e5ae99
5439             9289 e5bfa0
5440             928a e68abd
5441             928b e698bc
5442             928c e69fb1
5443             928d e6b3a8
5444             928e e899ab
5445             928f e8a1b7
5446             9290 e8a8bb
5447             9291 e9858e
5448             9292 e98bb3
5449             9293 e9a790
5450             9294 e6a897
5451             9295 e780a6
5452             9296 e78caa
5453             9297 e88ba7
5454             9298 e89197
5455             9299 e8b2af
5456             929a e4b881
5457             929b e58586
5458             929c e5878b
5459             929d e5968b
5460             929e e5afb5
5461             929f e5b896
5462             92a0 e5b8b3
5463             92a1 e5ba81
5464             92a2 e5bc94
5465             92a3 e5bcb5
5466             92a4 e5bdab
5467             92a5 e5beb4
5468             92a6 e687b2
5469             92a7 e68c91
5470             92a8 e69aa2
5471             92a9 e69c9d
5472             92aa e6bdae
5473             92ab e78992
5474             92ac e794ba
5475             92ad e79cba
5476             92ae e881b4
5477             92af e884b9
5478             92b0 e885b8
5479             92b1 e89db6
5480             92b2 e8aabf
5481             92b3 e8ab9c
5482             92b4 e8b685
5483             92b5 e8b7b3
5484             92b6 e98a9a
5485             92b7 e995b7
5486             92b8 e9a082
5487             92b9 e9b3a5
5488             92ba e58b85
5489             92bb e68d97
5490             92bc e79bb4
5491             92bd e69c95
5492             92be e6b288
5493             92bf e78f8d
5494             92c0 e8b383
5495             92c1 e98eae
5496             92c2 e999b3
5497             92c3 e6b4a5
5498             92c4 e5a29c
5499             92c5 e6a48e
5500             92c6 e6a78c
5501             92c7 e8bfbd
5502             92c8 e98e9a
5503             92c9 e7979b
5504             92ca e9809a
5505             92cb e5a19a
5506             92cc e6a082
5507             92cd e68eb4
5508             92ce e6a7bb
5509             92cf e4bd83
5510             92d0 e6bcac
5511             92d1 e69f98
5512             92d2 e8bebb
5513             92d3 e894a6
5514             92d4 e7b6b4
5515             92d5 e98d94
5516             92d6 e6a4bf
5517             92d7 e6bdb0
5518             92d8 e59daa
5519             92d9 e5a3b7
5520             92da e5acac
5521             92db e7b4ac
5522             92dc e788aa
5523             92dd e5908a
5524             92de e987a3
5525             92df e9b6b4
5526             92e0 e4baad
5527             92e1 e4bd8e
5528             92e2 e5819c
5529             92e3 e581b5
5530             92e4 e58983
5531             92e5 e8b29e
5532             92e6 e59188
5533             92e7 e5a0a4
5534             92e8 e5ae9a
5535             92e9 e5b89d
5536             92ea e5ba95
5537             92eb e5baad
5538             92ec e5bbb7
5539             92ed e5bc9f
5540             92ee e6828c
5541             92ef e68ab5
5542             92f0 e68cba
5543             92f1 e68f90
5544             92f2 e6a2af
5545             92f3 e6b180
5546             92f4 e7a287
5547             92f5 e7a68e
5548             92f6 e7a88b
5549             92f7 e7b7a0
5550             92f8 e88987
5551             92f9 e8a882
5552             92fa e8aba6
5553             92fb e8b984
5554             92fc e98093
5555             9340 e982b8
5556             9341 e984ad
5557             9342 e98798
5558             9343 e9bc8e
5559             9344 e6b3a5
5560             9345 e69198
5561             9346 e693a2
5562             9347 e695b5
5563             9348 e6bbb4
5564             9349 e79a84
5565             934a e7ac9b
5566             934b e981a9
5567             934c e98f91
5568             934d e6baba
5569             934e e593b2
5570             934f e5beb9
5571             9350 e692a4
5572             9351 e8bd8d
5573             9352 e8bfad
5574             9353 e98984
5575             9354 e585b8
5576             9355 e5a1ab
5577             9356 e5a4a9
5578             9357 e5b195
5579             9358 e5ba97
5580             9359 e6b7bb
5581             935a e7ba8f
5582             935b e7949c
5583             935c e8b2bc
5584             935d e8bba2
5585             935e e9a19b
5586             935f e782b9
5587             9360 e4bc9d
5588             9361 e6aebf
5589             9362 e6beb1
5590             9363 e794b0
5591             9364 e99bbb
5592             9365 e5858e
5593             9366 e59090
5594             9367 e5a0b5
5595             9368 e5a197
5596             9369 e5a6ac
5597             936a e5b1a0
5598             936b e5be92
5599             936c e69697
5600             936d e69d9c
5601             936e e6b8a1
5602             936f e799bb
5603             9370 e88f9f
5604             9371 e8b3ad
5605             9372 e98094
5606             9373 e983bd
5607             9374 e98d8d
5608             9375 e7a0a5
5609             9376 e7a0ba
5610             9377 e58aaa
5611             9378 e5baa6
5612             9379 e59c9f
5613             937a e5a5b4
5614             937b e68092
5615             937c e58092
5616             937d e5859a
5617             937e e586ac
5618             9380 e5878d
5619             9381 e58880
5620             9382 e59490
5621             9383 e5a194
5622             9384 e5a198
5623             9385 e5a597
5624             9386 e5ae95
5625             9387 e5b3b6
5626             9388 e5b68b
5627             9389 e682bc
5628             938a e68a95
5629             938b e690ad
5630             938c e69db1
5631             938d e6a183
5632             938e e6a2bc
5633             938f e6a39f
5634             9390 e79b97
5635             9391 e6b798
5636             9392 e6b9af
5637             9393 e6b69b
5638             9394 e781af
5639             9395 e78788
5640             9396 e5bd93
5641             9397 e79798
5642             9398 e7a5b7
5643             9399 e7ad89
5644             939a e7ad94
5645             939b e7ad92
5646             939c e7b396
5647             939d e7b5b1
5648             939e e588b0
5649             939f e891a3
5650             93a0 e895a9
5651             93a1 e897a4
5652             93a2 e8a88e
5653             93a3 e8ac84
5654             93a4 e8b186
5655             93a5 e8b88f
5656             93a6 e98083
5657             93a7 e9808f
5658             93a8 e99099
5659             93a9 e999b6
5660             93aa e9a0ad
5661             93ab e9a8b0
5662             93ac e99798
5663             93ad e5838d
5664             93ae e58b95
5665             93af e5908c
5666             93b0 e5a082
5667             93b1 e5b08e
5668             93b2 e686a7
5669             93b3 e6929e
5670             93b4 e6b49e
5671             93b5 e79eb3
5672             93b6 e7aba5
5673             93b7 e883b4
5674             93b8 e89084
5675             93b9 e98193
5676             93ba e98a85
5677             93bb e5b3a0
5678             93bc e9b487
5679             93bd e58cbf
5680             93be e5be97
5681             93bf e5beb3
5682             93c0 e6b69c
5683             93c1 e789b9
5684             93c2 e79da3
5685             93c3 e7a6bf
5686             93c4 e7afa4
5687             93c5 e6af92
5688             93c6 e78bac
5689             93c7 e8aaad
5690             93c8 e6a083
5691             93c9 e6a9a1
5692             93ca e587b8
5693             93cb e7aa81
5694             93cc e6a4b4
5695             93cd e5b18a
5696             93ce e9b3b6
5697             93cf e88bab
5698             93d0 e5af85
5699             93d1 e98589
5700             93d2 e7809e
5701             93d3 e599b8
5702             93d4 e5b1af
5703             93d5 e68387
5704             93d6 e695a6
5705             93d7 e6b28c
5706             93d8 e8b19a
5707             93d9 e98181
5708             93da e9a093
5709             93db e59191
5710             93dc e69b87
5711             93dd e9888d
5712             93de e5a588
5713             93df e982a3
5714             93e0 e58685
5715             93e1 e4b98d
5716             93e2 e587aa
5717             93e3 e89699
5718             93e4 e8ac8e
5719             93e5 e78198
5720             93e6 e68dba
5721             93e7 e98d8b
5722             93e8 e6a5a2
5723             93e9 e9a6b4
5724             93ea e7b884
5725             93eb e795b7
5726             93ec e58d97
5727             93ed e6a5a0
5728             93ee e8bb9f
5729             93ef e99ba3
5730             93f0 e6b19d
5731             93f1 e4ba8c
5732             93f2 e5b0bc
5733             93f3 e5bc90
5734             93f4 e8bfa9
5735             93f5 e58c82
5736             93f6 e8b391
5737             93f7 e88289
5738             93f8 e899b9
5739             93f9 e5bbbf
5740             93fa e697a5
5741             93fb e4b9b3
5742             93fc e585a5
5743             9440 e5a682
5744             9441 e5b0bf
5745             9442 e99fae
5746             9443 e4bbbb
5747             9444 e5a68a
5748             9445 e5bf8d
5749             9446 e8aa8d
5750             9447 e6bfa1
5751             9448 e7a6b0
5752             9449 e7a5a2
5753             944a e5afa7
5754             944b e891b1
5755             944c e78cab
5756             944d e786b1
5757             944e e5b9b4
5758             944f e5bfb5
5759             9450 e68dbb
5760             9451 e6929a
5761             9452 e78783
5762             9453 e7b298
5763             9454 e4b983
5764             9455 e5bbbc
5765             9456 e4b98b
5766             9457 e59f9c
5767             9458 e59aa2
5768             9459 e682a9
5769             945a e6bf83
5770             945b e7b48d
5771             945c e883bd
5772             945d e884b3
5773             945e e886bf
5774             945f e8beb2
5775             9460 e8a697
5776             9461 e89aa4
5777             9462 e5b7b4
5778             9463 e68a8a
5779             9464 e692ad
5780             9465 e8a687
5781             9466 e69db7
5782             9467 e6b3a2
5783             9468 e6b4be
5784             9469 e790b6
5785             946a e7a0b4
5786             946b e5a986
5787             946c e7bdb5
5788             946d e88aad
5789             946e e9a6ac
5790             946f e4bfb3
5791             9470 e5bb83
5792             9471 e68b9d
5793             9472 e68e92
5794             9473 e69597
5795             9474 e69daf
5796             9475 e79b83
5797             9476 e7898c
5798             9477 e8838c
5799             9478 e882ba
5800             9479 e8bca9
5801             947a e9858d
5802             947b e5808d
5803             947c e59fb9
5804             947d e5aa92
5805             947e e6a285
5806             9480 e6a5b3
5807             9481 e785a4
5808             9482 e78bbd
5809             9483 e8b2b7
5810             9484 e5a3b2
5811             9485 e8b3a0
5812             9486 e999aa
5813             9487 e98099
5814             9488 e89dbf
5815             9489 e7a7a4
5816             948a e79fa7
5817             948b e890a9
5818             948c e4bcaf
5819             948d e589a5
5820             948e e58d9a
5821             948f e68b8d
5822             9490 e69f8f
5823             9491 e6b38a
5824             9492 e799bd
5825             9493 e7ae94
5826             9494 e7b295
5827             9495 e888b6
5828             9496 e89684
5829             9497 e8bfab
5830             9498 e69b9d
5831             9499 e6bca0
5832             949a e78886
5833             949b e7b89b
5834             949c e88eab
5835             949d e9a781
5836             949e e9baa6
5837             949f e587bd
5838             94a0 e7aeb1
5839             94a1 e7a1b2
5840             94a2 e7aeb8
5841             94a3 e88287
5842             94a4 e7ad88
5843             94a5 e6aba8
5844             94a6 e5b9a1
5845             94a7 e8828c
5846             94a8 e79591
5847             94a9 e795a0
5848             94aa e585ab
5849             94ab e989a2
5850             94ac e6ba8c
5851             94ad e799ba
5852             94ae e98697
5853             94af e9abaa
5854             94b0 e4bc90
5855             94b1 e7bdb0
5856             94b2 e68a9c
5857             94b3 e7ad8f
5858             94b4 e996a5
5859             94b5 e9b3a9
5860             94b6 e599ba
5861             94b7 e5a199
5862             94b8 e89ba4
5863             94b9 e99abc
5864             94ba e4bcb4
5865             94bb e588a4
5866             94bc e58d8a
5867             94bd e58f8d
5868             94be e58f9b
5869             94bf e5b886
5870             94c0 e690ac
5871             94c1 e69691
5872             94c2 e69dbf
5873             94c3 e6b0be
5874             94c4 e6b18e
5875             94c5 e78988
5876             94c6 e78aaf
5877             94c7 e78fad
5878             94c8 e79594
5879             94c9 e7b981
5880             94ca e888ac
5881             94cb e897a9
5882             94cc e8b2a9
5883             94cd e7af84
5884             94ce e98786
5885             94cf e785a9
5886             94d0 e9a092
5887             94d1 e9a3af
5888             94d2 e68cbd
5889             94d3 e699a9
5890             94d4 e795aa
5891             94d5 e79ba4
5892             94d6 e7a390
5893             94d7 e89583
5894             94d8 e89bae
5895             94d9 e58caa
5896             94da e58d91
5897             94db e590a6
5898             94dc e5a683
5899             94dd e5ba87
5900             94de e5bdbc
5901             94df e682b2
5902             94e0 e68989
5903             94e1 e689b9
5904             94e2 e68aab
5905             94e3 e69690
5906             94e4 e6af94
5907             94e5 e6b38c
5908             94e6 e796b2
5909             94e7 e79aae
5910             94e8 e7a291
5911             94e9 e7a798
5912             94ea e7b78b
5913             94eb e7bdb7
5914             94ec e882a5
5915             94ed e8a2ab
5916             94ee e8aab9
5917             94ef e8b2bb
5918             94f0 e981bf
5919             94f1 e99d9e
5920             94f2 e9a39b
5921             94f3 e6a88b
5922             94f4 e7b0b8
5923             94f5 e58299
5924             94f6 e5b0be
5925             94f7 e5beae
5926             94f8 e69e87
5927             94f9 e6af98
5928             94fa e790b5
5929             94fb e79c89
5930             94fc e7be8e
5931             9540 e9bcbb
5932             9541 e69f8a
5933             9542 e7a897
5934             9543 e58cb9
5935             9544 e7968b
5936             9545 e9abad
5937             9546 e5bda6
5938             9547 e8869d
5939             9548 e88fb1
5940             9549 e88298
5941             954a e5bcbc
5942             954b e5bf85
5943             954c e795a2
5944             954d e7ad86
5945             954e e980bc
5946             954f e6a1a7
5947             9550 e5a7ab
5948             9551 e5aa9b
5949             9552 e7b490
5950             9553 e799be
5951             9554 e8acac
5952             9555 e4bfb5
5953             9556 e5bdaa
5954             9557 e6a899
5955             9558 e6b0b7
5956             9559 e6bc82
5957             955a e793a2
5958             955b e7a5a8
5959             955c e8a1a8
5960             955d e8a995
5961             955e e8b1b9
5962             955f e5bb9f
5963             9560 e68f8f
5964             9561 e79785
5965             9562 e7a792
5966             9563 e88b97
5967             9564 e98ca8
5968             9565 e98bb2
5969             9566 e8929c
5970             9567 e89bad
5971             9568 e9b0ad
5972             9569 e59381
5973             956a e5bdac
5974             956b e6968c
5975             956c e6b59c
5976             956d e78095
5977             956e e8b2a7
5978             956f e8b393
5979             9570 e9a0bb
5980             9571 e6958f
5981             9572 e793b6
5982             9573 e4b88d
5983             9574 e4bb98
5984             9575 e59fa0
5985             9576 e5a4ab
5986             9577 e5a9a6
5987             9578 e5af8c
5988             9579 e586a8
5989             957a e5b883
5990             957b e5ba9c
5991             957c e68096
5992             957d e689b6
5993             957e e695b7
5994             9580 e696a7
5995             9581 e699ae
5996             9582 e6b5ae
5997             9583 e788b6
5998             9584 e7aca6
5999             9585 e88590
6000             9586 e8869a
6001             9587 e88a99
6002             9588 e8ad9c
6003             9589 e8b2a0
6004             958a e8b3a6
6005             958b e8b5b4
6006             958c e9989c
6007             958d e99984
6008             958e e4beae
6009             958f e692ab
6010             9590 e6ada6
6011             9591 e8889e
6012             9592 e891a1
6013             9593 e895aa
6014             9594 e983a8
6015             9595 e5b081
6016             9596 e6a593
6017             9597 e9a2a8
6018             9598 e891ba
6019             9599 e89597
6020             959a e4bc8f
6021             959b e589af
6022             959c e5bea9
6023             959d e5b985
6024             959e e69c8d
6025             959f e7a68f
6026             95a0 e885b9
6027             95a1 e8a487
6028             95a2 e8a686
6029             95a3 e6b7b5
6030             95a4 e5bc97
6031             95a5 e68995
6032             95a6 e6b2b8
6033             95a7 e4bb8f
6034             95a8 e789a9
6035             95a9 e9ae92
6036             95aa e58886
6037             95ab e590bb
6038             95ac e599b4
6039             95ad e5a2b3
6040             95ae e686a4
6041             95af e689ae
6042             95b0 e7849a
6043             95b1 e5a5ae
6044             95b2 e7b289
6045             95b3 e7b39e
6046             95b4 e7b49b
6047             95b5 e99bb0
6048             95b6 e69687
6049             95b7 e8819e
6050             95b8 e4b899
6051             95b9 e4bdb5
6052             95ba e585b5
6053             95bb e5a180
6054             95bc e5b9a3
6055             95bd e5b9b3
6056             95be e5bc8a
6057             95bf e69f84
6058             95c0 e4b8a6
6059             95c1 e894bd
6060             95c2 e99689
6061             95c3 e9999b
6062             95c4 e7b1b3
6063             95c5 e9a081
6064             95c6 e583bb
6065             95c7 e5a381
6066             95c8 e79996
6067             95c9 e7a2a7
6068             95ca e588a5
6069             95cb e79ea5
6070             95cc e89491
6071             95cd e7ae86
6072             95ce e5818f
6073             95cf e5a489
6074             95d0 e78987
6075             95d1 e7af87
6076             95d2 e7b7a8
6077             95d3 e8beba
6078             95d4 e8bf94
6079             95d5 e9818d
6080             95d6 e4bebf
6081             95d7 e58b89
6082             95d8 e5a8a9
6083             95d9 e5bc81
6084             95da e99ead
6085             95db e4bf9d
6086             95dc e88897
6087             95dd e98baa
6088             95de e59c83
6089             95df e68d95
6090             95e0 e6ada9
6091             95e1 e794ab
6092             95e2 e8a39c
6093             95e3 e8bc94
6094             95e4 e7a982
6095             95e5 e58b9f
6096             95e6 e5a293
6097             95e7 e68595
6098             95e8 e6888a
6099             95e9 e69aae
6100             95ea e6af8d
6101             95eb e7b0bf
6102             95ec e88fa9
6103             95ed e580a3
6104             95ee e4bfb8
6105             95ef e58c85
6106             95f0 e59186
6107             95f1 e5a0b1
6108             95f2 e5a589
6109             95f3 e5ae9d
6110             95f4 e5b3b0
6111             95f5 e5b3af
6112             95f6 e5b4a9
6113             95f7 e5ba96
6114             95f8 e68ab1
6115             95f9 e68da7
6116             95fa e694be
6117             95fb e696b9
6118             95fc e69c8b
6119             9640 e6b395
6120             9641 e6b3a1
6121             9642 e783b9
6122             9643 e7a0b2
6123             9644 e7b8ab
6124             9645 e8839e
6125             9646 e88ab3
6126             9647 e8908c
6127             9648 e893ac
6128             9649 e89c82
6129             964a e8a492
6130             964b e8a8aa
6131             964c e8b18a
6132             964d e982a6
6133             964e e98b92
6134             964f e9a3bd
6135             9650 e9b3b3
6136             9651 e9b5ac
6137             9652 e4b98f
6138             9653 e4baa1
6139             9654 e5828d
6140             9655 e58996
6141             9656 e59d8a
6142             9657 e5a6a8
6143             9658 e5b8bd
6144             9659 e5bf98
6145             965a e5bf99
6146             965b e688bf
6147             965c e69ab4
6148             965d e69c9b
6149             965e e69f90
6150             965f e6a392
6151             9660 e58692
6152             9661 e7b4a1
6153             9662 e882aa
6154             9663 e886a8
6155             9664 e8ac80
6156             9665 e8b28c
6157             9666 e8b2bf
6158             9667 e989be
6159             9668 e998b2
6160             9669 e590a0
6161             966a e9a0ac
6162             966b e58c97
6163             966c e58395
6164             966d e58d9c
6165             966e e5a2a8
6166             966f e692b2
6167             9670 e69cb4
6168             9671 e789a7
6169             9672 e79da6
6170             9673 e7a986
6171             9674 e987a6
6172             9675 e58b83
6173             9676 e6b2a1
6174             9677 e6ae86
6175             9678 e5a080
6176             9679 e5b98c
6177             967a e5a594
6178             967b e69cac
6179             967c e7bfbb
6180             967d e587a1
6181             967e e79b86
6182             9680 e691a9
6183             9681 e7a3a8
6184             9682 e9ad94
6185             9683 e9babb
6186             9684 e59f8b
6187             9685 e5a6b9
6188             9686 e698a7
6189             9687 e69e9a
6190             9688 e6af8e
6191             9689 e593a9
6192             968a e6a799
6193             968b e5b995
6194             968c e8869c
6195             968d e69e95
6196             968e e9aeaa
6197             968f e69fbe
6198             9690 e9b192
6199             9691 e6a19d
6200             9692 e4baa6
6201             9693 e4bfa3
6202             9694 e58f88
6203             9695 e68ab9
6204             9696 e69cab
6205             9697 e6b2ab
6206             9698 e8bf84
6207             9699 e4bead
6208             969a e7b9ad
6209             969b e9babf
6210             969c e4b887
6211             969d e685a2
6212             969e e6ba80
6213             969f e6bcab
6214             96a0 e89493
6215             96a1 e591b3
6216             96a2 e69caa
6217             96a3 e9ad85
6218             96a4 e5b7b3
6219             96a5 e7ae95
6220             96a6 e5b2ac
6221             96a7 e5af86
6222             96a8 e89c9c
6223             96a9 e6b98a
6224             96aa e89391
6225             96ab e7a894
6226             96ac e88488
6227             96ad e5a699
6228             96ae e7b28d
6229             96af e6b091
6230             96b0 e79ca0
6231             96b1 e58b99
6232             96b2 e5a4a2
6233             96b3 e784a1
6234             96b4 e7899f
6235             96b5 e79f9b
6236             96b6 e99ca7
6237             96b7 e9b5a1
6238             96b8 e6a48b
6239             96b9 e5a9bf
6240             96ba e5a898
6241             96bb e586a5
6242             96bc e5908d
6243             96bd e591bd
6244             96be e6988e
6245             96bf e79b9f
6246             96c0 e8bfb7
6247             96c1 e98a98
6248             96c2 e9b3b4
6249             96c3 e5a7aa
6250             96c4 e7899d
6251             96c5 e6bb85
6252             96c6 e5858d
6253             96c7 e6a389
6254             96c8 e7b6bf
6255             96c9 e7b7ac
6256             96ca e99da2
6257             96cb e9baba
6258             96cc e691b8
6259             96cd e6a8a1
6260             96ce e88c82
6261             96cf e5a684
6262             96d0 e5ad9f
6263             96d1 e6af9b
6264             96d2 e78c9b
6265             96d3 e79bb2
6266             96d4 e7b6b2
6267             96d5 e88097
6268             96d6 e89299
6269             96d7 e584b2
6270             96d8 e69ca8
6271             96d9 e9bb99
6272             96da e79bae
6273             96db e69da2
6274             96dc e58bbf
6275             96dd e9a485
6276             96de e5b0a4
6277             96df e688bb
6278             96e0 e7b1be
6279             96e1 e8b2b0
6280             96e2 e5958f
6281             96e3 e682b6
6282             96e4 e7b48b
6283             96e5 e99680
6284             96e6 e58c81
6285             96e7 e4b99f
6286             96e8 e586b6
6287             96e9 e5a49c
6288             96ea e788ba
6289             96eb e880b6
6290             96ec e9878e
6291             96ed e5bca5
6292             96ee e79fa2
6293             96ef e58e84
6294             96f0 e5bdb9
6295             96f1 e7b484
6296             96f2 e896ac
6297             96f3 e8a8b3
6298             96f4 e8ba8d
6299             96f5 e99d96
6300             96f6 e69fb3
6301             96f7 e896ae
6302             96f8 e99193
6303             96f9 e68489
6304             96fa e68488
6305             96fb e6b2b9
6306             96fc e79992
6307             9740 e8abad
6308             9741 e8bcb8
6309             9742 e594af
6310             9743 e4bd91
6311             9744 e584aa
6312             9745 e58b87
6313             9746 e58f8b
6314             9747 e5aea5
6315             9748 e5b9bd
6316             9749 e682a0
6317             974a e68682
6318             974b e68f96
6319             974c e69c89
6320             974d e69f9a
6321             974e e6b9a7
6322             974f e6b68c
6323             9750 e78cb6
6324             9751 e78cb7
6325             9752 e794b1
6326             9753 e7a590
6327             9754 e8a395
6328             9755 e8aa98
6329             9756 e9818a
6330             9757 e98291
6331             9758 e983b5
6332             9759 e99b84
6333             975a e89e8d
6334             975b e5a495
6335             975c e4ba88
6336             975d e4bd99
6337             975e e4b88e
6338             975f e8aa89
6339             9760 e8bcbf
6340             9761 e9a090
6341             9762 e582ad
6342             9763 e5b9bc
6343             9764 e5a696
6344             9765 e5aeb9
6345             9766 e5bab8
6346             9767 e68f9a
6347             9768 e68fba
6348             9769 e69381
6349             976a e69b9c
6350             976b e6a58a
6351             976c e6a798
6352             976d e6b48b
6353             976e e6bab6
6354             976f e78694
6355             9770 e794a8
6356             9771 e7aaaf
6357             9772 e7be8a
6358             9773 e88080
6359             9774 e89189
6360             9775 e89389
6361             9776 e8a681
6362             9777 e8aca1
6363             9778 e8b88a
6364             9779 e981a5
6365             977a e999bd
6366             977b e9a48a
6367             977c e685be
6368             977d e68a91
6369             977e e6acb2
6370             9780 e6b283
6371             9781 e6b5b4
6372             9782 e7bf8c
6373             9783 e7bfbc
6374             9784 e6b780
6375             9785 e7be85
6376             9786 e89eba
6377             9787 e8a3b8
6378             9788 e69da5
6379             9789 e88eb1
6380             978a e9a0bc
6381             978b e99bb7
6382             978c e6b49b
6383             978d e7b5a1
6384             978e e890bd
6385             978f e985aa
6386             9790 e4b9b1
6387             9791 e58db5
6388             9792 e5b590
6389             9793 e6ac84
6390             9794 e6bfab
6391             9795 e8978d
6392             9796 e898ad
6393             9797 e8a6a7
6394             9798 e588a9
6395             9799 e5908f
6396             979a e5b1a5
6397             979b e69d8e
6398             979c e6a2a8
6399             979d e79086
6400             979e e79283
6401             979f e797a2
6402             97a0 e8a38f
6403             97a1 e8a3a1
6404             97a2 e9878c
6405             97a3 e99ba2
6406             97a4 e999b8
6407             97a5 e5be8b
6408             97a6 e78e87
6409             97a7 e7ab8b
6410             97a8 e8918e
6411             97a9 e68ea0
6412             97aa e795a5
6413             97ab e58a89
6414             97ac e6b581
6415             97ad e6ba9c
6416             97ae e79089
6417             97af e79599
6418             97b0 e7a1ab
6419             97b1 e7b292
6420             97b2 e99a86
6421             97b3 e7ab9c
6422             97b4 e9be8d
6423             97b5 e4beb6
6424             97b6 e685ae
6425             97b7 e69785
6426             97b8 e8999c
6427             97b9 e4ba86
6428             97ba e4baae
6429             97bb e5839a
6430             97bc e4b8a1
6431             97bd e5878c
6432             97be e5afae
6433             97bf e69699
6434             97c0 e6a281
6435             97c1 e6b6bc
6436             97c2 e78c9f
6437             97c3 e79982
6438             97c4 e79ead
6439             97c5 e7a89c
6440             97c6 e7b3a7
6441             97c7 e889af
6442             97c8 e8ab92
6443             97c9 e981bc
6444             97ca e9878f
6445             97cb e999b5
6446             97cc e9a098
6447             97cd e58a9b
6448             97ce e7b791
6449             97cf e580ab
6450             97d0 e58e98
6451             97d1 e69e97
6452             97d2 e6b78b
6453             97d3 e78790
6454             97d4 e790b3
6455             97d5 e887a8
6456             97d6 e8bcaa
6457             97d7 e99aa3
6458             97d8 e9b197
6459             97d9 e9ba9f
6460             97da e791a0
6461             97db e5a181
6462             97dc e6b699
6463             97dd e7b4af
6464             97de e9a19e
6465             97df e4bba4
6466             97e0 e4bcb6
6467             97e1 e4be8b
6468             97e2 e586b7
6469             97e3 e58ab1
6470             97e4 e5b6ba
6471             97e5 e6809c
6472             97e6 e78eb2
6473             97e7 e7a4bc
6474             97e8 e88b93
6475             97e9 e988b4
6476             97ea e99ab7
6477             97eb e99bb6
6478             97ec e99c8a
6479             97ed e9ba97
6480             97ee e9bda2
6481             97ef e69aa6
6482             97f0 e6adb4
6483             97f1 e58897
6484             97f2 e58aa3
6485             97f3 e78388
6486             97f4 e8a382
6487             97f5 e5bb89
6488             97f6 e6818b
6489             97f7 e68690
6490             97f8 e6bca3
6491             97f9 e78589
6492             97fa e7b0be
6493             97fb e7b7b4
6494             97fc e881af
6495             9840 e893ae
6496             9841 e980a3
6497             9842 e98cac
6498             9843 e59182
6499             9844 e9adaf
6500             9845 e6ab93
6501             9846 e78289
6502             9847 e8b382
6503             9848 e8b7af
6504             9849 e99cb2
6505             984a e58ab4
6506             984b e5a981
6507             984c e5bb8a
6508             984d e5bc84
6509             984e e69c97
6510             984f e6a5bc
6511             9850 e6a694
6512             9851 e6b5aa
6513             9852 e6bc8f
6514             9853 e789a2
6515             9854 e78bbc
6516             9855 e7afad
6517             9856 e88081
6518             9857 e881be
6519             9858 e89d8b
6520             9859 e9838e
6521             985a e585ad
6522             985b e9ba93
6523             985c e7a684
6524             985d e8828b
6525             985e e98cb2
6526             985f e8ab96
6527             9860 e580ad
6528             9861 e5928c
6529             9862 e8a9b1
6530             9863 e6adaa
6531             9864 e8b384
6532             9865 e88487
6533             9866 e68391
6534             9867 e69ea0
6535             9868 e9b7b2
6536             9869 e4ba99
6537             986a e4ba98
6538             986b e9b090
6539             986c e8a9ab
6540             986d e89781
6541             986e e895a8
6542             986f e6a480
6543             9870 e6b9be
6544             9871 e7a297
6545             9872 e88595
6546             END
6547              
6548 321 50       47188 if ( scalar(keys %sjis2utf8_1) != 3635 ) {
6549 0         0 die "scalar(keys %sjis2utf8_1) is ", scalar(keys %sjis2utf8_1), ".";
6550             }
6551              
6552             # (2 of 2) avoid "Allocation too large" of perl 4.036
6553              
6554 321         970723 %sjis2utf8_2 = split( /\s+/, <<'END' );
6555             989f e5bc8c
6556             98a0 e4b890
6557             98a1 e4b895
6558             98a2 e4b8aa
6559             98a3 e4b8b1
6560             98a4 e4b8b6
6561             98a5 e4b8bc
6562             98a6 e4b8bf
6563             98a7 e4b982
6564             98a8 e4b996
6565             98a9 e4b998
6566             98aa e4ba82
6567             98ab e4ba85
6568             98ac e8b1ab
6569             98ad e4ba8a
6570             98ae e88892
6571             98af e5bc8d
6572             98b0 e4ba8e
6573             98b1 e4ba9e
6574             98b2 e4ba9f
6575             98b3 e4baa0
6576             98b4 e4baa2
6577             98b5 e4bab0
6578             98b6 e4bab3
6579             98b7 e4bab6
6580             98b8 e4bb8e
6581             98b9 e4bb8d
6582             98ba e4bb84
6583             98bb e4bb86
6584             98bc e4bb82
6585             98bd e4bb97
6586             98be e4bb9e
6587             98bf e4bbad
6588             98c0 e4bb9f
6589             98c1 e4bbb7
6590             98c2 e4bc89
6591             98c3 e4bd9a
6592             98c4 e4bcb0
6593             98c5 e4bd9b
6594             98c6 e4bd9d
6595             98c7 e4bd97
6596             98c8 e4bd87
6597             98c9 e4bdb6
6598             98ca e4be88
6599             98cb e4be8f
6600             98cc e4be98
6601             98cd e4bdbb
6602             98ce e4bda9
6603             98cf e4bdb0
6604             98d0 e4be91
6605             98d1 e4bdaf
6606             98d2 e4be86
6607             98d3 e4be96
6608             98d4 e58498
6609             98d5 e4bf94
6610             98d6 e4bf9f
6611             98d7 e4bf8e
6612             98d8 e4bf98
6613             98d9 e4bf9b
6614             98da e4bf91
6615             98db e4bf9a
6616             98dc e4bf90
6617             98dd e4bfa4
6618             98de e4bfa5
6619             98df e5809a
6620             98e0 e580a8
6621             98e1 e58094
6622             98e2 e580aa
6623             98e3 e580a5
6624             98e4 e58085
6625             98e5 e4bc9c
6626             98e6 e4bfb6
6627             98e7 e580a1
6628             98e8 e580a9
6629             98e9 e580ac
6630             98ea e4bfbe
6631             98eb e4bfaf
6632             98ec e58091
6633             98ed e58086
6634             98ee e58183
6635             98ef e58187
6636             98f0 e69c83
6637             98f1 e58195
6638             98f2 e58190
6639             98f3 e58188
6640             98f4 e5819a
6641             98f5 e58196
6642             98f6 e581ac
6643             98f7 e581b8
6644             98f8 e58280
6645             98f9 e5829a
6646             98fa e58285
6647             98fb e582b4
6648             98fc e582b2
6649             9940 e58389
6650             9941 e5838a
6651             9942 e582b3
6652             9943 e58382
6653             9944 e58396
6654             9945 e5839e
6655             9946 e583a5
6656             9947 e583ad
6657             9948 e583a3
6658             9949 e583ae
6659             994a e583b9
6660             994b e583b5
6661             994c e58489
6662             994d e58481
6663             994e e58482
6664             994f e58496
6665             9950 e58495
6666             9951 e58494
6667             9952 e5849a
6668             9953 e584a1
6669             9954 e584ba
6670             9955 e584b7
6671             9956 e584bc
6672             9957 e584bb
6673             9958 e584bf
6674             9959 e58580
6675             995a e58592
6676             995b e5858c
6677             995c e58594
6678             995d e585a2
6679             995e e7abb8
6680             995f e585a9
6681             9960 e585aa
6682             9961 e585ae
6683             9962 e58680
6684             9963 e58682
6685             9964 e59b98
6686             9965 e5868c
6687             9966 e58689
6688             9967 e5868f
6689             9968 e58691
6690             9969 e58693
6691             996a e58695
6692             996b e58696
6693             996c e586a4
6694             996d e586a6
6695             996e e586a2
6696             996f e586a9
6697             9970 e586aa
6698             9971 e586ab
6699             9972 e586b3
6700             9973 e586b1
6701             9974 e586b2
6702             9975 e586b0
6703             9976 e586b5
6704             9977 e586bd
6705             9978 e58785
6706             9979 e58789
6707             997a e5879b
6708             997b e587a0
6709             997c e89995
6710             997d e587a9
6711             997e e587ad
6712             9980 e587b0
6713             9981 e587b5
6714             9982 e587be
6715             9983 e58884
6716             9984 e5888b
6717             9985 e58894
6718             9986 e5888e
6719             9987 e588a7
6720             9988 e588aa
6721             9989 e588ae
6722             998a e588b3
6723             998b e588b9
6724             998c e5898f
6725             998d e58984
6726             998e e5898b
6727             998f e5898c
6728             9990 e5899e
6729             9991 e58994
6730             9992 e589aa
6731             9993 e589b4
6732             9994 e589a9
6733             9995 e589b3
6734             9996 e589bf
6735             9997 e589bd
6736             9998 e58a8d
6737             9999 e58a94
6738             999a e58a92
6739             999b e589b1
6740             999c e58a88
6741             999d e58a91
6742             999e e8bea8
6743             999f e8bea7
6744             99a0 e58aac
6745             99a1 e58aad
6746             99a2 e58abc
6747             99a3 e58ab5
6748             99a4 e58b81
6749             99a5 e58b8d
6750             99a6 e58b97
6751             99a7 e58b9e
6752             99a8 e58ba3
6753             99a9 e58ba6
6754             99aa e9a3ad
6755             99ab e58ba0
6756             99ac e58bb3
6757             99ad e58bb5
6758             99ae e58bb8
6759             99af e58bb9
6760             99b0 e58c86
6761             99b1 e58c88
6762             99b2 e794b8
6763             99b3 e58c8d
6764             99b4 e58c90
6765             99b5 e58c8f
6766             99b6 e58c95
6767             99b7 e58c9a
6768             99b8 e58ca3
6769             99b9 e58caf
6770             99ba e58cb1
6771             99bb e58cb3
6772             99bc e58cb8
6773             99bd e58d80
6774             99be e58d86
6775             99bf e58d85
6776             99c0 e4b897
6777             99c1 e58d89
6778             99c2 e58d8d
6779             99c3 e58796
6780             99c4 e58d9e
6781             99c5 e58da9
6782             99c6 e58dae
6783             99c7 e5a498
6784             99c8 e58dbb
6785             99c9 e58db7
6786             99ca e58e82
6787             99cb e58e96
6788             99cc e58ea0
6789             99cd e58ea6
6790             99ce e58ea5
6791             99cf e58eae
6792             99d0 e58eb0
6793             99d1 e58eb6
6794             99d2 e58f83
6795             99d3 e7b092
6796             99d4 e99b99
6797             99d5 e58f9f
6798             99d6 e69bbc
6799             99d7 e787ae
6800             99d8 e58fae
6801             99d9 e58fa8
6802             99da e58fad
6803             99db e58fba
6804             99dc e59081
6805             99dd e590bd
6806             99de e59180
6807             99df e590ac
6808             99e0 e590ad
6809             99e1 e590bc
6810             99e2 e590ae
6811             99e3 e590b6
6812             99e4 e590a9
6813             99e5 e5909d
6814             99e6 e5918e
6815             99e7 e5928f
6816             99e8 e591b5
6817             99e9 e5928e
6818             99ea e5919f
6819             99eb e591b1
6820             99ec e591b7
6821             99ed e591b0
6822             99ee e59292
6823             99ef e591bb
6824             99f0 e59280
6825             99f1 e591b6
6826             99f2 e59284
6827             99f3 e59290
6828             99f4 e59286
6829             99f5 e59387
6830             99f6 e592a2
6831             99f7 e592b8
6832             99f8 e592a5
6833             99f9 e592ac
6834             99fa e59384
6835             99fb e59388
6836             99fc e592a8
6837             9a40 e592ab
6838             9a41 e59382
6839             9a42 e592a4
6840             9a43 e592be
6841             9a44 e592bc
6842             9a45 e59398
6843             9a46 e593a5
6844             9a47 e593a6
6845             9a48 e5948f
6846             9a49 e59494
6847             9a4a e593bd
6848             9a4b e593ae
6849             9a4c e593ad
6850             9a4d e593ba
6851             9a4e e593a2
6852             9a4f e594b9
6853             9a50 e59580
6854             9a51 e595a3
6855             9a52 e5958c
6856             9a53 e594ae
6857             9a54 e5959c
6858             9a55 e59585
6859             9a56 e59596
6860             9a57 e59597
6861             9a58 e594b8
6862             9a59 e594b3
6863             9a5a e5959d
6864             9a5b e59699
6865             9a5c e59680
6866             9a5d e592af
6867             9a5e e5968a
6868             9a5f e5969f
6869             9a60 e595bb
6870             9a61 e595be
6871             9a62 e59698
6872             9a63 e5969e
6873             9a64 e596ae
6874             9a65 e595bc
6875             9a66 e59683
6876             9a67 e596a9
6877             9a68 e59687
6878             9a69 e596a8
6879             9a6a e5979a
6880             9a6b e59785
6881             9a6c e5979f
6882             9a6d e59784
6883             9a6e e5979c
6884             9a6f e597a4
6885             9a70 e59794
6886             9a71 e59894
6887             9a72 e597b7
6888             9a73 e59896
6889             9a74 e597be
6890             9a75 e597bd
6891             9a76 e5989b
6892             9a77 e597b9
6893             9a78 e5998e
6894             9a79 e59990
6895             9a7a e7879f
6896             9a7b e598b4
6897             9a7c e598b6
6898             9a7d e598b2
6899             9a7e e598b8
6900             9a80 e599ab
6901             9a81 e599a4
6902             9a82 e598af
6903             9a83 e599ac
6904             9a84 e599aa
6905             9a85 e59a86
6906             9a86 e59a80
6907             9a87 e59a8a
6908             9a88 e59aa0
6909             9a89 e59a94
6910             9a8a e59a8f
6911             9a8b e59aa5
6912             9a8c e59aae
6913             9a8d e59ab6
6914             9a8e e59ab4
6915             9a8f e59b82
6916             9a90 e59abc
6917             9a91 e59b81
6918             9a92 e59b83
6919             9a93 e59b80
6920             9a94 e59b88
6921             9a95 e59b8e
6922             9a96 e59b91
6923             9a97 e59b93
6924             9a98 e59b97
6925             9a99 e59bae
6926             9a9a e59bb9
6927             9a9b e59c80
6928             9a9c e59bbf
6929             9a9d e59c84
6930             9a9e e59c89
6931             9a9f e59c88
6932             9aa0 e59c8b
6933             9aa1 e59c8d
6934             9aa2 e59c93
6935             9aa3 e59c98
6936             9aa4 e59c96
6937             9aa5 e59787
6938             9aa6 e59c9c
6939             9aa7 e59ca6
6940             9aa8 e59cb7
6941             9aa9 e59cb8
6942             9aaa e59d8e
6943             9aab e59cbb
6944             9aac e59d80
6945             9aad e59d8f
6946             9aae e59da9
6947             9aaf e59f80
6948             9ab0 e59e88
6949             9ab1 e59da1
6950             9ab2 e59dbf
6951             9ab3 e59e89
6952             9ab4 e59e93
6953             9ab5 e59ea0
6954             9ab6 e59eb3
6955             9ab7 e59ea4
6956             9ab8 e59eaa
6957             9ab9 e59eb0
6958             9aba e59f83
6959             9abb e59f86
6960             9abc e59f94
6961             9abd e59f92
6962             9abe e59f93
6963             9abf e5a08a
6964             9ac0 e59f96
6965             9ac1 e59fa3
6966             9ac2 e5a08b
6967             9ac3 e5a099
6968             9ac4 e5a09d
6969             9ac5 e5a1b2
6970             9ac6 e5a0a1
6971             9ac7 e5a1a2
6972             9ac8 e5a18b
6973             9ac9 e5a1b0
6974             9aca e6af80
6975             9acb e5a192
6976             9acc e5a0bd
6977             9acd e5a1b9
6978             9ace e5a285
6979             9acf e5a2b9
6980             9ad0 e5a29f
6981             9ad1 e5a2ab
6982             9ad2 e5a2ba
6983             9ad3 e5a39e
6984             9ad4 e5a2bb
6985             9ad5 e5a2b8
6986             9ad6 e5a2ae
6987             9ad7 e5a385
6988             9ad8 e5a393
6989             9ad9 e5a391
6990             9ada e5a397
6991             9adb e5a399
6992             9adc e5a398
6993             9add e5a3a5
6994             9ade e5a39c
6995             9adf e5a3a4
6996             9ae0 e5a39f
6997             9ae1 e5a3af
6998             9ae2 e5a3ba
6999             9ae3 e5a3b9
7000             9ae4 e5a3bb
7001             9ae5 e5a3bc
7002             9ae6 e5a3bd
7003             9ae7 e5a482
7004             9ae8 e5a48a
7005             9ae9 e5a490
7006             9aea e5a49b
7007             9aeb e6a2a6
7008             9aec e5a4a5
7009             9aed e5a4ac
7010             9aee e5a4ad
7011             9aef e5a4b2
7012             9af0 e5a4b8
7013             9af1 e5a4be
7014             9af2 e7ab92
7015             9af3 e5a595
7016             9af4 e5a590
7017             9af5 e5a58e
7018             9af6 e5a59a
7019             9af7 e5a598
7020             9af8 e5a5a2
7021             9af9 e5a5a0
7022             9afa e5a5a7
7023             9afb e5a5ac
7024             9afc e5a5a9
7025             9b40 e5a5b8
7026             9b41 e5a681
7027             9b42 e5a69d
7028             9b43 e4bd9e
7029             9b44 e4beab
7030             9b45 e5a6a3
7031             9b46 e5a6b2
7032             9b47 e5a786
7033             9b48 e5a7a8
7034             9b49 e5a79c
7035             9b4a e5a68d
7036             9b4b e5a799
7037             9b4c e5a79a
7038             9b4d e5a8a5
7039             9b4e e5a89f
7040             9b4f e5a891
7041             9b50 e5a89c
7042             9b51 e5a889
7043             9b52 e5a89a
7044             9b53 e5a980
7045             9b54 e5a9ac
7046             9b55 e5a989
7047             9b56 e5a8b5
7048             9b57 e5a8b6
7049             9b58 e5a9a2
7050             9b59 e5a9aa
7051             9b5a e5aa9a
7052             9b5b e5aabc
7053             9b5c e5aabe
7054             9b5d e5ab8b
7055             9b5e e5ab82
7056             9b5f e5aabd
7057             9b60 e5aba3
7058             9b61 e5ab97
7059             9b62 e5aba6
7060             9b63 e5aba9
7061             9b64 e5ab96
7062             9b65 e5abba
7063             9b66 e5abbb
7064             9b67 e5ac8c
7065             9b68 e5ac8b
7066             9b69 e5ac96
7067             9b6a e5acb2
7068             9b6b e5ab90
7069             9b6c e5acaa
7070             9b6d e5acb6
7071             9b6e e5acbe
7072             9b6f e5ad83
7073             9b70 e5ad85
7074             9b71 e5ad80
7075             9b72 e5ad91
7076             9b73 e5ad95
7077             9b74 e5ad9a
7078             9b75 e5ad9b
7079             9b76 e5ada5
7080             9b77 e5ada9
7081             9b78 e5adb0
7082             9b79 e5adb3
7083             9b7a e5adb5
7084             9b7b e5adb8
7085             9b7c e69688
7086             9b7d e5adba
7087             9b7e e5ae80
7088             9b80 e5ae83
7089             9b81 e5aea6
7090             9b82 e5aeb8
7091             9b83 e5af83
7092             9b84 e5af87
7093             9b85 e5af89
7094             9b86 e5af94
7095             9b87 e5af90
7096             9b88 e5afa4
7097             9b89 e5afa6
7098             9b8a e5afa2
7099             9b8b e5af9e
7100             9b8c e5afa5
7101             9b8d e5afab
7102             9b8e e5afb0
7103             9b8f e5afb6
7104             9b90 e5afb3
7105             9b91 e5b085
7106             9b92 e5b087
7107             9b93 e5b088
7108             9b94 e5b08d
7109             9b95 e5b093
7110             9b96 e5b0a0
7111             9b97 e5b0a2
7112             9b98 e5b0a8
7113             9b99 e5b0b8
7114             9b9a e5b0b9
7115             9b9b e5b181
7116             9b9c e5b186
7117             9b9d e5b18e
7118             9b9e e5b193
7119             9b9f e5b190
7120             9ba0 e5b18f
7121             9ba1 e5adb1
7122             9ba2 e5b1ac
7123             9ba3 e5b1ae
7124             9ba4 e4b9a2
7125             9ba5 e5b1b6
7126             9ba6 e5b1b9
7127             9ba7 e5b28c
7128             9ba8 e5b291
7129             9ba9 e5b294
7130             9baa e5a69b
7131             9bab e5b2ab
7132             9bac e5b2bb
7133             9bad e5b2b6
7134             9bae e5b2bc
7135             9baf e5b2b7
7136             9bb0 e5b385
7137             9bb1 e5b2be
7138             9bb2 e5b387
7139             9bb3 e5b399
7140             9bb4 e5b3a9
7141             9bb5 e5b3bd
7142             9bb6 e5b3ba
7143             9bb7 e5b3ad
7144             9bb8 e5b68c
7145             9bb9 e5b3aa
7146             9bba e5b48b
7147             9bbb e5b495
7148             9bbc e5b497
7149             9bbd e5b59c
7150             9bbe e5b49f
7151             9bbf e5b49b
7152             9bc0 e5b491
7153             9bc1 e5b494
7154             9bc2 e5b4a2
7155             9bc3 e5b49a
7156             9bc4 e5b499
7157             9bc5 e5b498
7158             9bc6 e5b58c
7159             9bc7 e5b592
7160             9bc8 e5b58e
7161             9bc9 e5b58b
7162             9bca e5b5ac
7163             9bcb e5b5b3
7164             9bcc e5b5b6
7165             9bcd e5b687
7166             9bce e5b684
7167             9bcf e5b682
7168             9bd0 e5b6a2
7169             9bd1 e5b69d
7170             9bd2 e5b6ac
7171             9bd3 e5b6ae
7172             9bd4 e5b6bd
7173             9bd5 e5b690
7174             9bd6 e5b6b7
7175             9bd7 e5b6bc
7176             9bd8 e5b789
7177             9bd9 e5b78d
7178             9bda e5b793
7179             9bdb e5b792
7180             9bdc e5b796
7181             9bdd e5b79b
7182             9bde e5b7ab
7183             9bdf e5b7b2
7184             9be0 e5b7b5
7185             9be1 e5b88b
7186             9be2 e5b89a
7187             9be3 e5b899
7188             9be4 e5b891
7189             9be5 e5b89b
7190             9be6 e5b8b6
7191             9be7 e5b8b7
7192             9be8 e5b984
7193             9be9 e5b983
7194             9bea e5b980
7195             9beb e5b98e
7196             9bec e5b997
7197             9bed e5b994
7198             9bee e5b99f
7199             9bef e5b9a2
7200             9bf0 e5b9a4
7201             9bf1 e5b987
7202             9bf2 e5b9b5
7203             9bf3 e5b9b6
7204             9bf4 e5b9ba
7205             9bf5 e9babc
7206             9bf6 e5b9bf
7207             9bf7 e5baa0
7208             9bf8 e5bb81
7209             9bf9 e5bb82
7210             9bfa e5bb88
7211             9bfb e5bb90
7212             9bfc e5bb8f
7213             9c40 e5bb96
7214             9c41 e5bba3
7215             9c42 e5bb9d
7216             9c43 e5bb9a
7217             9c44 e5bb9b
7218             9c45 e5bba2
7219             9c46 e5bba1
7220             9c47 e5bba8
7221             9c48 e5bba9
7222             9c49 e5bbac
7223             9c4a e5bbb1
7224             9c4b e5bbb3
7225             9c4c e5bbb0
7226             9c4d e5bbb4
7227             9c4e e5bbb8
7228             9c4f e5bbbe
7229             9c50 e5bc83
7230             9c51 e5bc89
7231             9c52 e5bd9d
7232             9c53 e5bd9c
7233             9c54 e5bc8b
7234             9c55 e5bc91
7235             9c56 e5bc96
7236             9c57 e5bca9
7237             9c58 e5bcad
7238             9c59 e5bcb8
7239             9c5a e5bd81
7240             9c5b e5bd88
7241             9c5c e5bd8c
7242             9c5d e5bd8e
7243             9c5e e5bcaf
7244             9c5f e5bd91
7245             9c60 e5bd96
7246             9c61 e5bd97
7247             9c62 e5bd99
7248             9c63 e5bda1
7249             9c64 e5bdad
7250             9c65 e5bdb3
7251             9c66 e5bdb7
7252             9c67 e5be83
7253             9c68 e5be82
7254             9c69 e5bdbf
7255             9c6a e5be8a
7256             9c6b e5be88
7257             9c6c e5be91
7258             9c6d e5be87
7259             9c6e e5be9e
7260             9c6f e5be99
7261             9c70 e5be98
7262             9c71 e5bea0
7263             9c72 e5bea8
7264             9c73 e5bead
7265             9c74 e5bebc
7266             9c75 e5bf96
7267             9c76 e5bfbb
7268             9c77 e5bfa4
7269             9c78 e5bfb8
7270             9c79 e5bfb1
7271             9c7a e5bf9d
7272             9c7b e682b3
7273             9c7c e5bfbf
7274             9c7d e680a1
7275             9c7e e681a0
7276             9c80 e68099
7277             9c81 e68090
7278             9c82 e680a9
7279             9c83 e6808e
7280             9c84 e680b1
7281             9c85 e6809b
7282             9c86 e68095
7283             9c87 e680ab
7284             9c88 e680a6
7285             9c89 e6808f
7286             9c8a e680ba
7287             9c8b e6819a
7288             9c8c e68181
7289             9c8d e681aa
7290             9c8e e681b7
7291             9c8f e6819f
7292             9c90 e6818a
7293             9c91 e68186
7294             9c92 e6818d
7295             9c93 e681a3
7296             9c94 e68183
7297             9c95 e681a4
7298             9c96 e68182
7299             9c97 e681ac
7300             9c98 e681ab
7301             9c99 e68199
7302             9c9a e68281
7303             9c9b e6828d
7304             9c9c e683a7
7305             9c9d e68283
7306             9c9e e6829a
7307             9c9f e68284
7308             9ca0 e6829b
7309             9ca1 e68296
7310             9ca2 e68297
7311             9ca3 e68292
7312             9ca4 e682a7
7313             9ca5 e6828b
7314             9ca6 e683a1
7315             9ca7 e682b8
7316             9ca8 e683a0
7317             9ca9 e68393
7318             9caa e682b4
7319             9cab e5bfb0
7320             9cac e682bd
7321             9cad e68386
7322             9cae e682b5
7323             9caf e68398
7324             9cb0 e6858d
7325             9cb1 e68495
7326             9cb2 e68486
7327             9cb3 e683b6
7328             9cb4 e683b7
7329             9cb5 e68480
7330             9cb6 e683b4
7331             9cb7 e683ba
7332             9cb8 e68483
7333             9cb9 e684a1
7334             9cba e683bb
7335             9cbb e683b1
7336             9cbc e6848d
7337             9cbd e6848e
7338             9cbe e68587
7339             9cbf e684be
7340             9cc0 e684a8
7341             9cc1 e684a7
7342             9cc2 e6858a
7343             9cc3 e684bf
7344             9cc4 e684bc
7345             9cc5 e684ac
7346             9cc6 e684b4
7347             9cc7 e684bd
7348             9cc8 e68582
7349             9cc9 e68584
7350             9cca e685b3
7351             9ccb e685b7
7352             9ccc e68598
7353             9ccd e68599
7354             9cce e6859a
7355             9ccf e685ab
7356             9cd0 e685b4
7357             9cd1 e685af
7358             9cd2 e685a5
7359             9cd3 e685b1
7360             9cd4 e6859f
7361             9cd5 e6859d
7362             9cd6 e68593
7363             9cd7 e685b5
7364             9cd8 e68699
7365             9cd9 e68696
7366             9cda e68687
7367             9cdb e686ac
7368             9cdc e68694
7369             9cdd e6869a
7370             9cde e6868a
7371             9cdf e68691
7372             9ce0 e686ab
7373             9ce1 e686ae
7374             9ce2 e6878c
7375             9ce3 e6878a
7376             9ce4 e68789
7377             9ce5 e687b7
7378             9ce6 e68788
7379             9ce7 e68783
7380             9ce8 e68786
7381             9ce9 e686ba
7382             9cea e6878b
7383             9ceb e7bdb9
7384             9cec e6878d
7385             9ced e687a6
7386             9cee e687a3
7387             9cef e687b6
7388             9cf0 e687ba
7389             9cf1 e687b4
7390             9cf2 e687bf
7391             9cf3 e687bd
7392             9cf4 e687bc
7393             9cf5 e687be
7394             9cf6 e68880
7395             9cf7 e68888
7396             9cf8 e68889
7397             9cf9 e6888d
7398             9cfa e6888c
7399             9cfb e68894
7400             9cfc e6889b
7401             9d40 e6889e
7402             9d41 e688a1
7403             9d42 e688aa
7404             9d43 e688ae
7405             9d44 e688b0
7406             9d45 e688b2
7407             9d46 e688b3
7408             9d47 e68981
7409             9d48 e6898e
7410             9d49 e6899e
7411             9d4a e689a3
7412             9d4b e6899b
7413             9d4c e689a0
7414             9d4d e689a8
7415             9d4e e689bc
7416             9d4f e68a82
7417             9d50 e68a89
7418             9d51 e689be
7419             9d52 e68a92
7420             9d53 e68a93
7421             9d54 e68a96
7422             9d55 e68b94
7423             9d56 e68a83
7424             9d57 e68a94
7425             9d58 e68b97
7426             9d59 e68b91
7427             9d5a e68abb
7428             9d5b e68b8f
7429             9d5c e68bbf
7430             9d5d e68b86
7431             9d5e e69394
7432             9d5f e68b88
7433             9d60 e68b9c
7434             9d61 e68b8c
7435             9d62 e68b8a
7436             9d63 e68b82
7437             9d64 e68b87
7438             9d65 e68a9b
7439             9d66 e68b89
7440             9d67 e68c8c
7441             9d68 e68bae
7442             9d69 e68bb1
7443             9d6a e68ca7
7444             9d6b e68c82
7445             9d6c e68c88
7446             9d6d e68baf
7447             9d6e e68bb5
7448             9d6f e68d90
7449             9d70 e68cbe
7450             9d71 e68d8d
7451             9d72 e6909c
7452             9d73 e68d8f
7453             9d74 e68e96
7454             9d75 e68e8e
7455             9d76 e68e80
7456             9d77 e68eab
7457             9d78 e68db6
7458             9d79 e68ea3
7459             9d7a e68e8f
7460             9d7b e68e89
7461             9d7c e68e9f
7462             9d7d e68eb5
7463             9d7e e68dab
7464             9d80 e68da9
7465             9d81 e68ebe
7466             9d82 e68fa9
7467             9d83 e68f80
7468             9d84 e68f86
7469             9d85 e68fa3
7470             9d86 e68f89
7471             9d87 e68f92
7472             9d88 e68fb6
7473             9d89 e68f84
7474             9d8a e69096
7475             9d8b e690b4
7476             9d8c e69086
7477             9d8d e69093
7478             9d8e e690a6
7479             9d8f e690b6
7480             9d90 e6949d
7481             9d91 e69097
7482             9d92 e690a8
7483             9d93 e6908f
7484             9d94 e691a7
7485             9d95 e691af
7486             9d96 e691b6
7487             9d97 e6918e
7488             9d98 e694aa
7489             9d99 e69295
7490             9d9a e69293
7491             9d9b e692a5
7492             9d9c e692a9
7493             9d9d e69288
7494             9d9e e692bc
7495             9d9f e6939a
7496             9da0 e69392
7497             9da1 e69385
7498             9da2 e69387
7499             9da3 e692bb
7500             9da4 e69398
7501             9da5 e69382
7502             9da6 e693b1
7503             9da7 e693a7
7504             9da8 e88889
7505             9da9 e693a0
7506             9daa e693a1
7507             9dab e68aac
7508             9dac e693a3
7509             9dad e693af
7510             9dae e694ac
7511             9daf e693b6
7512             9db0 e693b4
7513             9db1 e693b2
7514             9db2 e693ba
7515             9db3 e69480
7516             9db4 e693bd
7517             9db5 e69498
7518             9db6 e6949c
7519             9db7 e69485
7520             9db8 e694a4
7521             9db9 e694a3
7522             9dba e694ab
7523             9dbb e694b4
7524             9dbc e694b5
7525             9dbd e694b7
7526             9dbe e694b6
7527             9dbf e694b8
7528             9dc0 e7958b
7529             9dc1 e69588
7530             9dc2 e69596
7531             9dc3 e69595
7532             9dc4 e6958d
7533             9dc5 e69598
7534             9dc6 e6959e
7535             9dc7 e6959d
7536             9dc8 e695b2
7537             9dc9 e695b8
7538             9dca e69682
7539             9dcb e69683
7540             9dcc e8ae8a
7541             9dcd e6969b
7542             9dce e6969f
7543             9dcf e696ab
7544             9dd0 e696b7
7545             9dd1 e69783
7546             9dd2 e69786
7547             9dd3 e69781
7548             9dd4 e69784
7549             9dd5 e6978c
7550             9dd6 e69792
7551             9dd7 e6979b
7552             9dd8 e69799
7553             9dd9 e697a0
7554             9dda e697a1
7555             9ddb e697b1
7556             9ddc e69db2
7557             9ddd e6988a
7558             9dde e69883
7559             9ddf e697bb
7560             9de0 e69db3
7561             9de1 e698b5
7562             9de2 e698b6
7563             9de3 e698b4
7564             9de4 e6989c
7565             9de5 e6998f
7566             9de6 e69984
7567             9de7 e69989
7568             9de8 e69981
7569             9de9 e6999e
7570             9dea e6999d
7571             9deb e699a4
7572             9dec e699a7
7573             9ded e699a8
7574             9dee e6999f
7575             9def e699a2
7576             9df0 e699b0
7577             9df1 e69a83
7578             9df2 e69a88
7579             9df3 e69a8e
7580             9df4 e69a89
7581             9df5 e69a84
7582             9df6 e69a98
7583             9df7 e69a9d
7584             9df8 e69b81
7585             9df9 e69ab9
7586             9dfa e69b89
7587             9dfb e69abe
7588             9dfc e69abc
7589             9e40 e69b84
7590             9e41 e69ab8
7591             9e42 e69b96
7592             9e43 e69b9a
7593             9e44 e69ba0
7594             9e45 e698bf
7595             9e46 e69ba6
7596             9e47 e69ba9
7597             9e48 e69bb0
7598             9e49 e69bb5
7599             9e4a e69bb7
7600             9e4b e69c8f
7601             9e4c e69c96
7602             9e4d e69c9e
7603             9e4e e69ca6
7604             9e4f e69ca7
7605             9e50 e99cb8
7606             9e51 e69cae
7607             9e52 e69cbf
7608             9e53 e69cb6
7609             9e54 e69d81
7610             9e55 e69cb8
7611             9e56 e69cb7
7612             9e57 e69d86
7613             9e58 e69d9e
7614             9e59 e69da0
7615             9e5a e69d99
7616             9e5b e69da3
7617             9e5c e69da4
7618             9e5d e69e89
7619             9e5e e69db0
7620             9e5f e69ea9
7621             9e60 e69dbc
7622             9e61 e69daa
7623             9e62 e69e8c
7624             9e63 e69e8b
7625             9e64 e69ea6
7626             9e65 e69ea1
7627             9e66 e69e85
7628             9e67 e69eb7
7629             9e68 e69faf
7630             9e69 e69eb4
7631             9e6a e69fac
7632             9e6b e69eb3
7633             9e6c e69fa9
7634             9e6d e69eb8
7635             9e6e e69fa4
7636             9e6f e69f9e
7637             9e70 e69f9d
7638             9e71 e69fa2
7639             9e72 e69fae
7640             9e73 e69eb9
7641             9e74 e69f8e
7642             9e75 e69f86
7643             9e76 e69fa7
7644             9e77 e6aa9c
7645             9e78 e6a09e
7646             9e79 e6a186
7647             9e7a e6a0a9
7648             9e7b e6a180
7649             9e7c e6a18d
7650             9e7d e6a0b2
7651             9e7e e6a18e
7652             9e80 e6a2b3
7653             9e81 e6a0ab
7654             9e82 e6a199
7655             9e83 e6a1a3
7656             9e84 e6a1b7
7657             9e85 e6a1bf
7658             9e86 e6a29f
7659             9e87 e6a28f
7660             9e88 e6a2ad
7661             9e89 e6a294
7662             9e8a e6a29d
7663             9e8b e6a29b
7664             9e8c e6a283
7665             9e8d e6aaae
7666             9e8e e6a2b9
7667             9e8f e6a1b4
7668             9e90 e6a2b5
7669             9e91 e6a2a0
7670             9e92 e6a2ba
7671             9e93 e6a48f
7672             9e94 e6a28d
7673             9e95 e6a1be
7674             9e96 e6a481
7675             9e97 e6a38a
7676             9e98 e6a488
7677             9e99 e6a398
7678             9e9a e6a4a2
7679             9e9b e6a4a6
7680             9e9c e6a3a1
7681             9e9d e6a48c
7682             9e9e e6a38d
7683             9e9f e6a394
7684             9ea0 e6a3a7
7685             9ea1 e6a395
7686             9ea2 e6a4b6
7687             9ea3 e6a492
7688             9ea4 e6a484
7689             9ea5 e6a397
7690             9ea6 e6a3a3
7691             9ea7 e6a4a5
7692             9ea8 e6a3b9
7693             9ea9 e6a3a0
7694             9eaa e6a3af
7695             9eab e6a4a8
7696             9eac e6a4aa
7697             9ead e6a49a
7698             9eae e6a4a3
7699             9eaf e6a4a1
7700             9eb0 e6a386
7701             9eb1 e6a5b9
7702             9eb2 e6a5b7
7703             9eb3 e6a59c
7704             9eb4 e6a5b8
7705             9eb5 e6a5ab
7706             9eb6 e6a594
7707             9eb7 e6a5be
7708             9eb8 e6a5ae
7709             9eb9 e6a4b9
7710             9eba e6a5b4
7711             9ebb e6a4bd
7712             9ebc e6a599
7713             9ebd e6a4b0
7714             9ebe e6a5a1
7715             9ebf e6a59e
7716             9ec0 e6a59d
7717             9ec1 e6a681
7718             9ec2 e6a5aa
7719             9ec3 e6a6b2
7720             9ec4 e6a6ae
7721             9ec5 e6a790
7722             9ec6 e6a6bf
7723             9ec7 e6a781
7724             9ec8 e6a793
7725             9ec9 e6a6be
7726             9eca e6a78e
7727             9ecb e5afa8
7728             9ecc e6a78a
7729             9ecd e6a79d
7730             9ece e6a6bb
7731             9ecf e6a783
7732             9ed0 e6a6a7
7733             9ed1 e6a8ae
7734             9ed2 e6a691
7735             9ed3 e6a6a0
7736             9ed4 e6a69c
7737             9ed5 e6a695
7738             9ed6 e6a6b4
7739             9ed7 e6a79e
7740             9ed8 e6a7a8
7741             9ed9 e6a882
7742             9eda e6a89b
7743             9edb e6a7bf
7744             9edc e6ac8a
7745             9edd e6a7b9
7746             9ede e6a7b2
7747             9edf e6a7a7
7748             9ee0 e6a885
7749             9ee1 e6a6b1
7750             9ee2 e6a89e
7751             9ee3 e6a7ad
7752             9ee4 e6a894
7753             9ee5 e6a7ab
7754             9ee6 e6a88a
7755             9ee7 e6a892
7756             9ee8 e6ab81
7757             9ee9 e6a8a3
7758             9eea e6a893
7759             9eeb e6a984
7760             9eec e6a88c
7761             9eed e6a9b2
7762             9eee e6a8b6
7763             9eef e6a9b8
7764             9ef0 e6a987
7765             9ef1 e6a9a2
7766             9ef2 e6a999
7767             9ef3 e6a9a6
7768             9ef4 e6a988
7769             9ef5 e6a8b8
7770             9ef6 e6a8a2
7771             9ef7 e6aa90
7772             9ef8 e6aa8d
7773             9ef9 e6aaa0
7774             9efa e6aa84
7775             9efb e6aaa2
7776             9efc e6aaa3
7777             9f40 e6aa97
7778             9f41 e89897
7779             9f42 e6aabb
7780             9f43 e6ab83
7781             9f44 e6ab82
7782             9f45 e6aab8
7783             9f46 e6aab3
7784             9f47 e6aaac
7785             9f48 e6ab9e
7786             9f49 e6ab91
7787             9f4a e6ab9f
7788             9f4b e6aaaa
7789             9f4c e6ab9a
7790             9f4d e6abaa
7791             9f4e e6abbb
7792             9f4f e6ac85
7793             9f50 e89896
7794             9f51 e6abba
7795             9f52 e6ac92
7796             9f53 e6ac96
7797             9f54 e9acb1
7798             9f55 e6ac9f
7799             9f56 e6acb8
7800             9f57 e6acb7
7801             9f58 e79b9c
7802             9f59 e6acb9
7803             9f5a e9a3ae
7804             9f5b e6ad87
7805             9f5c e6ad83
7806             9f5d e6ad89
7807             9f5e e6ad90
7808             9f5f e6ad99
7809             9f60 e6ad94
7810             9f61 e6ad9b
7811             9f62 e6ad9f
7812             9f63 e6ada1
7813             9f64 e6adb8
7814             9f65 e6adb9
7815             9f66 e6adbf
7816             9f67 e6ae80
7817             9f68 e6ae84
7818             9f69 e6ae83
7819             9f6a e6ae8d
7820             9f6b e6ae98
7821             9f6c e6ae95
7822             9f6d e6ae9e
7823             9f6e e6aea4
7824             9f6f e6aeaa
7825             9f70 e6aeab
7826             9f71 e6aeaf
7827             9f72 e6aeb2
7828             9f73 e6aeb1
7829             9f74 e6aeb3
7830             9f75 e6aeb7
7831             9f76 e6aebc
7832             9f77 e6af86
7833             9f78 e6af8b
7834             9f79 e6af93
7835             9f7a e6af9f
7836             9f7b e6afac
7837             9f7c e6afab
7838             9f7d e6afb3
7839             9f7e e6afaf
7840             9f80 e9babe
7841             9f81 e6b088
7842             9f82 e6b093
7843             9f83 e6b094
7844             9f84 e6b09b
7845             9f85 e6b0a4
7846             9f86 e6b0a3
7847             9f87 e6b19e
7848             9f88 e6b195
7849             9f89 e6b1a2
7850             9f8a e6b1aa
7851             9f8b e6b282
7852             9f8c e6b28d
7853             9f8d e6b29a
7854             9f8e e6b281
7855             9f8f e6b29b
7856             9f90 e6b1be
7857             9f91 e6b1a8
7858             9f92 e6b1b3
7859             9f93 e6b292
7860             9f94 e6b290
7861             9f95 e6b384
7862             9f96 e6b3b1
7863             9f97 e6b393
7864             9f98 e6b2bd
7865             9f99 e6b397
7866             9f9a e6b385
7867             9f9b e6b39d
7868             9f9c e6b2ae
7869             9f9d e6b2b1
7870             9f9e e6b2be
7871             9f9f e6b2ba
7872             9fa0 e6b39b
7873             9fa1 e6b3af
7874             9fa2 e6b399
7875             9fa3 e6b3aa
7876             9fa4 e6b49f
7877             9fa5 e8a18d
7878             9fa6 e6b4b6
7879             9fa7 e6b4ab
7880             9fa8 e6b4bd
7881             9fa9 e6b4b8
7882             9faa e6b499
7883             9fab e6b4b5
7884             9fac e6b4b3
7885             9fad e6b492
7886             9fae e6b48c
7887             9faf e6b5a3
7888             9fb0 e6b693
7889             9fb1 e6b5a4
7890             9fb2 e6b59a
7891             9fb3 e6b5b9
7892             9fb4 e6b599
7893             9fb5 e6b68e
7894             9fb6 e6b695
7895             9fb7 e6bfa4
7896             9fb8 e6b685
7897             9fb9 e6b7b9
7898             9fba e6b895
7899             9fbb e6b88a
7900             9fbc e6b6b5
7901             9fbd e6b787
7902             9fbe e6b7a6
7903             9fbf e6b6b8
7904             9fc0 e6b786
7905             9fc1 e6b7ac
7906             9fc2 e6b79e
7907             9fc3 e6b78c
7908             9fc4 e6b7a8
7909             9fc5 e6b792
7910             9fc6 e6b785
7911             9fc7 e6b7ba
7912             9fc8 e6b799
7913             9fc9 e6b7a4
7914             9fca e6b795
7915             9fcb e6b7aa
7916             9fcc e6b7ae
7917             9fcd e6b8ad
7918             9fce e6b9ae
7919             9fcf e6b8ae
7920             9fd0 e6b899
7921             9fd1 e6b9b2
7922             9fd2 e6b99f
7923             9fd3 e6b8be
7924             9fd4 e6b8a3
7925             9fd5 e6b9ab
7926             9fd6 e6b8ab
7927             9fd7 e6b9b6
7928             9fd8 e6b98d
7929             9fd9 e6b89f
7930             9fda e6b983
7931             9fdb e6b8ba
7932             9fdc e6b98e
7933             9fdd e6b8a4
7934             9fde e6bbbf
7935             9fdf e6b89d
7936             9fe0 e6b8b8
7937             9fe1 e6ba82
7938             9fe2 e6baaa
7939             9fe3 e6ba98
7940             9fe4 e6bb89
7941             9fe5 e6bab7
7942             9fe6 e6bb93
7943             9fe7 e6babd
7944             9fe8 e6baaf
7945             9fe9 e6bb84
7946             9fea e6bab2
7947             9feb e6bb94
7948             9fec e6bb95
7949             9fed e6ba8f
7950             9fee e6baa5
7951             9fef e6bb82
7952             9ff0 e6ba9f
7953             9ff1 e6bd81
7954             9ff2 e6bc91
7955             9ff3 e7818c
7956             9ff4 e6bbac
7957             9ff5 e6bbb8
7958             9ff6 e6bbbe
7959             9ff7 e6bcbf
7960             9ff8 e6bbb2
7961             9ff9 e6bcb1
7962             9ffa e6bbaf
7963             9ffb e6bcb2
7964             9ffc e6bb8c
7965             e040 e6bcbe
7966             e041 e6bc93
7967             e042 e6bbb7
7968             e043 e6be86
7969             e044 e6bdba
7970             e045 e6bdb8
7971             e046 e6be81
7972             e047 e6be80
7973             e048 e6bdaf
7974             e049 e6bd9b
7975             e04a e6bfb3
7976             e04b e6bdad
7977             e04c e6be82
7978             e04d e6bdbc
7979             e04e e6bd98
7980             e04f e6be8e
7981             e050 e6be91
7982             e051 e6bf82
7983             e052 e6bda6
7984             e053 e6beb3
7985             e054 e6bea3
7986             e055 e6bea1
7987             e056 e6bea4
7988             e057 e6beb9
7989             e058 e6bf86
7990             e059 e6beaa
7991             e05a e6bf9f
7992             e05b e6bf95
7993             e05c e6bfac
7994             e05d e6bf94
7995             e05e e6bf98
7996             e05f e6bfb1
7997             e060 e6bfae
7998             e061 e6bf9b
7999             e062 e78089
8000             e063 e7808b
8001             e064 e6bfba
8002             e065 e78091
8003             e066 e78081
8004             e067 e7808f
8005             e068 e6bfbe
8006             e069 e7809b
8007             e06a e7809a
8008             e06b e6bdb4
8009             e06c e7809d
8010             e06d e78098
8011             e06e e7809f
8012             e06f e780b0
8013             e070 e780be
8014             e071 e780b2
8015             e072 e78191
8016             e073 e781a3
8017             e074 e78299
8018             e075 e78292
8019             e076 e782af
8020             e077 e783b1
8021             e078 e782ac
8022             e079 e782b8
8023             e07a e782b3
8024             e07b e782ae
8025             e07c e7839f
8026             e07d e7838b
8027             e07e e7839d
8028             e080 e78399
8029             e081 e78489
8030             e082 e783bd
8031             e083 e7849c
8032             e084 e78499
8033             e085 e785a5
8034             e086 e78595
8035             e087 e78688
8036             e088 e785a6
8037             e089 e785a2
8038             e08a e7858c
8039             e08b e78596
8040             e08c e785ac
8041             e08d e7868f
8042             e08e e787bb
8043             e08f e78684
8044             e090 e78695
8045             e091 e786a8
8046             e092 e786ac
8047             e093 e78797
8048             e094 e786b9
8049             e095 e786be
8050             e096 e78792
8051             e097 e78789
8052             e098 e78794
8053             e099 e7878e
8054             e09a e787a0
8055             e09b e787ac
8056             e09c e787a7
8057             e09d e787b5
8058             e09e e787bc
8059             e09f e787b9
8060             e0a0 e787bf
8061             e0a1 e7888d
8062             e0a2 e78890
8063             e0a3 e7889b
8064             e0a4 e788a8
8065             e0a5 e788ad
8066             e0a6 e788ac
8067             e0a7 e788b0
8068             e0a8 e788b2
8069             e0a9 e788bb
8070             e0aa e788bc
8071             e0ab e788bf
8072             e0ac e78980
8073             e0ad e78986
8074             e0ae e7898b
8075             e0af e78998
8076             e0b0 e789b4
8077             e0b1 e789be
8078             e0b2 e78a82
8079             e0b3 e78a81
8080             e0b4 e78a87
8081             e0b5 e78a92
8082             e0b6 e78a96
8083             e0b7 e78aa2
8084             e0b8 e78aa7
8085             e0b9 e78ab9
8086             e0ba e78ab2
8087             e0bb e78b83
8088             e0bc e78b86
8089             e0bd e78b84
8090             e0be e78b8e
8091             e0bf e78b92
8092             e0c0 e78ba2
8093             e0c1 e78ba0
8094             e0c2 e78ba1
8095             e0c3 e78bb9
8096             e0c4 e78bb7
8097             e0c5 e5808f
8098             e0c6 e78c97
8099             e0c7 e78c8a
8100             e0c8 e78c9c
8101             e0c9 e78c96
8102             e0ca e78c9d
8103             e0cb e78cb4
8104             e0cc e78caf
8105             e0cd e78ca9
8106             e0ce e78ca5
8107             e0cf e78cbe
8108             e0d0 e78d8e
8109             e0d1 e78d8f
8110             e0d2 e9bb98
8111             e0d3 e78d97
8112             e0d4 e78daa
8113             e0d5 e78da8
8114             e0d6 e78db0
8115             e0d7 e78db8
8116             e0d8 e78db5
8117             e0d9 e78dbb
8118             e0da e78dba
8119             e0db e78f88
8120             e0dc e78eb3
8121             e0dd e78f8e
8122             e0de e78ebb
8123             e0df e78f80
8124             e0e0 e78fa5
8125             e0e1 e78fae
8126             e0e2 e78f9e
8127             e0e3 e792a2
8128             e0e4 e79085
8129             e0e5 e791af
8130             e0e6 e790a5
8131             e0e7 e78fb8
8132             e0e8 e790b2
8133             e0e9 e790ba
8134             e0ea e79195
8135             e0eb e790bf
8136             e0ec e7919f
8137             e0ed e79199
8138             e0ee e79181
8139             e0ef e7919c
8140             e0f0 e791a9
8141             e0f1 e791b0
8142             e0f2 e791a3
8143             e0f3 e791aa
8144             e0f4 e791b6
8145             e0f5 e791be
8146             e0f6 e7928b
8147             e0f7 e7929e
8148             e0f8 e792a7
8149             e0f9 e7938a
8150             e0fa e7938f
8151             e0fb e79394
8152             e0fc e78fb1
8153             e140 e793a0
8154             e141 e793a3
8155             e142 e793a7
8156             e143 e793a9
8157             e144 e793ae
8158             e145 e793b2
8159             e146 e793b0
8160             e147 e793b1
8161             e148 e793b8
8162             e149 e793b7
8163             e14a e79484
8164             e14b e79483
8165             e14c e79485
8166             e14d e7948c
8167             e14e e7948e
8168             e14f e7948d
8169             e150 e79495
8170             e151 e79493
8171             e152 e7949e
8172             e153 e794a6
8173             e154 e794ac
8174             e155 e794bc
8175             e156 e79584
8176             e157 e7958d
8177             e158 e7958a
8178             e159 e79589
8179             e15a e7959b
8180             e15b e79586
8181             e15c e7959a
8182             e15d e795a9
8183             e15e e795a4
8184             e15f e795a7
8185             e160 e795ab
8186             e161 e795ad
8187             e162 e795b8
8188             e163 e795b6
8189             e164 e79686
8190             e165 e79687
8191             e166 e795b4
8192             e167 e7968a
8193             e168 e79689
8194             e169 e79682
8195             e16a e79694
8196             e16b e7969a
8197             e16c e7969d
8198             e16d e796a5
8199             e16e e796a3
8200             e16f e79782
8201             e170 e796b3
8202             e171 e79783
8203             e172 e796b5
8204             e173 e796bd
8205             e174 e796b8
8206             e175 e796bc
8207             e176 e796b1
8208             e177 e7978d
8209             e178 e7978a
8210             e179 e79792
8211             e17a e79799
8212             e17b e797a3
8213             e17c e7979e
8214             e17d e797be
8215             e17e e797bf
8216             e180 e797bc
8217             e181 e79881
8218             e182 e797b0
8219             e183 e797ba
8220             e184 e797b2
8221             e185 e797b3
8222             e186 e7988b
8223             e187 e7988d
8224             e188 e79889
8225             e189 e7989f
8226             e18a e798a7
8227             e18b e798a0
8228             e18c e798a1
8229             e18d e798a2
8230             e18e e798a4
8231             e18f e798b4
8232             e190 e798b0
8233             e191 e798bb
8234             e192 e79987
8235             e193 e79988
8236             e194 e79986
8237             e195 e7999c
8238             e196 e79998
8239             e197 e799a1
8240             e198 e799a2
8241             e199 e799a8
8242             e19a e799a9
8243             e19b e799aa
8244             e19c e799a7
8245             e19d e799ac
8246             e19e e799b0
8247             e19f e799b2
8248             e1a0 e799b6
8249             e1a1 e799b8
8250             e1a2 e799bc
8251             e1a3 e79a80
8252             e1a4 e79a83
8253             e1a5 e79a88
8254             e1a6 e79a8b
8255             e1a7 e79a8e
8256             e1a8 e79a96
8257             e1a9 e79a93
8258             e1aa e79a99
8259             e1ab e79a9a
8260             e1ac e79ab0
8261             e1ad e79ab4
8262             e1ae e79ab8
8263             e1af e79ab9
8264             e1b0 e79aba
8265             e1b1 e79b82
8266             e1b2 e79b8d
8267             e1b3 e79b96
8268             e1b4 e79b92
8269             e1b5 e79b9e
8270             e1b6 e79ba1
8271             e1b7 e79ba5
8272             e1b8 e79ba7
8273             e1b9 e79baa
8274             e1ba e898af
8275             e1bb e79bbb
8276             e1bc e79c88
8277             e1bd e79c87
8278             e1be e79c84
8279             e1bf e79ca9
8280             e1c0 e79ca4
8281             e1c1 e79c9e
8282             e1c2 e79ca5
8283             e1c3 e79ca6
8284             e1c4 e79c9b
8285             e1c5 e79cb7
8286             e1c6 e79cb8
8287             e1c7 e79d87
8288             e1c8 e79d9a
8289             e1c9 e79da8
8290             e1ca e79dab
8291             e1cb e79d9b
8292             e1cc e79da5
8293             e1cd e79dbf
8294             e1ce e79dbe
8295             e1cf e79db9
8296             e1d0 e79e8e
8297             e1d1 e79e8b
8298             e1d2 e79e91
8299             e1d3 e79ea0
8300             e1d4 e79e9e
8301             e1d5 e79eb0
8302             e1d6 e79eb6
8303             e1d7 e79eb9
8304             e1d8 e79ebf
8305             e1d9 e79ebc
8306             e1da e79ebd
8307             e1db e79ebb
8308             e1dc e79f87
8309             e1dd e79f8d
8310             e1de e79f97
8311             e1df e79f9a
8312             e1e0 e79f9c
8313             e1e1 e79fa3
8314             e1e2 e79fae
8315             e1e3 e79fbc
8316             e1e4 e7a08c
8317             e1e5 e7a092
8318             e1e6 e7a4a6
8319             e1e7 e7a0a0
8320             e1e8 e7a4aa
8321             e1e9 e7a185
8322             e1ea e7a28e
8323             e1eb e7a1b4
8324             e1ec e7a286
8325             e1ed e7a1bc
8326             e1ee e7a29a
8327             e1ef e7a28c
8328             e1f0 e7a2a3
8329             e1f1 e7a2b5
8330             e1f2 e7a2aa
8331             e1f3 e7a2af
8332             e1f4 e7a391
8333             e1f5 e7a386
8334             e1f6 e7a38b
8335             e1f7 e7a394
8336             e1f8 e7a2be
8337             e1f9 e7a2bc
8338             e1fa e7a385
8339             e1fb e7a38a
8340             e1fc e7a3ac
8341             e240 e7a3a7
8342             e241 e7a39a
8343             e242 e7a3bd
8344             e243 e7a3b4
8345             e244 e7a487
8346             e245 e7a492
8347             e246 e7a491
8348             e247 e7a499
8349             e248 e7a4ac
8350             e249 e7a4ab
8351             e24a e7a580
8352             e24b e7a5a0
8353             e24c e7a597
8354             e24d e7a59f
8355             e24e e7a59a
8356             e24f e7a595
8357             e250 e7a593
8358             e251 e7a5ba
8359             e252 e7a5bf
8360             e253 e7a68a
8361             e254 e7a69d
8362             e255 e7a6a7
8363             e256 e9bd8b
8364             e257 e7a6aa
8365             e258 e7a6ae
8366             e259 e7a6b3
8367             e25a e7a6b9
8368             e25b e7a6ba
8369             e25c e7a789
8370             e25d e7a795
8371             e25e e7a7a7
8372             e25f e7a7ac
8373             e260 e7a7a1
8374             e261 e7a7a3
8375             e262 e7a888
8376             e263 e7a88d
8377             e264 e7a898
8378             e265 e7a899
8379             e266 e7a8a0
8380             e267 e7a89f
8381             e268 e7a680
8382             e269 e7a8b1
8383             e26a e7a8bb
8384             e26b e7a8be
8385             e26c e7a8b7
8386             e26d e7a983
8387             e26e e7a997
8388             e26f e7a989
8389             e270 e7a9a1
8390             e271 e7a9a2
8391             e272 e7a9a9
8392             e273 e9be9d
8393             e274 e7a9b0
8394             e275 e7a9b9
8395             e276 e7a9bd
8396             e277 e7aa88
8397             e278 e7aa97
8398             e279 e7aa95
8399             e27a e7aa98
8400             e27b e7aa96
8401             e27c e7aaa9
8402             e27d e7ab88
8403             e27e e7aab0
8404             e280 e7aab6
8405             e281 e7ab85
8406             e282 e7ab84
8407             e283 e7aabf
8408             e284 e98283
8409             e285 e7ab87
8410             e286 e7ab8a
8411             e287 e7ab8d
8412             e288 e7ab8f
8413             e289 e7ab95
8414             e28a e7ab93
8415             e28b e7ab99
8416             e28c e7ab9a
8417             e28d e7ab9d
8418             e28e e7aba1
8419             e28f e7aba2
8420             e290 e7aba6
8421             e291 e7abad
8422             e292 e7abb0
8423             e293 e7ac82
8424             e294 e7ac8f
8425             e295 e7ac8a
8426             e296 e7ac86
8427             e297 e7acb3
8428             e298 e7ac98
8429             e299 e7ac99
8430             e29a e7ac9e
8431             e29b e7acb5
8432             e29c e7aca8
8433             e29d e7acb6
8434             e29e e7ad90
8435             e29f e7adba
8436             e2a0 e7ac84
8437             e2a1 e7ad8d
8438             e2a2 e7ac8b
8439             e2a3 e7ad8c
8440             e2a4 e7ad85
8441             e2a5 e7adb5
8442             e2a6 e7ada5
8443             e2a7 e7adb4
8444             e2a8 e7ada7
8445             e2a9 e7adb0
8446             e2aa e7adb1
8447             e2ab e7adac
8448             e2ac e7adae
8449             e2ad e7ae9d
8450             e2ae e7ae98
8451             e2af e7ae9f
8452             e2b0 e7ae8d
8453             e2b1 e7ae9c
8454             e2b2 e7ae9a
8455             e2b3 e7ae8b
8456             e2b4 e7ae92
8457             e2b5 e7ae8f
8458             e2b6 e7ad9d
8459             e2b7 e7ae99
8460             e2b8 e7af8b
8461             e2b9 e7af81
8462             e2ba e7af8c
8463             e2bb e7af8f
8464             e2bc e7aeb4
8465             e2bd e7af86
8466             e2be e7af9d
8467             e2bf e7afa9
8468             e2c0 e7b091
8469             e2c1 e7b094
8470             e2c2 e7afa6
8471             e2c3 e7afa5
8472             e2c4 e7b1a0
8473             e2c5 e7b080
8474             e2c6 e7b087
8475             e2c7 e7b093
8476             e2c8 e7afb3
8477             e2c9 e7afb7
8478             e2ca e7b097
8479             e2cb e7b08d
8480             e2cc e7afb6
8481             e2cd e7b0a3
8482             e2ce e7b0a7
8483             e2cf e7b0aa
8484             e2d0 e7b09f
8485             e2d1 e7b0b7
8486             e2d2 e7b0ab
8487             e2d3 e7b0bd
8488             e2d4 e7b18c
8489             e2d5 e7b183
8490             e2d6 e7b194
8491             e2d7 e7b18f
8492             e2d8 e7b180
8493             e2d9 e7b190
8494             e2da e7b198
8495             e2db e7b19f
8496             e2dc e7b1a4
8497             e2dd e7b196
8498             e2de e7b1a5
8499             e2df e7b1ac
8500             e2e0 e7b1b5
8501             e2e1 e7b283
8502             e2e2 e7b290
8503             e2e3 e7b2a4
8504             e2e4 e7b2ad
8505             e2e5 e7b2a2
8506             e2e6 e7b2ab
8507             e2e7 e7b2a1
8508             e2e8 e7b2a8
8509             e2e9 e7b2b3
8510             e2ea e7b2b2
8511             e2eb e7b2b1
8512             e2ec e7b2ae
8513             e2ed e7b2b9
8514             e2ee e7b2bd
8515             e2ef e7b380
8516             e2f0 e7b385
8517             e2f1 e7b382
8518             e2f2 e7b398
8519             e2f3 e7b392
8520             e2f4 e7b39c
8521             e2f5 e7b3a2
8522             e2f6 e9acbb
8523             e2f7 e7b3af
8524             e2f8 e7b3b2
8525             e2f9 e7b3b4
8526             e2fa e7b3b6
8527             e2fb e7b3ba
8528             e2fc e7b486
8529             e340 e7b482
8530             e341 e7b49c
8531             e342 e7b495
8532             e343 e7b48a
8533             e344 e7b585
8534             e345 e7b58b
8535             e346 e7b4ae
8536             e347 e7b4b2
8537             e348 e7b4bf
8538             e349 e7b4b5
8539             e34a e7b586
8540             e34b e7b5b3
8541             e34c e7b596
8542             e34d e7b58e
8543             e34e e7b5b2
8544             e34f e7b5a8
8545             e350 e7b5ae
8546             e351 e7b58f
8547             e352 e7b5a3
8548             e353 e7b693
8549             e354 e7b689
8550             e355 e7b59b
8551             e356 e7b68f
8552             e357 e7b5bd
8553             e358 e7b69b
8554             e359 e7b6ba
8555             e35a e7b6ae
8556             e35b e7b6a3
8557             e35c e7b6b5
8558             e35d e7b787
8559             e35e e7b6bd
8560             e35f e7b6ab
8561             e360 e7b8bd
8562             e361 e7b6a2
8563             e362 e7b6af
8564             e363 e7b79c
8565             e364 e7b6b8
8566             e365 e7b69f
8567             e366 e7b6b0
8568             e367 e7b798
8569             e368 e7b79d
8570             e369 e7b7a4
8571             e36a e7b79e
8572             e36b e7b7bb
8573             e36c e7b7b2
8574             e36d e7b7a1
8575             e36e e7b885
8576             e36f e7b88a
8577             e370 e7b8a3
8578             e371 e7b8a1
8579             e372 e7b892
8580             e373 e7b8b1
8581             e374 e7b89f
8582             e375 e7b889
8583             e376 e7b88b
8584             e377 e7b8a2
8585             e378 e7b986
8586             e379 e7b9a6
8587             e37a e7b8bb
8588             e37b e7b8b5
8589             e37c e7b8b9
8590             e37d e7b983
8591             e37e e7b8b7
8592             e380 e7b8b2
8593             e381 e7b8ba
8594             e382 e7b9a7
8595             e383 e7b99d
8596             e384 e7b996
8597             e385 e7b99e
8598             e386 e7b999
8599             e387 e7b99a
8600             e388 e7b9b9
8601             e389 e7b9aa
8602             e38a e7b9a9
8603             e38b e7b9bc
8604             e38c e7b9bb
8605             e38d e7ba83
8606             e38e e7b795
8607             e38f e7b9bd
8608             e390 e8beae
8609             e391 e7b9bf
8610             e392 e7ba88
8611             e393 e7ba89
8612             e394 e7ba8c
8613             e395 e7ba92
8614             e396 e7ba90
8615             e397 e7ba93
8616             e398 e7ba94
8617             e399 e7ba96
8618             e39a e7ba8e
8619             e39b e7ba9b
8620             e39c e7ba9c
8621             e39d e7bcb8
8622             e39e e7bcba
8623             e39f e7bd85
8624             e3a0 e7bd8c
8625             e3a1 e7bd8d
8626             e3a2 e7bd8e
8627             e3a3 e7bd90
8628             e3a4 e7bd91
8629             e3a5 e7bd95
8630             e3a6 e7bd94
8631             e3a7 e7bd98
8632             e3a8 e7bd9f
8633             e3a9 e7bda0
8634             e3aa e7bda8
8635             e3ab e7bda9
8636             e3ac e7bda7
8637             e3ad e7bdb8
8638             e3ae e7be82
8639             e3af e7be86
8640             e3b0 e7be83
8641             e3b1 e7be88
8642             e3b2 e7be87
8643             e3b3 e7be8c
8644             e3b4 e7be94
8645             e3b5 e7be9e
8646             e3b6 e7be9d
8647             e3b7 e7be9a
8648             e3b8 e7bea3
8649             e3b9 e7beaf
8650             e3ba e7beb2
8651             e3bb e7beb9
8652             e3bc e7beae
8653             e3bd e7beb6
8654             e3be e7beb8
8655             e3bf e8adb1
8656             e3c0 e7bf85
8657             e3c1 e7bf86
8658             e3c2 e7bf8a
8659             e3c3 e7bf95
8660             e3c4 e7bf94
8661             e3c5 e7bfa1
8662             e3c6 e7bfa6
8663             e3c7 e7bfa9
8664             e3c8 e7bfb3
8665             e3c9 e7bfb9
8666             e3ca e9a39c
8667             e3cb e88086
8668             e3cc e88084
8669             e3cd e8808b
8670             e3ce e88092
8671             e3cf e88098
8672             e3d0 e88099
8673             e3d1 e8809c
8674             e3d2 e880a1
8675             e3d3 e880a8
8676             e3d4 e880bf
8677             e3d5 e880bb
8678             e3d6 e8818a
8679             e3d7 e88186
8680             e3d8 e88192
8681             e3d9 e88198
8682             e3da e8819a
8683             e3db e8819f
8684             e3dc e881a2
8685             e3dd e881a8
8686             e3de e881b3
8687             e3df e881b2
8688             e3e0 e881b0
8689             e3e1 e881b6
8690             e3e2 e881b9
8691             e3e3 e881bd
8692             e3e4 e881bf
8693             e3e5 e88284
8694             e3e6 e88286
8695             e3e7 e88285
8696             e3e8 e8829b
8697             e3e9 e88293
8698             e3ea e8829a
8699             e3eb e882ad
8700             e3ec e58690
8701             e3ed e882ac
8702             e3ee e8839b
8703             e3ef e883a5
8704             e3f0 e88399
8705             e3f1 e8839d
8706             e3f2 e88384
8707             e3f3 e8839a
8708             e3f4 e88396
8709             e3f5 e88489
8710             e3f6 e883af
8711             e3f7 e883b1
8712             e3f8 e8849b
8713             e3f9 e884a9
8714             e3fa e884a3
8715             e3fb e884af
8716             e3fc e8858b
8717             e440 e99a8b
8718             e441 e88586
8719             e442 e884be
8720             e443 e88593
8721             e444 e88591
8722             e445 e883bc
8723             e446 e885b1
8724             e447 e885ae
8725             e448 e885a5
8726             e449 e885a6
8727             e44a e885b4
8728             e44b e88683
8729             e44c e88688
8730             e44d e8868a
8731             e44e e88680
8732             e44f e88682
8733             e450 e886a0
8734             e451 e88695
8735             e452 e886a4
8736             e453 e886a3
8737             e454 e8859f
8738             e455 e88693
8739             e456 e886a9
8740             e457 e886b0
8741             e458 e886b5
8742             e459 e886be
8743             e45a e886b8
8744             e45b e886bd
8745             e45c e88780
8746             e45d e88782
8747             e45e e886ba
8748             e45f e88789
8749             e460 e8878d
8750             e461 e88791
8751             e462 e88799
8752             e463 e88798
8753             e464 e88788
8754             e465 e8879a
8755             e466 e8879f
8756             e467 e887a0
8757             e468 e887a7
8758             e469 e887ba
8759             e46a e887bb
8760             e46b e887be
8761             e46c e88881
8762             e46d e88882
8763             e46e e88885
8764             e46f e88887
8765             e470 e8888a
8766             e471 e8888d
8767             e472 e88890
8768             e473 e88896
8769             e474 e888a9
8770             e475 e888ab
8771             e476 e888b8
8772             e477 e888b3
8773             e478 e88980
8774             e479 e88999
8775             e47a e88998
8776             e47b e8899d
8777             e47c e8899a
8778             e47d e8899f
8779             e47e e889a4
8780             e480 e889a2
8781             e481 e889a8
8782             e482 e889aa
8783             e483 e889ab
8784             e484 e888ae
8785             e485 e889b1
8786             e486 e889b7
8787             e487 e889b8
8788             e488 e889be
8789             e489 e88a8d
8790             e48a e88a92
8791             e48b e88aab
8792             e48c e88a9f
8793             e48d e88abb
8794             e48e e88aac
8795             e48f e88ba1
8796             e490 e88ba3
8797             e491 e88b9f
8798             e492 e88b92
8799             e493 e88bb4
8800             e494 e88bb3
8801             e495 e88bba
8802             e496 e88e93
8803             e497 e88c83
8804             e498 e88bbb
8805             e499 e88bb9
8806             e49a e88b9e
8807             e49b e88c86
8808             e49c e88b9c
8809             e49d e88c89
8810             e49e e88b99
8811             e49f e88cb5
8812             e4a0 e88cb4
8813             e4a1 e88c96
8814             e4a2 e88cb2
8815             e4a3 e88cb1
8816             e4a4 e88d80
8817             e4a5 e88cb9
8818             e4a6 e88d90
8819             e4a7 e88d85
8820             e4a8 e88caf
8821             e4a9 e88cab
8822             e4aa e88c97
8823             e4ab e88c98
8824             e4ac e88e85
8825             e4ad e88e9a
8826             e4ae e88eaa
8827             e4af e88e9f
8828             e4b0 e88ea2
8829             e4b1 e88e96
8830             e4b2 e88ca3
8831             e4b3 e88e8e
8832             e4b4 e88e87
8833             e4b5 e88e8a
8834             e4b6 e88dbc
8835             e4b7 e88eb5
8836             e4b8 e88db3
8837             e4b9 e88db5
8838             e4ba e88ea0
8839             e4bb e88e89
8840             e4bc e88ea8
8841             e4bd e88fb4
8842             e4be e89093
8843             e4bf e88fab
8844             e4c0 e88f8e
8845             e4c1 e88fbd
8846             e4c2 e89083
8847             e4c3 e88f98
8848             e4c4 e8908b
8849             e4c5 e88f81
8850             e4c6 e88fb7
8851             e4c7 e89087
8852             e4c8 e88fa0
8853             e4c9 e88fb2
8854             e4ca e8908d
8855             e4cb e890a2
8856             e4cc e890a0
8857             e4cd e88ebd
8858             e4ce e890b8
8859             e4cf e89486
8860             e4d0 e88fbb
8861             e4d1 e891ad
8862             e4d2 e890aa
8863             e4d3 e890bc
8864             e4d4 e8959a
8865             e4d5 e89284
8866             e4d6 e891b7
8867             e4d7 e891ab
8868             e4d8 e892ad
8869             e4d9 e891ae
8870             e4da e89282
8871             e4db e891a9
8872             e4dc e89186
8873             e4dd e890ac
8874             e4de e891af
8875             e4df e891b9
8876             e4e0 e890b5
8877             e4e1 e8938a
8878             e4e2 e891a2
8879             e4e3 e892b9
8880             e4e4 e892bf
8881             e4e5 e8929f
8882             e4e6 e89399
8883             e4e7 e8938d
8884             e4e8 e892bb
8885             e4e9 e8939a
8886             e4ea e89390
8887             e4eb e89381
8888             e4ec e89386
8889             e4ed e89396
8890             e4ee e892a1
8891             e4ef e894a1
8892             e4f0 e893bf
8893             e4f1 e893b4
8894             e4f2 e89497
8895             e4f3 e89498
8896             e4f4 e894ac
8897             e4f5 e8949f
8898             e4f6 e89495
8899             e4f7 e89494
8900             e4f8 e893bc
8901             e4f9 e89580
8902             e4fa e895a3
8903             e4fb e89598
8904             e4fc e89588
8905             e540 e89581
8906             e541 e89882
8907             e542 e8958b
8908             e543 e89595
8909             e544 e89680
8910             e545 e896a4
8911             e546 e89688
8912             e547 e89691
8913             e548 e8968a
8914             e549 e896a8
8915             e54a e895ad
8916             e54b e89694
8917             e54c e8969b
8918             e54d e897aa
8919             e54e e89687
8920             e54f e8969c
8921             e550 e895b7
8922             e551 e895be
8923             e552 e89690
8924             e553 e89789
8925             e554 e896ba
8926             e555 e8978f
8927             e556 e896b9
8928             e557 e89790
8929             e558 e89795
8930             e559 e8979d
8931             e55a e897a5
8932             e55b e8979c
8933             e55c e897b9
8934             e55d e8988a
8935             e55e e89893
8936             e55f e8988b
8937             e560 e897be
8938             e561 e897ba
8939             e562 e89886
8940             e563 e898a2
8941             e564 e8989a
8942             e565 e898b0
8943             e566 e898bf
8944             e567 e8998d
8945             e568 e4b995
8946             e569 e89994
8947             e56a e8999f
8948             e56b e899a7
8949             e56c e899b1
8950             e56d e89a93
8951             e56e e89aa3
8952             e56f e89aa9
8953             e570 e89aaa
8954             e571 e89a8b
8955             e572 e89a8c
8956             e573 e89ab6
8957             e574 e89aaf
8958             e575 e89b84
8959             e576 e89b86
8960             e577 e89ab0
8961             e578 e89b89
8962             e579 e8a0a3
8963             e57a e89aab
8964             e57b e89b94
8965             e57c e89b9e
8966             e57d e89ba9
8967             e57e e89bac
8968             e580 e89b9f
8969             e581 e89b9b
8970             e582 e89baf
8971             e583 e89c92
8972             e584 e89c86
8973             e585 e89c88
8974             e586 e89c80
8975             e587 e89c83
8976             e588 e89bbb
8977             e589 e89c91
8978             e58a e89c89
8979             e58b e89c8d
8980             e58c e89bb9
8981             e58d e89c8a
8982             e58e e89cb4
8983             e58f e89cbf
8984             e590 e89cb7
8985             e591 e89cbb
8986             e592 e89ca5
8987             e593 e89ca9
8988             e594 e89c9a
8989             e595 e89da0
8990             e596 e89d9f
8991             e597 e89db8
8992             e598 e89d8c
8993             e599 e89d8e
8994             e59a e89db4
8995             e59b e89d97
8996             e59c e89da8
8997             e59d e89dae
8998             e59e e89d99
8999             e59f e89d93
9000             e5a0 e89da3
9001             e5a1 e89daa
9002             e5a2 e8a085
9003             e5a3 e89ea2
9004             e5a4 e89e9f
9005             e5a5 e89e82
9006             e5a6 e89eaf
9007             e5a7 e89f8b
9008             e5a8 e89ebd
9009             e5a9 e89f80
9010             e5aa e89f90
9011             e5ab e99b96
9012             e5ac e89eab
9013             e5ad e89f84
9014             e5ae e89eb3
9015             e5af e89f87
9016             e5b0 e89f86
9017             e5b1 e89ebb
9018             e5b2 e89faf
9019             e5b3 e89fb2
9020             e5b4 e89fa0
9021             e5b5 e8a08f
9022             e5b6 e8a08d
9023             e5b7 e89fbe
9024             e5b8 e89fb6
9025             e5b9 e89fb7
9026             e5ba e8a08e
9027             e5bb e89f92
9028             e5bc e8a091
9029             e5bd e8a096
9030             e5be e8a095
9031             e5bf e8a0a2
9032             e5c0 e8a0a1
9033             e5c1 e8a0b1
9034             e5c2 e8a0b6
9035             e5c3 e8a0b9
9036             e5c4 e8a0a7
9037             e5c5 e8a0bb
9038             e5c6 e8a184
9039             e5c7 e8a182
9040             e5c8 e8a192
9041             e5c9 e8a199
9042             e5ca e8a19e
9043             e5cb e8a1a2
9044             e5cc e8a1ab
9045             e5cd e8a281
9046             e5ce e8a1be
9047             e5cf e8a29e
9048             e5d0 e8a1b5
9049             e5d1 e8a1bd
9050             e5d2 e8a2b5
9051             e5d3 e8a1b2
9052             e5d4 e8a282
9053             e5d5 e8a297
9054             e5d6 e8a292
9055             e5d7 e8a2ae
9056             e5d8 e8a299
9057             e5d9 e8a2a2
9058             e5da e8a28d
9059             e5db e8a2a4
9060             e5dc e8a2b0
9061             e5dd e8a2bf
9062             e5de e8a2b1
9063             e5df e8a383
9064             e5e0 e8a384
9065             e5e1 e8a394
9066             e5e2 e8a398
9067             e5e3 e8a399
9068             e5e4 e8a39d
9069             e5e5 e8a3b9
9070             e5e6 e8a482
9071             e5e7 e8a3bc
9072             e5e8 e8a3b4
9073             e5e9 e8a3a8
9074             e5ea e8a3b2
9075             e5eb e8a484
9076             e5ec e8a48c
9077             e5ed e8a48a
9078             e5ee e8a493
9079             e5ef e8a583
9080             e5f0 e8a49e
9081             e5f1 e8a4a5
9082             e5f2 e8a4aa
9083             e5f3 e8a4ab
9084             e5f4 e8a581
9085             e5f5 e8a584
9086             e5f6 e8a4bb
9087             e5f7 e8a4b6
9088             e5f8 e8a4b8
9089             e5f9 e8a58c
9090             e5fa e8a49d
9091             e5fb e8a5a0
9092             e5fc e8a59e
9093             e640 e8a5a6
9094             e641 e8a5a4
9095             e642 e8a5ad
9096             e643 e8a5aa
9097             e644 e8a5af
9098             e645 e8a5b4
9099             e646 e8a5b7
9100             e647 e8a5be
9101             e648 e8a683
9102             e649 e8a688
9103             e64a e8a68a
9104             e64b e8a693
9105             e64c e8a698
9106             e64d e8a6a1
9107             e64e e8a6a9
9108             e64f e8a6a6
9109             e650 e8a6ac
9110             e651 e8a6af
9111             e652 e8a6b2
9112             e653 e8a6ba
9113             e654 e8a6bd
9114             e655 e8a6bf
9115             e656 e8a780
9116             e657 e8a79a
9117             e658 e8a79c
9118             e659 e8a79d
9119             e65a e8a7a7
9120             e65b e8a7b4
9121             e65c e8a7b8
9122             e65d e8a883
9123             e65e e8a896
9124             e65f e8a890
9125             e660 e8a88c
9126             e661 e8a89b
9127             e662 e8a89d
9128             e663 e8a8a5
9129             e664 e8a8b6
9130             e665 e8a981
9131             e666 e8a99b
9132             e667 e8a992
9133             e668 e8a986
9134             e669 e8a988
9135             e66a e8a9bc
9136             e66b e8a9ad
9137             e66c e8a9ac
9138             e66d e8a9a2
9139             e66e e8aa85
9140             e66f e8aa82
9141             e670 e8aa84
9142             e671 e8aaa8
9143             e672 e8aaa1
9144             e673 e8aa91
9145             e674 e8aaa5
9146             e675 e8aaa6
9147             e676 e8aa9a
9148             e677 e8aaa3
9149             e678 e8ab84
9150             e679 e8ab8d
9151             e67a e8ab82
9152             e67b e8ab9a
9153             e67c e8abab
9154             e67d e8abb3
9155             e67e e8aba7
9156             e680 e8aba4
9157             e681 e8abb1
9158             e682 e8ac94
9159             e683 e8aba0
9160             e684 e8aba2
9161             e685 e8abb7
9162             e686 e8ab9e
9163             e687 e8ab9b
9164             e688 e8ac8c
9165             e689 e8ac87
9166             e68a e8ac9a
9167             e68b e8aba1
9168             e68c e8ac96
9169             e68d e8ac90
9170             e68e e8ac97
9171             e68f e8aca0
9172             e690 e8acb3
9173             e691 e99eab
9174             e692 e8aca6
9175             e693 e8acab
9176             e694 e8acbe
9177             e695 e8aca8
9178             e696 e8ad81
9179             e697 e8ad8c
9180             e698 e8ad8f
9181             e699 e8ad8e
9182             e69a e8ad89
9183             e69b e8ad96
9184             e69c e8ad9b
9185             e69d e8ad9a
9186             e69e e8adab
9187             e69f e8ad9f
9188             e6a0 e8adac
9189             e6a1 e8adaf
9190             e6a2 e8adb4
9191             e6a3 e8adbd
9192             e6a4 e8ae80
9193             e6a5 e8ae8c
9194             e6a6 e8ae8e
9195             e6a7 e8ae92
9196             e6a8 e8ae93
9197             e6a9 e8ae96
9198             e6aa e8ae99
9199             e6ab e8ae9a
9200             e6ac e8b0ba
9201             e6ad e8b181
9202             e6ae e8b0bf
9203             e6af e8b188
9204             e6b0 e8b18c
9205             e6b1 e8b18e
9206             e6b2 e8b190
9207             e6b3 e8b195
9208             e6b4 e8b1a2
9209             e6b5 e8b1ac
9210             e6b6 e8b1b8
9211             e6b7 e8b1ba
9212             e6b8 e8b282
9213             e6b9 e8b289
9214             e6ba e8b285
9215             e6bb e8b28a
9216             e6bc e8b28d
9217             e6bd e8b28e
9218             e6be e8b294
9219             e6bf e8b1bc
9220             e6c0 e8b298
9221             e6c1 e6889d
9222             e6c2 e8b2ad
9223             e6c3 e8b2aa
9224             e6c4 e8b2bd
9225             e6c5 e8b2b2
9226             e6c6 e8b2b3
9227             e6c7 e8b2ae
9228             e6c8 e8b2b6
9229             e6c9 e8b388
9230             e6ca e8b381
9231             e6cb e8b3a4
9232             e6cc e8b3a3
9233             e6cd e8b39a
9234             e6ce e8b3bd
9235             e6cf e8b3ba
9236             e6d0 e8b3bb
9237             e6d1 e8b484
9238             e6d2 e8b485
9239             e6d3 e8b48a
9240             e6d4 e8b487
9241             e6d5 e8b48f
9242             e6d6 e8b48d
9243             e6d7 e8b490
9244             e6d8 e9bd8e
9245             e6d9 e8b493
9246             e6da e8b38d
9247             e6db e8b494
9248             e6dc e8b496
9249             e6dd e8b5a7
9250             e6de e8b5ad
9251             e6df e8b5b1
9252             e6e0 e8b5b3
9253             e6e1 e8b681
9254             e6e2 e8b699
9255             e6e3 e8b782
9256             e6e4 e8b6be
9257             e6e5 e8b6ba
9258             e6e6 e8b78f
9259             e6e7 e8b79a
9260             e6e8 e8b796
9261             e6e9 e8b78c
9262             e6ea e8b79b
9263             e6eb e8b78b
9264             e6ec e8b7aa
9265             e6ed e8b7ab
9266             e6ee e8b79f
9267             e6ef e8b7a3
9268             e6f0 e8b7bc
9269             e6f1 e8b888
9270             e6f2 e8b889
9271             e6f3 e8b7bf
9272             e6f4 e8b89d
9273             e6f5 e8b89e
9274             e6f6 e8b890
9275             e6f7 e8b89f
9276             e6f8 e8b982
9277             e6f9 e8b8b5
9278             e6fa e8b8b0
9279             e6fb e8b8b4
9280             e6fc e8b98a
9281             e740 e8b987
9282             e741 e8b989
9283             e742 e8b98c
9284             e743 e8b990
9285             e744 e8b988
9286             e745 e8b999
9287             e746 e8b9a4
9288             e747 e8b9a0
9289             e748 e8b8aa
9290             e749 e8b9a3
9291             e74a e8b995
9292             e74b e8b9b6
9293             e74c e8b9b2
9294             e74d e8b9bc
9295             e74e e8ba81
9296             e74f e8ba87
9297             e750 e8ba85
9298             e751 e8ba84
9299             e752 e8ba8b
9300             e753 e8ba8a
9301             e754 e8ba93
9302             e755 e8ba91
9303             e756 e8ba94
9304             e757 e8ba99
9305             e758 e8baaa
9306             e759 e8baa1
9307             e75a e8baac
9308             e75b e8bab0
9309             e75c e8bb86
9310             e75d e8bab1
9311             e75e e8babe
9312             e75f e8bb85
9313             e760 e8bb88
9314             e761 e8bb8b
9315             e762 e8bb9b
9316             e763 e8bba3
9317             e764 e8bbbc
9318             e765 e8bbbb
9319             e766 e8bbab
9320             e767 e8bbbe
9321             e768 e8bc8a
9322             e769 e8bc85
9323             e76a e8bc95
9324             e76b e8bc92
9325             e76c e8bc99
9326             e76d e8bc93
9327             e76e e8bc9c
9328             e76f e8bc9f
9329             e770 e8bc9b
9330             e771 e8bc8c
9331             e772 e8bca6
9332             e773 e8bcb3
9333             e774 e8bcbb
9334             e775 e8bcb9
9335             e776 e8bd85
9336             e777 e8bd82
9337             e778 e8bcbe
9338             e779 e8bd8c
9339             e77a e8bd89
9340             e77b e8bd86
9341             e77c e8bd8e
9342             e77d e8bd97
9343             e77e e8bd9c
9344             e780 e8bda2
9345             e781 e8bda3
9346             e782 e8bda4
9347             e783 e8be9c
9348             e784 e8be9f
9349             e785 e8bea3
9350             e786 e8bead
9351             e787 e8beaf
9352             e788 e8beb7
9353             e789 e8bf9a
9354             e78a e8bfa5
9355             e78b e8bfa2
9356             e78c e8bfaa
9357             e78d e8bfaf
9358             e78e e98287
9359             e78f e8bfb4
9360             e790 e98085
9361             e791 e8bfb9
9362             e792 e8bfba
9363             e793 e98091
9364             e794 e98095
9365             e795 e980a1
9366             e796 e9808d
9367             e797 e9809e
9368             e798 e98096
9369             e799 e9808b
9370             e79a e980a7
9371             e79b e980b6
9372             e79c e980b5
9373             e79d e980b9
9374             e79e e8bfb8
9375             e79f e9818f
9376             e7a0 e98190
9377             e7a1 e98191
9378             e7a2 e98192
9379             e7a3 e9808e
9380             e7a4 e98189
9381             e7a5 e980be
9382             e7a6 e98196
9383             e7a7 e98198
9384             e7a8 e9819e
9385             e7a9 e981a8
9386             e7aa e981af
9387             e7ab e981b6
9388             e7ac e99aa8
9389             e7ad e981b2
9390             e7ae e98282
9391             e7af e981bd
9392             e7b0 e98281
9393             e7b1 e98280
9394             e7b2 e9828a
9395             e7b3 e98289
9396             e7b4 e9828f
9397             e7b5 e982a8
9398             e7b6 e982af
9399             e7b7 e982b1
9400             e7b8 e982b5
9401             e7b9 e983a2
9402             e7ba e983a4
9403             e7bb e68988
9404             e7bc e9839b
9405             e7bd e98482
9406             e7be e98492
9407             e7bf e98499
9408             e7c0 e984b2
9409             e7c1 e984b0
9410             e7c2 e9858a
9411             e7c3 e98596
9412             e7c4 e98598
9413             e7c5 e985a3
9414             e7c6 e985a5
9415             e7c7 e985a9
9416             e7c8 e985b3
9417             e7c9 e985b2
9418             e7ca e9868b
9419             e7cb e98689
9420             e7cc e98682
9421             e7cd e986a2
9422             e7ce e986ab
9423             e7cf e986af
9424             e7d0 e986aa
9425             e7d1 e986b5
9426             e7d2 e986b4
9427             e7d3 e986ba
9428             e7d4 e98780
9429             e7d5 e98781
9430             e7d6 e98789
9431             e7d7 e9878b
9432             e7d8 e98790
9433             e7d9 e98796
9434             e7da e9879f
9435             e7db e987a1
9436             e7dc e9879b
9437             e7dd e987bc
9438             e7de e987b5
9439             e7df e987b6
9440             e7e0 e9889e
9441             e7e1 e987bf
9442             e7e2 e98894
9443             e7e3 e988ac
9444             e7e4 e98895
9445             e7e5 e98891
9446             e7e6 e9899e
9447             e7e7 e98997
9448             e7e8 e98985
9449             e7e9 e98989
9450             e7ea e989a4
9451             e7eb e98988
9452             e7ec e98a95
9453             e7ed e988bf
9454             e7ee e9898b
9455             e7ef e98990
9456             e7f0 e98a9c
9457             e7f1 e98a96
9458             e7f2 e98a93
9459             e7f3 e98a9b
9460             e7f4 e9899a
9461             e7f5 e98b8f
9462             e7f6 e98ab9
9463             e7f7 e98ab7
9464             e7f8 e98ba9
9465             e7f9 e98c8f
9466             e7fa e98bba
9467             e7fb e98d84
9468             e7fc e98cae
9469             e840 e98c99
9470             e841 e98ca2
9471             e842 e98c9a
9472             e843 e98ca3
9473             e844 e98cba
9474             e845 e98cb5
9475             e846 e98cbb
9476             e847 e98d9c
9477             e848 e98da0
9478             e849 e98dbc
9479             e84a e98dae
9480             e84b e98d96
9481             e84c e98eb0
9482             e84d e98eac
9483             e84e e98ead
9484             e84f e98e94
9485             e850 e98eb9
9486             e851 e98f96
9487             e852 e98f97
9488             e853 e98fa8
9489             e854 e98fa5
9490             e855 e98f98
9491             e856 e98f83
9492             e857 e98f9d
9493             e858 e98f90
9494             e859 e98f88
9495             e85a e98fa4
9496             e85b e9909a
9497             e85c e99094
9498             e85d e99093
9499             e85e e99083
9500             e85f e99087
9501             e860 e99090
9502             e861 e990b6
9503             e862 e990ab
9504             e863 e990b5
9505             e864 e990a1
9506             e865 e990ba
9507             e866 e99181
9508             e867 e99192
9509             e868 e99184
9510             e869 e9919b
9511             e86a e991a0
9512             e86b e991a2
9513             e86c e9919e
9514             e86d e991aa
9515             e86e e988a9
9516             e86f e991b0
9517             e870 e991b5
9518             e871 e991b7
9519             e872 e991bd
9520             e873 e9919a
9521             e874 e991bc
9522             e875 e991be
9523             e876 e99281
9524             e877 e991bf
9525             e878 e99682
9526             e879 e99687
9527             e87a e9968a
9528             e87b e99694
9529             e87c e99696
9530             e87d e99698
9531             e87e e99699
9532             e880 e996a0
9533             e881 e996a8
9534             e882 e996a7
9535             e883 e996ad
9536             e884 e996bc
9537             e885 e996bb
9538             e886 e996b9
9539             e887 e996be
9540             e888 e9978a
9541             e889 e6bfb6
9542             e88a e99783
9543             e88b e9978d
9544             e88c e9978c
9545             e88d e99795
9546             e88e e99794
9547             e88f e99796
9548             e890 e9979c
9549             e891 e997a1
9550             e892 e997a5
9551             e893 e997a2
9552             e894 e998a1
9553             e895 e998a8
9554             e896 e998ae
9555             e897 e998af
9556             e898 e99982
9557             e899 e9998c
9558             e89a e9998f
9559             e89b e9998b
9560             e89c e999b7
9561             e89d e9999c
9562             e89e e9999e
9563             e89f e9999d
9564             e8a0 e9999f
9565             e8a1 e999a6
9566             e8a2 e999b2
9567             e8a3 e999ac
9568             e8a4 e99a8d
9569             e8a5 e99a98
9570             e8a6 e99a95
9571             e8a7 e99a97
9572             e8a8 e99aaa
9573             e8a9 e99aa7
9574             e8aa e99ab1
9575             e8ab e99ab2
9576             e8ac e99ab0
9577             e8ad e99ab4
9578             e8ae e99ab6
9579             e8af e99ab8
9580             e8b0 e99ab9
9581             e8b1 e99b8e
9582             e8b2 e99b8b
9583             e8b3 e99b89
9584             e8b4 e99b8d
9585             e8b5 e8a58d
9586             e8b6 e99b9c
9587             e8b7 e99c8d
9588             e8b8 e99b95
9589             e8b9 e99bb9
9590             e8ba e99c84
9591             e8bb e99c86
9592             e8bc e99c88
9593             e8bd e99c93
9594             e8be e99c8e
9595             e8bf e99c91
9596             e8c0 e99c8f
9597             e8c1 e99c96
9598             e8c2 e99c99
9599             e8c3 e99ca4
9600             e8c4 e99caa
9601             e8c5 e99cb0
9602             e8c6 e99cb9
9603             e8c7 e99cbd
9604             e8c8 e99cbe
9605             e8c9 e99d84
9606             e8ca e99d86
9607             e8cb e99d88
9608             e8cc e99d82
9609             e8cd e99d89
9610             e8ce e99d9c
9611             e8cf e99da0
9612             e8d0 e99da4
9613             e8d1 e99da6
9614             e8d2 e99da8
9615             e8d3 e58b92
9616             e8d4 e99dab
9617             e8d5 e99db1
9618             e8d6 e99db9
9619             e8d7 e99e85
9620             e8d8 e99dbc
9621             e8d9 e99e81
9622             e8da e99dba
9623             e8db e99e86
9624             e8dc e99e8b
9625             e8dd e99e8f
9626             e8de e99e90
9627             e8df e99e9c
9628             e8e0 e99ea8
9629             e8e1 e99ea6
9630             e8e2 e99ea3
9631             e8e3 e99eb3
9632             e8e4 e99eb4
9633             e8e5 e99f83
9634             e8e6 e99f86
9635             e8e7 e99f88
9636             e8e8 e99f8b
9637             e8e9 e99f9c
9638             e8ea e99fad
9639             e8eb e9bd8f
9640             e8ec e99fb2
9641             e8ed e7ab9f
9642             e8ee e99fb6
9643             e8ef e99fb5
9644             e8f0 e9a08f
9645             e8f1 e9a08c
9646             e8f2 e9a0b8
9647             e8f3 e9a0a4
9648             e8f4 e9a0a1
9649             e8f5 e9a0b7
9650             e8f6 e9a0bd
9651             e8f7 e9a186
9652             e8f8 e9a18f
9653             e8f9 e9a18b
9654             e8fa e9a1ab
9655             e8fb e9a1af
9656             e8fc e9a1b0
9657             e940 e9a1b1
9658             e941 e9a1b4
9659             e942 e9a1b3
9660             e943 e9a2aa
9661             e944 e9a2af
9662             e945 e9a2b1
9663             e946 e9a2b6
9664             e947 e9a384
9665             e948 e9a383
9666             e949 e9a386
9667             e94a e9a3a9
9668             e94b e9a3ab
9669             e94c e9a483
9670             e94d e9a489
9671             e94e e9a492
9672             e94f e9a494
9673             e950 e9a498
9674             e951 e9a4a1
9675             e952 e9a49d
9676             e953 e9a49e
9677             e954 e9a4a4
9678             e955 e9a4a0
9679             e956 e9a4ac
9680             e957 e9a4ae
9681             e958 e9a4bd
9682             e959 e9a4be
9683             e95a e9a582
9684             e95b e9a589
9685             e95c e9a585
9686             e95d e9a590
9687             e95e e9a58b
9688             e95f e9a591
9689             e960 e9a592
9690             e961 e9a58c
9691             e962 e9a595
9692             e963 e9a697
9693             e964 e9a698
9694             e965 e9a6a5
9695             e966 e9a6ad
9696             e967 e9a6ae
9697             e968 e9a6bc
9698             e969 e9a79f
9699             e96a e9a79b
9700             e96b e9a79d
9701             e96c e9a798
9702             e96d e9a791
9703             e96e e9a7ad
9704             e96f e9a7ae
9705             e970 e9a7b1
9706             e971 e9a7b2
9707             e972 e9a7bb
9708             e973 e9a7b8
9709             e974 e9a881
9710             e975 e9a88f
9711             e976 e9a885
9712             e977 e9a7a2
9713             e978 e9a899
9714             e979 e9a8ab
9715             e97a e9a8b7
9716             e97b e9a985
9717             e97c e9a982
9718             e97d e9a980
9719             e97e e9a983
9720             e980 e9a8be
9721             e981 e9a995
9722             e982 e9a98d
9723             e983 e9a99b
9724             e984 e9a997
9725             e985 e9a99f
9726             e986 e9a9a2
9727             e987 e9a9a5
9728             e988 e9a9a4
9729             e989 e9a9a9
9730             e98a e9a9ab
9731             e98b e9a9aa
9732             e98c e9aaad
9733             e98d e9aab0
9734             e98e e9aabc
9735             e98f e9ab80
9736             e990 e9ab8f
9737             e991 e9ab91
9738             e992 e9ab93
9739             e993 e9ab94
9740             e994 e9ab9e
9741             e995 e9ab9f
9742             e996 e9aba2
9743             e997 e9aba3
9744             e998 e9aba6
9745             e999 e9abaf
9746             e99a e9abab
9747             e99b e9abae
9748             e99c e9abb4
9749             e99d e9abb1
9750             e99e e9abb7
9751             e99f e9abbb
9752             e9a0 e9ac86
9753             e9a1 e9ac98
9754             e9a2 e9ac9a
9755             e9a3 e9ac9f
9756             e9a4 e9aca2
9757             e9a5 e9aca3
9758             e9a6 e9aca5
9759             e9a7 e9aca7
9760             e9a8 e9aca8
9761             e9a9 e9aca9
9762             e9aa e9acaa
9763             e9ab e9acae
9764             e9ac e9acaf
9765             e9ad e9acb2
9766             e9ae e9ad84
9767             e9af e9ad83
9768             e9b0 e9ad8f
9769             e9b1 e9ad8d
9770             e9b2 e9ad8e
9771             e9b3 e9ad91
9772             e9b4 e9ad98
9773             e9b5 e9adb4
9774             e9b6 e9ae93
9775             e9b7 e9ae83
9776             e9b8 e9ae91
9777             e9b9 e9ae96
9778             e9ba e9ae97
9779             e9bb e9ae9f
9780             e9bc e9aea0
9781             e9bd e9aea8
9782             e9be e9aeb4
9783             e9bf e9af80
9784             e9c0 e9af8a
9785             e9c1 e9aeb9
9786             e9c2 e9af86
9787             e9c3 e9af8f
9788             e9c4 e9af91
9789             e9c5 e9af92
9790             e9c6 e9afa3
9791             e9c7 e9afa2
9792             e9c8 e9afa4
9793             e9c9 e9af94
9794             e9ca e9afa1
9795             e9cb e9b0ba
9796             e9cc e9afb2
9797             e9cd e9afb1
9798             e9ce e9afb0
9799             e9cf e9b095
9800             e9d0 e9b094
9801             e9d1 e9b089
9802             e9d2 e9b093
9803             e9d3 e9b08c
9804             e9d4 e9b086
9805             e9d5 e9b088
9806             e9d6 e9b092
9807             e9d7 e9b08a
9808             e9d8 e9b084
9809             e9d9 e9b0ae
9810             e9da e9b09b
9811             e9db e9b0a5
9812             e9dc e9b0a4
9813             e9dd e9b0a1
9814             e9de e9b0b0
9815             e9df e9b187
9816             e9e0 e9b0b2
9817             e9e1 e9b186
9818             e9e2 e9b0be
9819             e9e3 e9b19a
9820             e9e4 e9b1a0
9821             e9e5 e9b1a7
9822             e9e6 e9b1b6
9823             e9e7 e9b1b8
9824             e9e8 e9b3a7
9825             e9e9 e9b3ac
9826             e9ea e9b3b0
9827             e9eb e9b489
9828             e9ec e9b488
9829             e9ed e9b3ab
9830             e9ee e9b483
9831             e9ef e9b486
9832             e9f0 e9b4aa
9833             e9f1 e9b4a6
9834             e9f2 e9b6af
9835             e9f3 e9b4a3
9836             e9f4 e9b49f
9837             e9f5 e9b584
9838             e9f6 e9b495
9839             e9f7 e9b492
9840             e9f8 e9b581
9841             e9f9 e9b4bf
9842             e9fa e9b4be
9843             e9fb e9b586
9844             e9fc e9b588
9845             ea40 e9b59d
9846             ea41 e9b59e
9847             ea42 e9b5a4
9848             ea43 e9b591
9849             ea44 e9b590
9850             ea45 e9b599
9851             ea46 e9b5b2
9852             ea47 e9b689
9853             ea48 e9b687
9854             ea49 e9b6ab
9855             ea4a e9b5af
9856             ea4b e9b5ba
9857             ea4c e9b69a
9858             ea4d e9b6a4
9859             ea4e e9b6a9
9860             ea4f e9b6b2
9861             ea50 e9b784
9862             ea51 e9b781
9863             ea52 e9b6bb
9864             ea53 e9b6b8
9865             ea54 e9b6ba
9866             ea55 e9b786
9867             ea56 e9b78f
9868             ea57 e9b782
9869             ea58 e9b799
9870             ea59 e9b793
9871             ea5a e9b7b8
9872             ea5b e9b7a6
9873             ea5c e9b7ad
9874             ea5d e9b7af
9875             ea5e e9b7bd
9876             ea5f e9b89a
9877             ea60 e9b89b
9878             ea61 e9b89e
9879             ea62 e9b9b5
9880             ea63 e9b9b9
9881             ea64 e9b9bd
9882             ea65 e9ba81
9883             ea66 e9ba88
9884             ea67 e9ba8b
9885             ea68 e9ba8c
9886             ea69 e9ba92
9887             ea6a e9ba95
9888             ea6b e9ba91
9889             ea6c e9ba9d
9890             ea6d e9baa5
9891             ea6e e9baa9
9892             ea6f e9bab8
9893             ea70 e9baaa
9894             ea71 e9baad
9895             ea72 e99da1
9896             ea73 e9bb8c
9897             ea74 e9bb8e
9898             ea75 e9bb8f
9899             ea76 e9bb90
9900             ea77 e9bb94
9901             ea78 e9bb9c
9902             ea79 e9bb9e
9903             ea7a e9bb9d
9904             ea7b e9bba0
9905             ea7c e9bba5
9906             ea7d e9bba8
9907             ea7e e9bbaf
9908             ea80 e9bbb4
9909             ea81 e9bbb6
9910             ea82 e9bbb7
9911             ea83 e9bbb9
9912             ea84 e9bbbb
9913             ea85 e9bbbc
9914             ea86 e9bbbd
9915             ea87 e9bc87
9916             ea88 e9bc88
9917             ea89 e79ab7
9918             ea8a e9bc95
9919             ea8b e9bca1
9920             ea8c e9bcac
9921             ea8d e9bcbe
9922             ea8e e9bd8a
9923             ea8f e9bd92
9924             ea90 e9bd94
9925             ea91 e9bda3
9926             ea92 e9bd9f
9927             ea93 e9bda0
9928             ea94 e9bda1
9929             ea95 e9bda6
9930             ea96 e9bda7
9931             ea97 e9bdac
9932             ea98 e9bdaa
9933             ea99 e9bdb7
9934             ea9a e9bdb2
9935             ea9b e9bdb6
9936             ea9c e9be95
9937             ea9d e9be9c
9938             ea9e e9bea0
9939             ea9f e5a0af
9940             eaa0 e6a787
9941             eaa1 e98199
9942             eaa2 e791a4
9943             eaa3 e5879c
9944             eaa4 e78699
9945             ed40 e7ba8a
9946             ed41 e8a49c
9947             ed42 e98d88
9948             ed43 e98a88
9949             ed44 e8939c
9950             ed45 e4bf89
9951             ed46 e782bb
9952             ed47 e698b1
9953             ed48 e6a388
9954             ed49 e98bb9
9955             ed4a e69bbb
9956             ed4b e5bd85
9957             ed4c e4b8a8
9958             ed4d e4bba1
9959             ed4e e4bbbc
9960             ed4f e4bc80
9961             ed50 e4bc83
9962             ed51 e4bcb9
9963             ed52 e4bd96
9964             ed53 e4be92
9965             ed54 e4be8a
9966             ed55 e4be9a
9967             ed56 e4be94
9968             ed57 e4bf8d
9969             ed58 e58180
9970             ed59 e580a2
9971             ed5a e4bfbf
9972             ed5b e5809e
9973             ed5c e58186
9974             ed5d e581b0
9975             ed5e e58182
9976             ed5f e58294
9977             ed60 e583b4
9978             ed61 e58398
9979             ed62 e5858a
9980             ed63 e585a4
9981             ed64 e5869d
9982             ed65 e586be
9983             ed66 e587ac
9984             ed67 e58895
9985             ed68 e58a9c
9986             ed69 e58aa6
9987             ed6a e58b80
9988             ed6b e58b9b
9989             ed6c e58c80
9990             ed6d e58c87
9991             ed6e e58ca4
9992             ed6f e58db2
9993             ed70 e58e93
9994             ed71 e58eb2
9995             ed72 e58f9d
9996             ed73 efa88e
9997             ed74 e5929c
9998             ed75 e5928a
9999             ed76 e592a9
10000             ed77 e593bf
10001             ed78 e59686
10002             ed79 e59d99
10003             ed7a e59da5
10004             ed7b e59eac
10005             ed7c e59f88
10006             ed7d e59f87
10007             ed7e efa88f
10008             ed80 efa890
10009             ed81 e5a29e
10010             ed82 e5a2b2
10011             ed83 e5a48b
10012             ed84 e5a593
10013             ed85 e5a59b
10014             ed86 e5a59d
10015             ed87 e5a5a3
10016             ed88 e5a6a4
10017             ed89 e5a6ba
10018             ed8a e5ad96
10019             ed8b e5af80
10020             ed8c e794af
10021             ed8d e5af98
10022             ed8e e5afac
10023             ed8f e5b09e
10024             ed90 e5b2a6
10025             ed91 e5b2ba
10026             ed92 e5b3b5
10027             ed93 e5b4a7
10028             ed94 e5b593
10029             ed95 efa891
10030             ed96 e5b582
10031             ed97 e5b5ad
10032             ed98 e5b6b8
10033             ed99 e5b6b9
10034             ed9a e5b790
10035             ed9b e5bca1
10036             ed9c e5bcb4
10037             ed9d e5bda7
10038             ed9e e5beb7
10039             ed9f e5bf9e
10040             eda0 e6819d
10041             eda1 e68285
10042             eda2 e6828a
10043             eda3 e6839e
10044             eda4 e68395
10045             eda5 e684a0
10046             eda6 e683b2
10047             eda7 e68491
10048             eda8 e684b7
10049             eda9 e684b0
10050             edaa e68698
10051             edab e68893
10052             edac e68aa6
10053             edad e68fb5
10054             edae e691a0
10055             edaf e6929d
10056             edb0 e6938e
10057             edb1 e6958e
10058             edb2 e69880
10059             edb3 e69895
10060             edb4 e698bb
10061             edb5 e69889
10062             edb6 e698ae
10063             edb7 e6989e
10064             edb8 e698a4
10065             edb9 e699a5
10066             edba e69997
10067             edbb e69999
10068             edbc efa892
10069             edbd e699b3
10070             edbe e69a99
10071             edbf e69aa0
10072             edc0 e69ab2
10073             edc1 e69abf
10074             edc2 e69bba
10075             edc3 e69c8e
10076             edc4 efa4a9
10077             edc5 e69da6
10078             edc6 e69ebb
10079             edc7 e6a192
10080             edc8 e69f80
10081             edc9 e6a081
10082             edca e6a184
10083             edcb e6a38f
10084             edcc efa893
10085             edcd e6a5a8
10086             edce efa894
10087             edcf e6a698
10088             edd0 e6a7a2
10089             edd1 e6a8b0
10090             edd2 e6a9ab
10091             edd3 e6a986
10092             edd4 e6a9b3
10093             edd5 e6a9be
10094             edd6 e6aba2
10095             edd7 e6aba4
10096             edd8 e6af96
10097             edd9 e6b0bf
10098             edda e6b19c
10099             eddb e6b286
10100             eddc e6b1af
10101             eddd e6b39a
10102             edde e6b484
10103             eddf e6b687
10104             ede0 e6b5af
10105             ede1 e6b696
10106             ede2 e6b6ac
10107             ede3 e6b78f
10108             ede4 e6b7b8
10109             ede5 e6b7b2
10110             ede6 e6b7bc
10111             ede7 e6b8b9
10112             ede8 e6b99c
10113             ede9 e6b8a7
10114             edea e6b8bc
10115             edeb e6babf
10116             edec e6be88
10117             eded e6beb5
10118             edee e6bfb5
10119             edef e78085
10120             edf0 e78087
10121             edf1 e780a8
10122             edf2 e78285
10123             edf3 e782ab
10124             edf4 e7848f
10125             edf5 e78484
10126             edf6 e7859c
10127             edf7 e78586
10128             edf8 e78587
10129             edf9 efa895
10130             edfa e78781
10131             edfb e787be
10132             edfc e78ab1
10133             ee40 e78abe
10134             ee41 e78ca4
10135             ee42 efa896
10136             ee43 e78db7
10137             ee44 e78ebd
10138             ee45 e78f89
10139             ee46 e78f96
10140             ee47 e78fa3
10141             ee48 e78f92
10142             ee49 e79087
10143             ee4a e78fb5
10144             ee4b e790a6
10145             ee4c e790aa
10146             ee4d e790a9
10147             ee4e e790ae
10148             ee4f e791a2
10149             ee50 e79289
10150             ee51 e7929f
10151             ee52 e79481
10152             ee53 e795af
10153             ee54 e79a82
10154             ee55 e79a9c
10155             ee56 e79a9e
10156             ee57 e79a9b
10157             ee58 e79aa6
10158             ee59 efa897
10159             ee5a e79d86
10160             ee5b e58aaf
10161             ee5c e7a0a1
10162             ee5d e7a18e
10163             ee5e e7a1a4
10164             ee5f e7a1ba
10165             ee60 e7a4b0
10166             ee61 efa898
10167             ee62 efa899
10168             ee63 efa89a
10169             ee64 e7a694
10170             ee65 efa89b
10171             ee66 e7a69b
10172             ee67 e7ab91
10173             ee68 e7aba7
10174             ee69 efa89c
10175             ee6a e7abab
10176             ee6b e7ae9e
10177             ee6c efa89d
10178             ee6d e7b588
10179             ee6e e7b59c
10180             ee6f e7b6b7
10181             ee70 e7b6a0
10182             ee71 e7b796
10183             ee72 e7b992
10184             ee73 e7bd87
10185             ee74 e7bea1
10186             ee75 efa89e
10187             ee76 e88c81
10188             ee77 e88da2
10189             ee78 e88dbf
10190             ee79 e88f87
10191             ee7a e88fb6
10192             ee7b e89188
10193             ee7c e892b4
10194             ee7d e89593
10195             ee7e e89599
10196             ee80 e895ab
10197             ee81 efa89f
10198             ee82 e896b0
10199             ee83 efa8a0
10200             ee84 efa8a1
10201             ee85 e8a087
10202             ee86 e8a3b5
10203             ee87 e8a892
10204             ee88 e8a8b7
10205             ee89 e8a9b9
10206             ee8a e8aaa7
10207             ee8b e8aabe
10208             ee8c e8ab9f
10209             ee8d efa8a2
10210             ee8e e8abb6
10211             ee8f e8ad93
10212             ee90 e8adbf
10213             ee91 e8b3b0
10214             ee92 e8b3b4
10215             ee93 e8b492
10216             ee94 e8b5b6
10217             ee95 efa8a3
10218             ee96 e8bb8f
10219             ee97 efa8a4
10220             ee98 efa8a5
10221             ee99 e981a7
10222             ee9a e9839e
10223             ee9b efa8a6
10224             ee9c e98495
10225             ee9d e984a7
10226             ee9e e9879a
10227             ee9f e98797
10228             eea0 e9879e
10229             eea1 e987ad
10230             eea2 e987ae
10231             eea3 e987a4
10232             eea4 e987a5
10233             eea5 e98886
10234             eea6 e98890
10235             eea7 e9888a
10236             eea8 e988ba
10237             eea9 e98980
10238             eeaa e988bc
10239             eeab e9898e
10240             eeac e98999
10241             eead e98991
10242             eeae e988b9
10243             eeaf e989a7
10244             eeb0 e98aa7
10245             eeb1 e989b7
10246             eeb2 e989b8
10247             eeb3 e98ba7
10248             eeb4 e98b97
10249             eeb5 e98b99
10250             eeb6 e98b90
10251             eeb7 efa8a7
10252             eeb8 e98b95
10253             eeb9 e98ba0
10254             eeba e98b93
10255             eebb e98ca5
10256             eebc e98ca1
10257             eebd e98bbb
10258             eebe efa8a8
10259             eebf e98c9e
10260             eec0 e98bbf
10261             eec1 e98c9d
10262             eec2 e98c82
10263             eec3 e98db0
10264             eec4 e98d97
10265             eec5 e98ea4
10266             eec6 e98f86
10267             eec7 e98f9e
10268             eec8 e98fb8
10269             eec9 e990b1
10270             eeca e99185
10271             eecb e99188
10272             eecc e99692
10273             eecd efa79c
10274             eece efa8a9
10275             eecf e99a9d
10276             eed0 e99aaf
10277             eed1 e99cb3
10278             eed2 e99cbb
10279             eed3 e99d83
10280             eed4 e99d8d
10281             eed5 e99d8f
10282             eed6 e99d91
10283             eed7 e99d95
10284             eed8 e9a197
10285             eed9 e9a1a5
10286             eeda efa8aa
10287             eedb efa8ab
10288             eedc e9a4a7
10289             eedd efa8ac
10290             eede e9a69e
10291             eedf e9a98e
10292             eee0 e9ab99
10293             eee1 e9ab9c
10294             eee2 e9adb5
10295             eee3 e9adb2
10296             eee4 e9ae8f
10297             eee5 e9aeb1
10298             eee6 e9aebb
10299             eee7 e9b080
10300             eee8 e9b5b0
10301             eee9 e9b5ab
10302             eeea efa8ad
10303             eeeb e9b899
10304             eeec e9bb91
10305             eeef e285b0
10306             eef0 e285b1
10307             eef1 e285b2
10308             eef2 e285b3
10309             eef3 e285b4
10310             eef4 e285b5
10311             eef5 e285b6
10312             eef6 e285b7
10313             eef7 e285b8
10314             eef8 e285b9
10315             eef9 efbfa2
10316             eefa efbfa4
10317             eefb efbc87
10318             eefc efbc82
10319             fa40 e285b0
10320             fa41 e285b1
10321             fa42 e285b2
10322             fa43 e285b3
10323             fa44 e285b4
10324             fa45 e285b5
10325             fa46 e285b6
10326             fa47 e285b7
10327             fa48 e285b8
10328             fa49 e285b9
10329             fa4a e285a0
10330             fa4b e285a1
10331             fa4c e285a2
10332             fa4d e285a3
10333             fa4e e285a4
10334             fa4f e285a5
10335             fa50 e285a6
10336             fa51 e285a7
10337             fa52 e285a8
10338             fa53 e285a9
10339             fa54 efbfa2
10340             fa55 efbfa4
10341             fa56 efbc87
10342             fa57 efbc82
10343             fa58 e388b1
10344             fa59 e28496
10345             fa5a e284a1
10346             fa5b e288b5
10347             fa5c e7ba8a
10348             fa5d e8a49c
10349             fa5e e98d88
10350             fa5f e98a88
10351             fa60 e8939c
10352             fa61 e4bf89
10353             fa62 e782bb
10354             fa63 e698b1
10355             fa64 e6a388
10356             fa65 e98bb9
10357             fa66 e69bbb
10358             fa67 e5bd85
10359             fa68 e4b8a8
10360             fa69 e4bba1
10361             fa6a e4bbbc
10362             fa6b e4bc80
10363             fa6c e4bc83
10364             fa6d e4bcb9
10365             fa6e e4bd96
10366             fa6f e4be92
10367             fa70 e4be8a
10368             fa71 e4be9a
10369             fa72 e4be94
10370             fa73 e4bf8d
10371             fa74 e58180
10372             fa75 e580a2
10373             fa76 e4bfbf
10374             fa77 e5809e
10375             fa78 e58186
10376             fa79 e581b0
10377             fa7a e58182
10378             fa7b e58294
10379             fa7c e583b4
10380             fa7d e58398
10381             fa7e e5858a
10382             fa80 e585a4
10383             fa81 e5869d
10384             fa82 e586be
10385             fa83 e587ac
10386             fa84 e58895
10387             fa85 e58a9c
10388             fa86 e58aa6
10389             fa87 e58b80
10390             fa88 e58b9b
10391             fa89 e58c80
10392             fa8a e58c87
10393             fa8b e58ca4
10394             fa8c e58db2
10395             fa8d e58e93
10396             fa8e e58eb2
10397             fa8f e58f9d
10398             fa90 efa88e
10399             fa91 e5929c
10400             fa92 e5928a
10401             fa93 e592a9
10402             fa94 e593bf
10403             fa95 e59686
10404             fa96 e59d99
10405             fa97 e59da5
10406             fa98 e59eac
10407             fa99 e59f88
10408             fa9a e59f87
10409             fa9b efa88f
10410             fa9c efa890
10411             fa9d e5a29e
10412             fa9e e5a2b2
10413             fa9f e5a48b
10414             faa0 e5a593
10415             faa1 e5a59b
10416             faa2 e5a59d
10417             faa3 e5a5a3
10418             faa4 e5a6a4
10419             faa5 e5a6ba
10420             faa6 e5ad96
10421             faa7 e5af80
10422             faa8 e794af
10423             faa9 e5af98
10424             faaa e5afac
10425             faab e5b09e
10426             faac e5b2a6
10427             faad e5b2ba
10428             faae e5b3b5
10429             faaf e5b4a7
10430             fab0 e5b593
10431             fab1 efa891
10432             fab2 e5b582
10433             fab3 e5b5ad
10434             fab4 e5b6b8
10435             fab5 e5b6b9
10436             fab6 e5b790
10437             fab7 e5bca1
10438             fab8 e5bcb4
10439             fab9 e5bda7
10440             faba e5beb7
10441             fabb e5bf9e
10442             fabc e6819d
10443             fabd e68285
10444             fabe e6828a
10445             fabf e6839e
10446             fac0 e68395
10447             fac1 e684a0
10448             fac2 e683b2
10449             fac3 e68491
10450             fac4 e684b7
10451             fac5 e684b0
10452             fac6 e68698
10453             fac7 e68893
10454             fac8 e68aa6
10455             fac9 e68fb5
10456             faca e691a0
10457             facb e6929d
10458             facc e6938e
10459             facd e6958e
10460             face e69880
10461             facf e69895
10462             fad0 e698bb
10463             fad1 e69889
10464             fad2 e698ae
10465             fad3 e6989e
10466             fad4 e698a4
10467             fad5 e699a5
10468             fad6 e69997
10469             fad7 e69999
10470             fad8 efa892
10471             fad9 e699b3
10472             fada e69a99
10473             fadb e69aa0
10474             fadc e69ab2
10475             fadd e69abf
10476             fade e69bba
10477             fadf e69c8e
10478             fae0 efa4a9
10479             fae1 e69da6
10480             fae2 e69ebb
10481             fae3 e6a192
10482             fae4 e69f80
10483             fae5 e6a081
10484             fae6 e6a184
10485             fae7 e6a38f
10486             fae8 efa893
10487             fae9 e6a5a8
10488             faea efa894
10489             faeb e6a698
10490             faec e6a7a2
10491             faed e6a8b0
10492             faee e6a9ab
10493             faef e6a986
10494             faf0 e6a9b3
10495             faf1 e6a9be
10496             faf2 e6aba2
10497             faf3 e6aba4
10498             faf4 e6af96
10499             faf5 e6b0bf
10500             faf6 e6b19c
10501             faf7 e6b286
10502             faf8 e6b1af
10503             faf9 e6b39a
10504             fafa e6b484
10505             fafb e6b687
10506             fafc e6b5af
10507             fb40 e6b696
10508             fb41 e6b6ac
10509             fb42 e6b78f
10510             fb43 e6b7b8
10511             fb44 e6b7b2
10512             fb45 e6b7bc
10513             fb46 e6b8b9
10514             fb47 e6b99c
10515             fb48 e6b8a7
10516             fb49 e6b8bc
10517             fb4a e6babf
10518             fb4b e6be88
10519             fb4c e6beb5
10520             fb4d e6bfb5
10521             fb4e e78085
10522             fb4f e78087
10523             fb50 e780a8
10524             fb51 e78285
10525             fb52 e782ab
10526             fb53 e7848f
10527             fb54 e78484
10528             fb55 e7859c
10529             fb56 e78586
10530             fb57 e78587
10531             fb58 efa895
10532             fb59 e78781
10533             fb5a e787be
10534             fb5b e78ab1
10535             fb5c e78abe
10536             fb5d e78ca4
10537             fb5e efa896
10538             fb5f e78db7
10539             fb60 e78ebd
10540             fb61 e78f89
10541             fb62 e78f96
10542             fb63 e78fa3
10543             fb64 e78f92
10544             fb65 e79087
10545             fb66 e78fb5
10546             fb67 e790a6
10547             fb68 e790aa
10548             fb69 e790a9
10549             fb6a e790ae
10550             fb6b e791a2
10551             fb6c e79289
10552             fb6d e7929f
10553             fb6e e79481
10554             fb6f e795af
10555             fb70 e79a82
10556             fb71 e79a9c
10557             fb72 e79a9e
10558             fb73 e79a9b
10559             fb74 e79aa6
10560             fb75 efa897
10561             fb76 e79d86
10562             fb77 e58aaf
10563             fb78 e7a0a1
10564             fb79 e7a18e
10565             fb7a e7a1a4
10566             fb7b e7a1ba
10567             fb7c e7a4b0
10568             fb7d efa898
10569             fb7e efa899
10570             fb80 efa89a
10571             fb81 e7a694
10572             fb82 efa89b
10573             fb83 e7a69b
10574             fb84 e7ab91
10575             fb85 e7aba7
10576             fb86 efa89c
10577             fb87 e7abab
10578             fb88 e7ae9e
10579             fb89 efa89d
10580             fb8a e7b588
10581             fb8b e7b59c
10582             fb8c e7b6b7
10583             fb8d e7b6a0
10584             fb8e e7b796
10585             fb8f e7b992
10586             fb90 e7bd87
10587             fb91 e7bea1
10588             fb92 efa89e
10589             fb93 e88c81
10590             fb94 e88da2
10591             fb95 e88dbf
10592             fb96 e88f87
10593             fb97 e88fb6
10594             fb98 e89188
10595             fb99 e892b4
10596             fb9a e89593
10597             fb9b e89599
10598             fb9c e895ab
10599             fb9d efa89f
10600             fb9e e896b0
10601             fb9f efa8a0
10602             fba0 efa8a1
10603             fba1 e8a087
10604             fba2 e8a3b5
10605             fba3 e8a892
10606             fba4 e8a8b7
10607             fba5 e8a9b9
10608             fba6 e8aaa7
10609             fba7 e8aabe
10610             fba8 e8ab9f
10611             fba9 efa8a2
10612             fbaa e8abb6
10613             fbab e8ad93
10614             fbac e8adbf
10615             fbad e8b3b0
10616             fbae e8b3b4
10617             fbaf e8b492
10618             fbb0 e8b5b6
10619             fbb1 efa8a3
10620             fbb2 e8bb8f
10621             fbb3 efa8a4
10622             fbb4 efa8a5
10623             fbb5 e981a7
10624             fbb6 e9839e
10625             fbb7 efa8a6
10626             fbb8 e98495
10627             fbb9 e984a7
10628             fbba e9879a
10629             fbbb e98797
10630             fbbc e9879e
10631             fbbd e987ad
10632             fbbe e987ae
10633             fbbf e987a4
10634             fbc0 e987a5
10635             fbc1 e98886
10636             fbc2 e98890
10637             fbc3 e9888a
10638             fbc4 e988ba
10639             fbc5 e98980
10640             fbc6 e988bc
10641             fbc7 e9898e
10642             fbc8 e98999
10643             fbc9 e98991
10644             fbca e988b9
10645             fbcb e989a7
10646             fbcc e98aa7
10647             fbcd e989b7
10648             fbce e989b8
10649             fbcf e98ba7
10650             fbd0 e98b97
10651             fbd1 e98b99
10652             fbd2 e98b90
10653             fbd3 efa8a7
10654             fbd4 e98b95
10655             fbd5 e98ba0
10656             fbd6 e98b93
10657             fbd7 e98ca5
10658             fbd8 e98ca1
10659             fbd9 e98bbb
10660             fbda efa8a8
10661             fbdb e98c9e
10662             fbdc e98bbf
10663             fbdd e98c9d
10664             fbde e98c82
10665             fbdf e98db0
10666             fbe0 e98d97
10667             fbe1 e98ea4
10668             fbe2 e98f86
10669             fbe3 e98f9e
10670             fbe4 e98fb8
10671             fbe5 e990b1
10672             fbe6 e99185
10673             fbe7 e99188
10674             fbe8 e99692
10675             fbe9 efa79c
10676             fbea efa8a9
10677             fbeb e99a9d
10678             fbec e99aaf
10679             fbed e99cb3
10680             fbee e99cbb
10681             fbef e99d83
10682             fbf0 e99d8d
10683             fbf1 e99d8f
10684             fbf2 e99d91
10685             fbf3 e99d95
10686             fbf4 e9a197
10687             fbf5 e9a1a5
10688             fbf6 efa8aa
10689             fbf7 efa8ab
10690             fbf8 e9a4a7
10691             fbf9 efa8ac
10692             fbfa e9a69e
10693             fbfb e9a98e
10694             fbfc e9ab99
10695             fc40 e9ab9c
10696             fc41 e9adb5
10697             fc42 e9adb2
10698             fc43 e9ae8f
10699             fc44 e9aeb1
10700             fc45 e9aebb
10701             fc46 e9b080
10702             fc47 e9b5b0
10703             fc48 e9b5ab
10704             fc49 efa8ad
10705             fc4a e9b899
10706             fc4b e9bb91
10707             END
10708              
10709 321 50       55664 if ( scalar(keys %sjis2utf8_2) != 4152 ) {
10710 0         0 die "scalar(keys %sjis2utf8_2) is ", scalar(keys %sjis2utf8_2), ".";
10711             }
10712             }
10713              
10714             #---------------------------------------------------------------------
10715             sub init_utf82sjis {
10716 145 50   145   524 &init_sjis2utf8 unless %sjis2utf8_1;
10717 145         225398 %utf82sjis_1 = reverse %sjis2utf8_1;
10718 145         368020 %utf82sjis_2 = reverse %sjis2utf8_2;
10719              
10720             # JP170559 CodePage 932 : 398 non-round-trip mappings
10721             # http://support.microsoft.com/kb/170559/ja
10722              
10723 145         31614 %JP170559 = split( /\s+/, <<'END' );
10724             e28992 81e0
10725             e289a1 81df
10726             e288ab 81e7
10727             e2889a 81e3
10728             e28aa5 81db
10729             e288a0 81da
10730             e288b5 81e6
10731             e288a9 81bf
10732             e288aa 81be
10733             e7ba8a fa5c
10734             e8a49c fa5d
10735             e98d88 fa5e
10736             e98a88 fa5f
10737             e8939c fa60
10738             e4bf89 fa61
10739             e782bb fa62
10740             e698b1 fa63
10741             e6a388 fa64
10742             e98bb9 fa65
10743             e69bbb fa66
10744             e5bd85 fa67
10745             e4b8a8 fa68
10746             e4bba1 fa69
10747             e4bbbc fa6a
10748             e4bc80 fa6b
10749             e4bc83 fa6c
10750             e4bcb9 fa6d
10751             e4bd96 fa6e
10752             e4be92 fa6f
10753             e4be8a fa70
10754             e4be9a fa71
10755             e4be94 fa72
10756             e4bf8d fa73
10757             e58180 fa74
10758             e580a2 fa75
10759             e4bfbf fa76
10760             e5809e fa77
10761             e58186 fa78
10762             e581b0 fa79
10763             e58182 fa7a
10764             e58294 fa7b
10765             e583b4 fa7c
10766             e58398 fa7d
10767             e5858a fa7e
10768             e585a4 fa80
10769             e5869d fa81
10770             e586be fa82
10771             e587ac fa83
10772             e58895 fa84
10773             e58a9c fa85
10774             e58aa6 fa86
10775             e58b80 fa87
10776             e58b9b fa88
10777             e58c80 fa89
10778             e58c87 fa8a
10779             e58ca4 fa8b
10780             e58db2 fa8c
10781             e58e93 fa8d
10782             e58eb2 fa8e
10783             e58f9d fa8f
10784             efa88e fa90
10785             e5929c fa91
10786             e5928a fa92
10787             e592a9 fa93
10788             e593bf fa94
10789             e59686 fa95
10790             e59d99 fa96
10791             e59da5 fa97
10792             e59eac fa98
10793             e59f88 fa99
10794             e59f87 fa9a
10795             efa88f fa9b
10796             efa890 fa9c
10797             e5a29e fa9d
10798             e5a2b2 fa9e
10799             e5a48b fa9f
10800             e5a593 faa0
10801             e5a59b faa1
10802             e5a59d faa2
10803             e5a5a3 faa3
10804             e5a6a4 faa4
10805             e5a6ba faa5
10806             e5ad96 faa6
10807             e5af80 faa7
10808             e794af faa8
10809             e5af98 faa9
10810             e5afac faaa
10811             e5b09e faab
10812             e5b2a6 faac
10813             e5b2ba faad
10814             e5b3b5 faae
10815             e5b4a7 faaf
10816             e5b593 fab0
10817             efa891 fab1
10818             e5b582 fab2
10819             e5b5ad fab3
10820             e5b6b8 fab4
10821             e5b6b9 fab5
10822             e5b790 fab6
10823             e5bca1 fab7
10824             e5bcb4 fab8
10825             e5bda7 fab9
10826             e5beb7 faba
10827             e5bf9e fabb
10828             e6819d fabc
10829             e68285 fabd
10830             e6828a fabe
10831             e6839e fabf
10832             e68395 fac0
10833             e684a0 fac1
10834             e683b2 fac2
10835             e68491 fac3
10836             e684b7 fac4
10837             e684b0 fac5
10838             e68698 fac6
10839             e68893 fac7
10840             e68aa6 fac8
10841             e68fb5 fac9
10842             e691a0 faca
10843             e6929d facb
10844             e6938e facc
10845             e6958e facd
10846             e69880 face
10847             e69895 facf
10848             e698bb fad0
10849             e69889 fad1
10850             e698ae fad2
10851             e6989e fad3
10852             e698a4 fad4
10853             e699a5 fad5
10854             e69997 fad6
10855             e69999 fad7
10856             efa892 fad8
10857             e699b3 fad9
10858             e69a99 fada
10859             e69aa0 fadb
10860             e69ab2 fadc
10861             e69abf fadd
10862             e69bba fade
10863             e69c8e fadf
10864             efa4a9 fae0
10865             e69da6 fae1
10866             e69ebb fae2
10867             e6a192 fae3
10868             e69f80 fae4
10869             e6a081 fae5
10870             e6a184 fae6
10871             e6a38f fae7
10872             efa893 fae8
10873             e6a5a8 fae9
10874             efa894 faea
10875             e6a698 faeb
10876             e6a7a2 faec
10877             e6a8b0 faed
10878             e6a9ab faee
10879             e6a986 faef
10880             e6a9b3 faf0
10881             e6a9be faf1
10882             e6aba2 faf2
10883             e6aba4 faf3
10884             e6af96 faf4
10885             e6b0bf faf5
10886             e6b19c faf6
10887             e6b286 faf7
10888             e6b1af faf8
10889             e6b39a faf9
10890             e6b484 fafa
10891             e6b687 fafb
10892             e6b5af fafc
10893             e6b696 fb40
10894             e6b6ac fb41
10895             e6b78f fb42
10896             e6b7b8 fb43
10897             e6b7b2 fb44
10898             e6b7bc fb45
10899             e6b8b9 fb46
10900             e6b99c fb47
10901             e6b8a7 fb48
10902             e6b8bc fb49
10903             e6babf fb4a
10904             e6be88 fb4b
10905             e6beb5 fb4c
10906             e6bfb5 fb4d
10907             e78085 fb4e
10908             e78087 fb4f
10909             e780a8 fb50
10910             e78285 fb51
10911             e782ab fb52
10912             e7848f fb53
10913             e78484 fb54
10914             e7859c fb55
10915             e78586 fb56
10916             e78587 fb57
10917             efa895 fb58
10918             e78781 fb59
10919             e787be fb5a
10920             e78ab1 fb5b
10921             e78abe fb5c
10922             e78ca4 fb5d
10923             efa896 fb5e
10924             e78db7 fb5f
10925             e78ebd fb60
10926             e78f89 fb61
10927             e78f96 fb62
10928             e78fa3 fb63
10929             e78f92 fb64
10930             e79087 fb65
10931             e78fb5 fb66
10932             e790a6 fb67
10933             e790aa fb68
10934             e790a9 fb69
10935             e790ae fb6a
10936             e791a2 fb6b
10937             e79289 fb6c
10938             e7929f fb6d
10939             e79481 fb6e
10940             e795af fb6f
10941             e79a82 fb70
10942             e79a9c fb71
10943             e79a9e fb72
10944             e79a9b fb73
10945             e79aa6 fb74
10946             efa897 fb75
10947             e79d86 fb76
10948             e58aaf fb77
10949             e7a0a1 fb78
10950             e7a18e fb79
10951             e7a1a4 fb7a
10952             e7a1ba fb7b
10953             e7a4b0 fb7c
10954             efa898 fb7d
10955             efa899 fb7e
10956             efa89a fb80
10957             e7a694 fb81
10958             efa89b fb82
10959             e7a69b fb83
10960             e7ab91 fb84
10961             e7aba7 fb85
10962             efa89c fb86
10963             e7abab fb87
10964             e7ae9e fb88
10965             efa89d fb89
10966             e7b588 fb8a
10967             e7b59c fb8b
10968             e7b6b7 fb8c
10969             e7b6a0 fb8d
10970             e7b796 fb8e
10971             e7b992 fb8f
10972             e7bd87 fb90
10973             e7bea1 fb91
10974             efa89e fb92
10975             e88c81 fb93
10976             e88da2 fb94
10977             e88dbf fb95
10978             e88f87 fb96
10979             e88fb6 fb97
10980             e89188 fb98
10981             e892b4 fb99
10982             e89593 fb9a
10983             e89599 fb9b
10984             e895ab fb9c
10985             efa89f fb9d
10986             e896b0 fb9e
10987             efa8a0 fb9f
10988             efa8a1 fba0
10989             e8a087 fba1
10990             e8a3b5 fba2
10991             e8a892 fba3
10992             e8a8b7 fba4
10993             e8a9b9 fba5
10994             e8aaa7 fba6
10995             e8aabe fba7
10996             e8ab9f fba8
10997             efa8a2 fba9
10998             e8abb6 fbaa
10999             e8ad93 fbab
11000             e8adbf fbac
11001             e8b3b0 fbad
11002             e8b3b4 fbae
11003             e8b492 fbaf
11004             e8b5b6 fbb0
11005             efa8a3 fbb1
11006             e8bb8f fbb2
11007             efa8a4 fbb3
11008             efa8a5 fbb4
11009             e981a7 fbb5
11010             e9839e fbb6
11011             efa8a6 fbb7
11012             e98495 fbb8
11013             e984a7 fbb9
11014             e9879a fbba
11015             e98797 fbbb
11016             e9879e fbbc
11017             e987ad fbbd
11018             e987ae fbbe
11019             e987a4 fbbf
11020             e987a5 fbc0
11021             e98886 fbc1
11022             e98890 fbc2
11023             e9888a fbc3
11024             e988ba fbc4
11025             e98980 fbc5
11026             e988bc fbc6
11027             e9898e fbc7
11028             e98999 fbc8
11029             e98991 fbc9
11030             e988b9 fbca
11031             e989a7 fbcb
11032             e98aa7 fbcc
11033             e989b7 fbcd
11034             e989b8 fbce
11035             e98ba7 fbcf
11036             e98b97 fbd0
11037             e98b99 fbd1
11038             e98b90 fbd2
11039             efa8a7 fbd3
11040             e98b95 fbd4
11041             e98ba0 fbd5
11042             e98b93 fbd6
11043             e98ca5 fbd7
11044             e98ca1 fbd8
11045             e98bbb fbd9
11046             efa8a8 fbda
11047             e98c9e fbdb
11048             e98bbf fbdc
11049             e98c9d fbdd
11050             e98c82 fbde
11051             e98db0 fbdf
11052             e98d97 fbe0
11053             e98ea4 fbe1
11054             e98f86 fbe2
11055             e98f9e fbe3
11056             e98fb8 fbe4
11057             e990b1 fbe5
11058             e99185 fbe6
11059             e99188 fbe7
11060             e99692 fbe8
11061             efa79c fbe9
11062             efa8a9 fbea
11063             e99a9d fbeb
11064             e99aaf fbec
11065             e99cb3 fbed
11066             e99cbb fbee
11067             e99d83 fbef
11068             e99d8d fbf0
11069             e99d8f fbf1
11070             e99d91 fbf2
11071             e99d95 fbf3
11072             e9a197 fbf4
11073             e9a1a5 fbf5
11074             efa8aa fbf6
11075             efa8ab fbf7
11076             e9a4a7 fbf8
11077             efa8ac fbf9
11078             e9a69e fbfa
11079             e9a98e fbfb
11080             e9ab99 fbfc
11081             e9ab9c fc40
11082             e9adb5 fc41
11083             e9adb2 fc42
11084             e9ae8f fc43
11085             e9aeb1 fc44
11086             e9aebb fc45
11087             e9b080 fc46
11088             e9b5b0 fc47
11089             e9b5ab fc48
11090             efa8ad fc49
11091             e9b899 fc4a
11092             e9bb91 fc4b
11093             e285b0 fa40
11094             e285b1 fa41
11095             e285b2 fa42
11096             e285b3 fa43
11097             e285b4 fa44
11098             e285b5 fa45
11099             e285b6 fa46
11100             e285b7 fa47
11101             e285b8 fa48
11102             e285b9 fa49
11103             efbfa2 81ca
11104             efbfa4 fa55
11105             efbc87 fa56
11106             efbc82 fa57
11107             e285a0 8754
11108             e285a1 8755
11109             e285a2 8756
11110             e285a3 8757
11111             e285a4 8758
11112             e285a5 8759
11113             e285a6 875a
11114             e285a7 875b
11115             e285a8 875c
11116             e285a9 875d
11117             efbfa2 81ca
11118             e388b1 878a
11119             e28496 8782
11120             e284a1 8784
11121             e288b5 81e6
11122             END
11123              
11124 145 50       3611 if ( scalar(keys %JP170559) != 396 ) {
11125 0         0 die "scalar(keys %JP170559) is ", scalar(keys %JP170559), ".";
11126             }
11127             }
11128              
11129             %kana2utf8 = split( /\s+/, <<'END' );
11130             a1 efbda1
11131             a2 efbda2
11132             a3 efbda3
11133             a4 efbda4
11134             a5 efbda5
11135             a6 efbda6
11136             a7 efbda7
11137             a8 efbda8
11138             a9 efbda9
11139             aa efbdaa
11140             ab efbdab
11141             ac efbdac
11142             ad efbdad
11143             ae efbdae
11144             af efbdaf
11145             b0 efbdb0
11146             b1 efbdb1
11147             b2 efbdb2
11148             b3 efbdb3
11149             b4 efbdb4
11150             b5 efbdb5
11151             b6 efbdb6
11152             b7 efbdb7
11153             b8 efbdb8
11154             b9 efbdb9
11155             ba efbdba
11156             bb efbdbb
11157             bc efbdbc
11158             bd efbdbd
11159             be efbdbe
11160             bf efbdbf
11161             c0 efbe80
11162             c1 efbe81
11163             c2 efbe82
11164             c3 efbe83
11165             c4 efbe84
11166             c5 efbe85
11167             c6 efbe86
11168             c7 efbe87
11169             c8 efbe88
11170             c9 efbe89
11171             ca efbe8a
11172             cb efbe8b
11173             cc efbe8c
11174             cd efbe8d
11175             ce efbe8e
11176             cf efbe8f
11177             d0 efbe90
11178             d1 efbe91
11179             d2 efbe92
11180             d3 efbe93
11181             d4 efbe94
11182             d5 efbe95
11183             d6 efbe96
11184             d7 efbe97
11185             d8 efbe98
11186             d9 efbe99
11187             da efbe9a
11188             db efbe9b
11189             dc efbe9c
11190             dd efbe9d
11191             de efbe9e
11192             df efbe9f
11193             END
11194              
11195             if ( scalar(keys %kana2utf8) != 63 ) {
11196             die "scalar(keys %kana2utf8) is ", scalar(keys %kana2utf8), ".";
11197             }
11198              
11199             #---------------------------------------------------------------------
11200             sub init_k2u {
11201 85 50   85   400 if (%u2k) {
11202 0         0 %k2u = reverse %u2k;
11203 0 0       0 if ( scalar( keys %k2u ) != scalar( keys %u2k ) ) {
11204 0         0 die "scalar(keys %k2u) != scalar(keys %u2k).";
11205             }
11206             }
11207             else {
11208 85         115 local ( $k, $u );
11209 85         304 while ( ( $k, $u ) = each %kana2utf8 ) {
11210 5355         12292 $k2u{ pack( 'H*', $k ) } = pack( 'H*', $u );
11211             }
11212             }
11213             }
11214              
11215             #---------------------------------------------------------------------
11216             sub init_u2k {
11217 13 100   13   45 if (%k2u) {
11218 1         38 %u2k = reverse %k2u;
11219 1 50       3 if ( scalar( keys %u2k ) != scalar( keys %k2u ) ) {
11220 0         0 die "scalar(keys %u2k) != scalar(keys %k2u).";
11221             }
11222             }
11223             else {
11224 12         25 local ( $k, $u );
11225 12         64 while ( ( $k, $u ) = each %kana2utf8 ) {
11226 756         2192 $u2k{ pack( 'H*', $u ) } = pack( 'H*', $k );
11227             }
11228             }
11229             }
11230              
11231             #---------------------------------------------------------------------
11232             # TR subroutine for DBCS
11233             #---------------------------------------------------------------------
11234             # tr — transliterate characters in *s according to $from/$to mapping.
11235             #
11236             # Works on any encoding by operating at the byte-pair (DBCS) level.
11237             # JIS input is converted to EUC internally and restored after.
11238             # $option /d deletes characters in $from with no $to counterpart.
11239             #
11240             # Caches the %table translation map when $from/$to/$option unchanged.
11241             # Bug fix vs jcode.pl 2.13: also invalidates cache on $option change.
11242             #---------------------------------------------------------------------
11243             sub tr {
11244              
11245             # $prev_from, $prev_to, %table are persistent variables
11246 2     2   23 local ( *s, $from, $to, $option ) = @_;
11247 2         2 local ( @from, @to );
11248 2         11 local ( $jis, $n ) = ( 0, 0 );
11249              
11250             # fixing bug of jcode.pl (2 of 2)
11251             # mis-caching table
11252             # http://srekcah.org/jcode/2.13.1/
11253             #
11254             #! ;; $rcsid = q$Id: jcode.pl,v 2.13.1.4 2002/04/07 07:27:00 utashiro Exp $;
11255             # *** 727,734 ****
11256             # $jis++, &jis2euc(*s) if $s =~ /$re_jp|$re_asc|$re_kana/o;
11257             # $jis++ if $to =~ /$re_jp|$re_asc|$re_kana/o;
11258             #
11259             #! if (!defined($prev_from) || $from ne $prev_from || $to ne $prev_to) {
11260             #! ($prev_from, $prev_to) = ($from, $to);
11261             # undef %table;
11262             # &_maketable;
11263             # }
11264             # --- 727,735 ----
11265             # $jis++, &jis2euc(*s) if $s =~ /$re_jp|$re_asc|$re_kana/o;
11266             # $jis++ if $to =~ /$re_jp|$re_asc|$re_kana/o;
11267             #
11268             #! if (!defined($prev_from) ||
11269             #! $from ne $prev_from || $to ne $prev_to || $opt ne $prev_opt) {
11270             #! ($prev_from, $prev_to, $prev_opt) = ($from, $to, $opt);
11271             # undef %table;
11272             # &_maketable;
11273             # }
11274              
11275             # jcodeg.diff by Gappai
11276             # http://www.vector.co.jp/soft/win95/prog/se347514.html
11277              
11278 2 50       80 $jis++, &jis2euc(*s) if $s =~ /$re_esc_jp|$re_esc_asc|$re_esc_kana/o;
11279 2 50       51 $jis++ if $to =~ /$re_esc_jp|$re_esc_asc|$re_esc_kana/o;
11280              
11281 2 0 33     7 if ( !defined($prev_from)
      33        
      0        
11282             || $from ne $prev_from
11283             || $to ne $prev_to
11284             || $option ne $prev_opt )
11285             {
11286 2         4 ( $prev_from, $prev_to, $prev_opt ) = ( $from, $to, $option );
11287 2         4 undef %table;
11288 2         4 &_maketable;
11289             }
11290              
11291 2         5 $s =~ s/([\x80-\xff][\x00-\xff]|[\x00-\xff])/
11292 134 50 33     313 defined($table{$1}) && ++$n ? $table{$1} : $1
11293             /ge;
11294              
11295 2 50       8 &euc2jis(*s) if $jis;
11296              
11297 2         16 $n;
11298             }
11299              
11300             #---------------------------------------------------------------------
11301             # _maketable — build %table translation map from $from/$to/$option.
11302             # Handles JIS->EUC conversion of operands, range expansion (_expnd1/2),
11303             # and /d (delete) option for missing target characters.
11304             #---------------------------------------------------------------------
11305             sub _maketable {
11306 2     2   2 local ($ascii) = '(\\\\[\\-\\\\]|[\0-\x5b\x5d-\x7f])';
11307              
11308 2 50       43 &jis2euc(*to) if $to =~ /$re_esc_jp|$re_esc_asc|$re_esc_kana/o;
11309 2 50       41 &jis2euc(*from) if $from =~ /$re_esc_jp|$re_esc_asc|$re_esc_kana/o;
11310              
11311 2         16 grep( s/(([\x80-\xff])[\x80-\xff]-\2[\x80-\xff])/&_expnd2($1)/ge,
  6         8  
11312             $from, $to );
11313 2         120 grep( s/($ascii-$ascii)/&_expnd1($1)/geo, $from, $to );
  6         10  
11314              
11315 2         64 @to = $to =~ /[\x80-\xff][\x00-\xff]|[\x00-\xff]/g;
11316 2         46 @from = $from =~ /[\x80-\xff][\x00-\xff]|[\x00-\xff]/g;
11317 2 0       4 push( @to, ( $option =~ /d/ ? '' : $to[$#to] ) x ( @from - @to ) )
    50          
11318             if @to < @from;
11319 2         53 @table{@from} = @to;
11320             }
11321              
11322             #---------------------------------------------------------------------
11323             # _expnd1 — expand a single-byte character range (e.g. A-Z) to a
11324             # string of all characters in the range.
11325             #---------------------------------------------------------------------
11326             sub _expnd1 {
11327 6     6   10 local ($s) = @_;
11328 6         7 $s =~ s/\\([\x00-\xff])/$1/g;
11329 6         8 local ( $c1, $c2 ) = unpack( 'CxC', $s );
11330 6 50       24 if ( $c1 <= $c2 ) {
11331 6         9 for ( $s = '' ; $c1 <= $c2 ; $c1++ ) {
11332 124         144 $s .= pack( 'C', $c1 );
11333             }
11334             }
11335 6         16 $s;
11336             }
11337              
11338             #---------------------------------------------------------------------
11339             # _expnd2 — expand a double-byte character range (e.g. \xa4\xa1-\xa4\xf3)
11340             # to a string of all DBCS characters in the range (same lead byte only).
11341             #---------------------------------------------------------------------
11342             sub _expnd2 {
11343 6     6   11 local ($s) = @_;
11344 6         15 local ( $c1, $c2, $c3, $c4 ) = unpack( 'CCxCC', $s );
11345 6 50 33     19 if ( $c1 == $c3 && $c2 <= $c4 ) {
11346 6         9 for ( $s = '' ; $c2 <= $c4 ; $c2++ ) {
11347 124         183 $s .= pack( 'CC', $c1, $c2 );
11348             }
11349             }
11350 6         21 $s;
11351             }
11352              
11353             1;
11354              
11355             __END__