b0VIM 6.1      C) `  urban                                   decwemucw964                            ~urban/Build/IDNA-Punycode-0.03/lib/IDNA/Punycode.pm                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                3210#"! U                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     tp                   ^                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ad  "   ~                      \  [  N  M  =  '  &              i  h  N  -  ,                    L      	          i  S  Q  P  D            s  e  b  #  !     
  
  
  
  
  
  
  
  
  {
  j
  f
  M
  J
  I
  $
  	  	  	  	  	  	  	  }	  W	  2	  	        n  Q  ;  7            H  @  =              v  u  `  P  5  4  '          j  i  U  -                \  :  /                o  @  %          ~  }                                				push @output, chr(code_point($q)); 				} 					$q = ($q - $t) / (BASE - $t); 					push @output, chr($cp); 					my $cp = code_point($t + (($q - $t) % (BASE - $t))); 					last LOOP if $q < $t; 					($k >= $bias + TMAX) ? TMAX : $k - $bias; 					my $t = ($k <= $bias) ? TMIN : 				for (my $k = BASE; 1; $k += BASE) { 				LOOP: 				my $q = $delta; 			if ($c == $n) { 			$delta++ if $c < $n; 			my $c = ord($i); 		for my $i (@input) { 		$n = $m; 		$delta += ($m - $n) * ($h + 1); 		warn sprintf "next code point to insert is %04x", $m if $DEBUG; 		my $m = min(grep { $_ >= $n } map ord, @input); 	while ($h < @input) {  	} 		return join '', @output; 	} else { 		push(@output, $Delimiter); 		$PREFIX && unshift(@output, $PREFIX); 	if ($h < @input) {  	warn "basic codepoints: (@output)" if $DEBUG; 	push @output, @basic if $b > 0; 	#push @output, @basic, $Delimiter if $b > 0; 	my $h = my $b = @basic; 	my @basic = grep /$BasicRE/, @input; 	my @output;  	my $bias  = INITIAL_BIAS; 	my $delta = 0; 	my $n	 = INITIAL_N;  	my @input = map substr($input, $_, 1), 0..length($input)-1; 	# my @input = split //, $input; # doesn't work in 5.6.x! 	my $input = shift; sub encode_punycode {  } 	return join '', map chr, @output; 	} 		$i++; 		warn join " ", map sprintf('%04x', $_), @output if $DEBUG; 		splice(@output, $i, 0, $n); 		$i = $i % (@output + 1); 		$n += $i / (@output + 1); 		warn "bias becomes $bias" if $DEBUG; 		$bias = adapt($i - $oldi, @output + 1, $oldi == 0); 		} 			$w *= (BASE - $t); 			last LOOP if $digit < $t; 			: ($k >= $bias + TMAX) ? TMAX : $k - $bias; 			my $t = ($k <= $bias) ? TMIN 			$i += $digit * $w; 			defined $digit or return _croak("invalid punycode input"); 			my $digit = digit_value($cp); 			my $cp = substr($code, 0, 1, ''); 		for (my $k = BASE; 1; $k += BASE) { 		LOOP: 		my $w	= 1; 		my $oldi = $i; 	while ($code) {  	} 		return _croak('non-basic code point') unless $1 =~ /^$BasicRE*$/o; 		push @output, map ord, split //, $1; 	if ($code =~ s/(.*)$Delimiter//o) {  	} 		$code =~ s/^$PREFIX//; 		} 			return $code; 		if ($code !~ /^$PREFIX/) { 	if ($PREFIX) {  	my @output; 	my $bias   = INITIAL_BIAS; 	my $i	  = 0; 	my $n	  = INITIAL_N;  	my $code = shift; sub decode_punycode {  } 	return $k + (((BASE - TMIN + 1) * $delta) / ($delta + SKEW)); 	} 		$k += BASE; 		$delta /= BASE - TMIN; 	while ($delta > ((BASE - TMIN) * TMAX) / 2) { 	my $k = 0; 	$delta += $delta / $numpoints; 	$delta = $firsttime ? $delta / DAMP : $delta / 2; 	my($delta, $numpoints, $firsttime) = @_; sub adapt {  } 	die 'NOT COME HERE'; 	return $digit + ord('0') - 26 if 26 <= $digit && $digit <= 36; 	return $digit + ord('a') if 0 <= $digit && $digit <= 25; 	my $digit = shift; sub code_point {  } 	return; 	return ord($code) - ord("0") + 26 if $code =~ /[0-9]/; 	return ord($code) - ord("a") if $code =~ /[a-z]/; 	return ord($code) - ord("A") if $code =~ /[A-Z]/; 	my $code = shift; sub digit_value {  } 	$PREFIX = shift; sub idn_prefix {  sub _croak { require Carp; Carp::croak(@_); }  my $BasicRE   = qr/[\x00-\x7f]/; my $Delimiter = chr 0x2D;  use constant INITIAL_N => 128; use constant INITIAL_BIAS => 72; use constant DAMP => 700; use constant SKEW => 38; use constant TMAX => 26; use constant TMIN => 1; use constant BASE => 36;  our $PREFIX = 'xn--'; our $DEBUG = 0;  use integer;  our @EXPORT = qw(encode_punycode decode_punycode idn_prefix); our @ISA	= qw(Exporter); require Exporter;  our $VERSION = 0.03; use strict;  package IDNA::Punycode; ad         ^               {  s  p  V  T  S  I  7                               u  L  "  !            D  ;  :  )  (                  g  V  U  ?  >                  e  '  
  
  
  d
  
  
  
  
   
  	  	  	  	  	  ^	  8	  7	            s  r  /  .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              =cut  L<Encode::Punycode>  http://www.ietf.org/internet-drafts/draft-ietf-idn-punycode-01.txt  =head1 SEE ALSO  it under the same terms as Perl itself. This library is free software; you can redistribute it and/or modify  Robert Urban E<lt>urban@UNIX-Beratung.deE<gt> added C<idn_prefix()>.  author and wrote almost all the code. Tatsuhiko Miyagawa E<lt>miyagawa@bulknews.netE<gt> is the original  =head1 AUTHORS  C<eval>. These functions throws exceptionsn on failure. You can catch 'em via  =back  get the old behaviour. I'm leaving idn_prefix() in the module.  Use C<idn_prefix(undef)> to standard.  Thus, "xn--" is also the default ACE prefix.  For compatibility According to RFC 3490 the ACE prefix "xn--" had been chosen as the  beginning with $prefix as punycode representations. As a side-effect decode_punycode() will only consider strings causes encode_punycode() to add $prefix to ACE-string after conversion.    idn_prefix($prefix);  =item idn_prefix  takes Punycode encoding and returns original Unicode string.    $unicode = decode_punycode($punycode)  =item decode_punycode  encoding for it. takes Unicode string (UTF8-flagged variable) and returns Punycode    $punycode = encode_punycode($unicode);  =item encode_punycode  =over 4  This module exports following functions by default.  =head1 FUNCTIONS  strings. This module requires Perl 5.6.0 or over to handle UTF8 flagged Unicode  Punycode, an efficient encoding of Unicode for use with IDNA. IDNA::Punycode is a module to encode / decode Unicode strings into  =head1 DESCRIPTION    $unicode  = decode_punycode($punycode);   $punycode = encode_punycode($unicode);   idn_prefix('xn--');   use IDNA::Punycode;  =head1 SYNOPSIS  IDNA::Punycode - encodes Unicode string in Punycode  =head1 NAME  __END__ 1;  } 	return $min; 	for (@_) { $min = $_ if $_ <= $min } 	my $min = shift; sub min {  } 	return join '', @output; 	} 		$n++; 		$delta++; 		} 			} 				$h++; 				$delta = 0; 				warn "bias becomes $bias" if $DEBUG; 				$bias = adapt($delta, $h + 1, $h == $b); 