#!/usr/pkg/bin/perl

# Autogenerated block to include site configuration
# generated on Fri May 22 21:40:27 EDT 1998
BEGIN {
  %::RIPEConfig = (
	  VERSION => q#3.0.0a12#,
	  LIBDIR => q#/playpen/rpsl-dev/ripe/ripe-dbase+rpsl-3.0.0a12/lib#,
	  DEFCONFIG => q#/playpen/rpsl-dev/ripe/ripe-dbase+rpsl-3.0.0a12/etc/ripedb.config#,
	  WHOISHOST => q#localhost#,
  );

  # Add library path unless running from source directory
  use FindBin;
  if ($FindBin::Bin =~ m#/src$#) {
    unshift @INC, $FindBin::Bin;
  } else {
    unshift @INC, $::RIPEConfig{LIBDIR};
  }
  # Select DBM package other then the default one
}

# End of autogenerated block

use Getopt::Std;

# $Id: ripe2rpsl,v 1.3 2001/06/04 19:09:44 ljb Exp $
# 
#  Copyright (c) 1998 by the University of Southern California
#  and/or the International Business Machines Corporation.
#  All rights reserved.
#
#  Permission to use, copy, modify, and distribute this software and
#  its documentation in source and binary forms for lawful
#  non-commercial purposes and without fee is hereby granted, provided
#  that the above copyright notice appear in all copies and that both
#  the copyright notice and this permission notice appear in supporting
#  documentation, and that any documentation, advertising materials,
#  and other materials related to such distribution and use acknowledge
#  that the software was developed by the University of Southern
#  California, Information Sciences Institute and/or the International
#  Business Machines Corporation.  The name of the USC or IBM may not
#  be used to endorse or promote products derived from this software
#  without specific prior written permission.
#
#  NEITHER THE UNIVERSITY OF SOUTHERN CALIFORNIA NOR INTERNATIONAL
#  BUSINESS MACHINES CORPORATION MAKES ANY REPRESENTATIONS ABOUT
#  THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.  THIS SOFTWARE IS
#  PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
#  INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND 
#  NON-INFRINGEMENT.
#
#  IN NO EVENT SHALL USC, IBM, OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY
#  SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, WHETHER IN CONTRACT,
#  TORT, OR OTHER FORM OF ACTION, ARISING OUT OF OR IN CONNECTION WITH,
#  THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
#  Questions concerning this software should be directed to 
#  info-ra@isi.edu.
#
#  Author(s): Cengiz Alaettinoglu <cengiz@isi.edu>
#  Author(s): David Kessens <davidk@isi.edu>

# 1. convert ripe line continuations to rpsl style
#      A note on ripe 181: A line can be continued to the next line 
#      by repeating everything upto the policy expression.
#      E.g.
#      as-in: AS1 1 ANY AND NOT
#      as-in: AS1 1 AS1
#     
#      is equivalant to
#      as-in: AS1 1 ANY AND NOT AS1
# 2.

#
# changes:
#
# bugs: - extra newline added by beatifier
#       - mnt-by for anybody
#       - *em: nobody@nowhere.net bad hack

#
# start included stuff from the RPSL RIPE database for conversions and fixes
# of RIPE181 -> RPSL

#
# from Makefile

#
# modified and simplified logmessage routine 

sub logmessage {
    local($log, @strings) = @_;

    print STDERR @strings, "\n";

}


#
# hardcoded from config file

$AUTOBOX='auto-dbm@ISI.EDU';

$MAXATTRIBUTELENGTH=13;

#
# foreach (keys %OBJATSQ) {
#   print "\"", $_, "\"","\, ", "\"",$OBJATSQ{$_},"\"",",\n";
# }

%OBJATSQ=(
"cm", "cm de au tc ac rm ny mb ch so",
"ro", "ro ad ph fx em tb ac tc nh rm rl ny mb ch so",
"mt", "mt de ac tc dt mn at rm ny mb ch so",
"dn", "dn de ac tc zc ns sd di rm ny mb ml ch so",
"as", "as de ms mr rm tc ac ny mb ch so",
"li", "li de tx ac ah rm ny mb ch so",
"rs", "rs de ms mr rm tc ac ny mb ch so",
"rt", "rt de or ho wd mo ia ab ec cl av rm ny mb ch so",
"dc", "dc de ac td rp pl en rm ny mb ch so pr",
"in", "in na de cy ac tc rz st rm ny mb ml ch so",
"ir", "ir az la if pe ac tc rm ny mb ch so",
"is", "is or de lo cy pf ap tl ct rm rl ny mb ch so",
"am", "am de al gd tc ac rm ny mb ch so",
"pn", "pn ad ph fx em nh rm rl ny mb ch so",
"an", "an aa de mo ip ep df av ac tc rm ny mb ch so",
"i6", "i6 na de cy ac tc rz rm ny mb ml ch so"
);

%ATTR=(
       #
       # some non standard Merit stuff ...
       "ne", "ne",
       "np", "np",
       "cp", "cp",
       "ri", "ri",
       "rx", "rx",
       #
       # all other attributes ...
"rp-attribute", "rp",
"mnt-lower", "ml",
"change", "ch",
"ipv6-site", "is",
"local-as", "la",
"prefix", "pf",
"typedef", "td",
"export-comps", "ec",
"descr", "de",
"author", "ah",
"application", "ap",
"e-mail", "em",
"warning", "uw",
"inet6num", "i6",
"encapsulation", "en",
"location", "lo",
"ri", "ri",
"zc", "zc",
"rl", "rl",
"rm", "rm",
"ro", "ro",
"rp", "rp",
"rs", "rs",
"default", "df",
"rt", "rt",
"ru", "ru",
"origin", "or",
"rx", "rx",
"changed", "ch",
"ch", "ch",
"zone-c", "zc",
"rz", "rz",
"cl", "cl",
"cm", "cm",
"as-macro", "am",
"comm-list", "cl",
"dictionary", "dc",
"sd", "sd",
"ct", "ct",
"member-of", "mo",
"cy", "cy",
"localas", "la",
"so", "so",
"st", "st",
"dc", "dc",
"authority", "au",
"de", "de",
"network", "in",
"df", "df",
"la", "la",
"di", "di",
"auth-num", "an",
"dn", "dn",
"mntner", "mt",
"rev-srv", "rz",
"remarks", "rm",
"li", "li",
"tb", "tb",
"tc", "tc",
"td", "td",
"dt", "dt",
"notify", "ny",
"lo", "lo",
"holes", "ho",
"tl", "tl",
"community", "cm",
"ec", "ec",
"rs-in", "ri",
"mnt-nfy", "mn",
"rs-out", "ru",
"alias", "az",
"tx", "tx",
"mb", "mb",
"em", "em",
"en", "en",
"ep", "ex",
"netnum", "in",
"deleted", "ud",
"person", "pn",
"mnt-by", "mb",
"ud", "ud",
"ml", "ml",
"ue", "ue",
"mn", "mn",
"mo", "mo",
"mr", "mr",
"ms", "ms",
"mt", "mt",
"uo", "uo",
"status", "st",
"text", "tx",
"address", "ad",
"aggr-by", "ab",
"fax-no", "fx",
"members", "ms",
"uw", "uw",
"peer", "pe",
"route", "rt",
"na", "na",
"limerick", "li",
"protocol", "pl",
"dom-net", "di",
"inet-rtr", "ir",
"nh", "nh",
"withdrawn", "wd",
"interas-in", "it",
"phone", "ph",
"trouble", "tb",
"fx", "fx",
"nic-hdl", "nh",
"override", "uo",
"inetnum", "in",
"ns", "ns",
"remark", "rm",
"aut-num", "an",
"ny", "ny",
"netname", "na",
"gd", "ny",
"guardian", "ny",
"contact", "ct",
"as-set", "as",
"source", "so",
"advisory", "av",
"role", "ro",
"delete", "ud",
"country", "cy",
"asname", "aa",
"domain", "dn",
"as-out", "ao",
"upd-to", "dt",
"wd", "wd",
"private", "pr",
"import", "ip",
"interas-out", "io",
"inject-at", "ia",
"i6", "i6",
"or", "or",
"export", "ep",
"nserver", "ns",
"mbrs-by-ref", "mr",
"email", "em",
"route-set", "rs",
"error", "ue",
"auth", "at",
"url", "rl",
"rev-svr", "rz",
"pe", "pe",
"pf", "pf",
"sub-dom", "sd",
"ho", "ho",
"as-in", "ai",
"ph", "ph",
"admin-c", "ac",
"pl", "pl",
"*error*", "ue",
"pn", "pn",
"fax", "fx",
"pr", "pr",
"aa", "aa",
"as-name", "aa",
"ab", "ab",
"ac", "ac",
"ad", "ad",
"ae", "ae",
"ah", "ah",
"ai", "ai",
"ia", "ia",
"ifaddr", "if",
"as-exclude", "ae",
"al", "al",
"am", "am",
"an", "an",
"if", "if",
"ao", "ao",
"ap", "ap",
"tech-c", "tc",
"as", "as",
"at", "at",
"tunnel", "tl",
"au", "au",
"av", "av",
"in", "in",
"authorised", "ua",
"io", "io",
"ip", "im",
"az", "az",
"ir", "ir",
"is", "is",
"as-list", "al",
"it", "it"
);

%ATTL=(
"ms", "members",
"mt", "mntner",
"uo", "override",
"uw", "WARNING",
"na", "netname",
"nh", "nic-hdl",
"ri", "rs-in",
"zc", "zone-c",
"rl", "url",
"fx", "fax-no",
"rm", "remarks",
"ro", "role",
"ns", "nserver",
"rp", "rp-attribute",
"rs", "route-set",
"rt", "route",
"ru", "rs-out",
"ny", "notify",
"rx", "rs-out",
"ch", "changed",
"rz", "rev-srv",
"cl", "comm-list",
"cm", "community",
"sd", "sub-dom",
"ct", "contact",
"wd", "withdrawn",
"cy", "country",
"i6", "inet6num",
"or", "origin",
"so", "source",
"st", "status",
"dc", "dictionary",
"de", "descr",
"df", "default",
"di", "dom-net",
"la", "local-as",
"dn", "domain",
"li", "limerick",
"pe", "peer",
"tb", "trouble",
"pf", "prefix",
"tc", "tech-c",
"ho", "holes",
"td", "typedef",
"dt", "upd-to",
"ph", "phone",
"lo", "location",
"pl", "protocol",
"pn", "person",
"tl", "tunnel",
"aa", "as-name",
"pr", "private",
"ab", "aggr-by",
"ac", "admin-c",
"ad", "address",
"ae", "as-exclude",
"ec", "export-comps",
"ah", "author",
"ai", "as-in",
"ia", "inject-at",
"tx", "text",
"al", "as-list",
"am", "as-macro",
"an", "aut-num",
"if", "ifaddr",
"mb", "mnt-by",
"ao", "as-out",
"ap", "application",
"em", "e-mail",
"en", "encapsulation",
"as", "as-set",
"at", "auth",
"ep", "export",
"au", "authority",
"av", "advisory",
"in", "inetnum",
"io", "interas-out",
"ud", "delete",
"ip", "import",
"ml", "mnt-lower",
"ue", "*ERROR*",
"az", "alias",
"ir", "inet-rtr",
"mn", "mnt-nfy",
"is", "ipv6-site",
"mo", "member-of",
"it", "interas-in",
"mr", "mbrs-by-ref"
);

#
#	The file 'defines.pl' is included here
#



#	$RCSfile: ripe2rpsl,v $
#	$Revision: 1.3 $
#	$Author: ljb $
#	$Date: 2001/06/04 19:09:44 $

#  Original code is written by various authors and copyrighted by the RIPE NCC
#  Contact <ncc@ripe.net> for details.
#
#  Copyright (c) 1998 by the University of Southern California
#  and/or the International Business Machines Corporation.
#  All rights reserved.
#
#  Permission to use, copy, modify, and distribute this software and
#  its documentation in source and binary forms for lawful
#  non-commercial purposes and without fee is hereby granted, provided
#  that the above copyright notice appear in all copies and that both
#  the copyright notice and this permission notice appear in supporting
#  documentation, and that any documentation, advertising materials,
#  and other materials related to such distribution and use acknowledge
#  that the software was developed by the University of Southern
#  California, Information Sciences Institute and/or the International
#  Business Machines Corporation.  The name of the USC or IBM may not
#  be used to endorse or promote products derived from this software
#  without specific prior written permission.
#
#  NEITHER THE UNIVERSITY OF SOUTHERN CALIFORNIA NOR INTERNATIONAL
#  BUSINESS MACHINES CORPORATION MAKES ANY REPRESENTATIONS ABOUT
#  THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.  THIS SOFTWARE IS
#  PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
#  INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND 
#  NON-INFRINGEMENT.
#
#  IN NO EVENT SHALL USC, IBM, OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY
#  SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, WHETHER IN CONTRACT,
#  TORT, OR OTHER FORM OF ACTION, ARISING OUT OF OR IN CONNECTION WITH,
#  THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
#  Questions concerning this software should be directed to 
#  info-ra@isi.edu.
#
#  Author(s): David Kessens <davidk@isi.edu>
#$DEBUG=1;
$DEBUG=0;

$HELPREQUESTED=0;
$STOPUPDATING=0;
%RPSLCONVERSIONSOURCES=();
%RPSLCONVERSION=();

%NOTIFY=();
%FORWARD=();
%NOTIFYMAILS=();

%NOIPv4ROUTES=();
@NOIPv4NETS=();

$OK		=	1;
$NOK		=	0;
$EOF		=	99;

$LOCK_SH = 1;
$LOCK_EX = 2;
$LOCK_NB = 4;
$LOCK_UN = 8;

# Return codes for when trying to modify the database
# with explanatory messages. These are used deep down in the code
# just before or during updates, like dbadd.pl and updatecheck.pl.

$E_EXIST	 =	2;
$E_NOT_FOUND	 =	3;
$E_MULT_MATCH	 =	4;
$E_MISMATCH	 =	5;
$E_NOOP		 =	6;
$E_OLDER	 =	7;
$E_GUARDED	 =	8;
$E_AUTHFAIL      =      9;
$E_HIER_AUTHFAIL =     10;
$E_GENERAL       =     11;
$E_NOAUTOUPDATE  =     12;
$E_NOTNEW        =     13;
$E_STILLREFERENCED =   14;
$E_NOT_ORIGINAL  =     15;
$E_NO_MNTNERS_FOUND =  16;
$E_NO_TL_FOUND   =     17;
$E_NO_TL_CREATION =    18;
$E_HIER_NO_MNTNERS_FOUND = 19;

$MESSAGE[$E_EXIST]	           = "entry already exists";
$MESSAGE[$E_NOT_FOUND]	           = "entry not found";
$MESSAGE[$E_MULT_MATCH]	           = "don\'t know which object to update,\nmore matches found in the database";
$MESSAGE[$E_MISMATCH]	           = "mismatch between update and original";
$MESSAGE[$E_NOOP]	           = "update results in NOOP";
$MESSAGE[$E_OLDER]	           = "update is older than original";
$MESSAGE[$E_AUTHFAIL]              = "authorisation failed, request forwarded to maintainer";
$MESSAGE[$E_HIER_AUTHFAIL]         = "hierarchical authorisation failed, request forwarded to maintainer\nof object direct above the to be updated object in the hierarchy";
$MESSAGE[$E_GENERAL]               = "";
$MESSAGE[$E_NOTNEW]                = "object already exists";
$MESSAGE[$E_STILLREFERENCED]       = "cannot delete object that is still referenced\nby other objects in one of the databases";
$MESSAGE[$E_NOT_ORIGINAL]          = "cannot delete original RIPE181 object through special RPSL update path";
$MESSAGE[$E_NO_MNTNERS_FOUND]      = "no maintainers found for to be updated object";
$MESSAGE[$E_NO_TL_FOUND]           = "hierarchical authorisation failed,\nno object higher in hierarchy found";
$MESSAGE[$E_NO_TL_CREATION]        = "hierarchical authorisation failed,\ncannot create automatically top level objects\nplease contact <\$HUMAILBOX>";
$MESSAGE[$E_HIER_NO_MNTNERS_FOUND] = "hierarchical authorisation failed,\ncould not find a maintainer for higher level object";

#
# Return codes for syntax checking the objects
#
# we could better have used one unified model for return codes
# but for the mean time we at least keep some aliases to
# avoid even more trouble

$O_OK		=	$OK;
$O_ERROR	=	$NOK;
$O_WARNING	=	22;

$O_INVALIDIP     =24;
$O_INVALIDPREFIX =25;
$O_INVALIDRANGE  =26;
$O_SYNTAXERROR   =27;

$O_NOTFOUND=28;
$O_COULDNOTOPEN=29; 


$MESSAGE[$O_OK]		=	"object OK";
$MESSAGE[$O_ERROR]	=	"object has errors";
$MESSAGE[$O_WARNING]	=	"object has warnings";

# Return codes for authorisation

$A_OK		=	1;	# Authorisation worked
$A_BAD		= 	0;      # Authorisation failed
$A_ERR  	=      -1;      # Authorisation Error condition

# protocol codes - not implemented
#
# $_AU_OK	= 100;		# Authorization OK
# $_AU_BAD	= 110;		# Authorization BAD
# $_AU_ERR	= 120;		# Authoization ERROR (cannot open file etc)
#
# $_I_GENERAL	= 200;		# General information
# $_I_DUNNO	= 210;		# "I don't know what you mean" message
# $_I_WAIT	= 220;		# Waiting for input ...
# $_I_RECVD	= 230;		# Have received something, will start
#				# processing now
#
# $_A_OK	= 300;		# Addition OK
# $_A_UNKNOWN	= 310;		# Addition general failures
# $_A_PERM	= 320;		# Addition permission denied
#
# $_D_OK	= 400;		# Deletion OK
# $_D_UNKNOWN	= 410;		# Deletion general failures
# $_D_PERM	= 420;		# Deletion permission denied
# $_D_NFOUND	= 430;		# Object not found for deletion
#
# $_M_OK	= 500;		# Modify OK
# $_M_UNKNNOWN	= 510;		# Modify general failures
# $_M_PERM	= 520;		# Modify permission denied
# $_M_NFOUND	= 530;		# Object not found for modification
#
# $_AM_OK	= 600;		# Add_or_modify OK
# $_AM_UNKNOWN	= 610;		# Add_or_modify general failures
# $_AM_PERM	= 620;		# Add_or_modify permission denied

#
# possible actions for an entry

$ADDACTION="ADD";
$DELETEACTION="DEL";
$CHANGEACTION="CHANGE";

#
# updatecheck, printstat, maintainer, dbadd & dbdel binary options

$NEWOPTION=1;
$DELETEOPTION=2;
$MODIFYOPTION=4;
$OVERRIDEOPTION=8;
$NOCHECKSOPTION=16;
$OKOPTION=32;
$NOOPOPTION=64;
$FAILEDOPTION=128;
$BACKWARDCOMPATIBILITYOPTION=256;
$ASSIGNEDNICOPTION=512;
$USENORMALMAINTAINERATTR=1024;
$RPSLCONVERSIONOPTION=2048;

#
# donetdbm (binary) options

$CLASSLESSOPTION=1;
$CLEANOPTION=2;
$CONVERT2RPSLOPTION=4;
$KEEPRPSLOPTION=8;

#
# db(cl)open options

$DBOPENWRITEOPTION=1;
$DBOPENCLASSLESSONLYOPTION=2;

#
# dbmatch & lookupandprint (binary) options

$INTERSECTIONOPTION=1;
$ALLLESSSPECIFICOPTION=2;
$MORESPECIFICOPTION=4;
$ALLMORESPECIFICOPTION=8;
$NONRECURSIVEOPTION=16;
$FASTOPTION=32;
$NOSYNTACTICSUGAR=64;
$EXACTMATCHOPTION=128;
$EXACTMATCHIPOPTION=256;
$NONEXTERNALRECURSIVEOPTION=512;
$UNIQUEKEYSEARCHOPTION=1024;
$EXPANDOPTION=2048;
$SINGLEOPTION=4096;
$SILENTOPTION=8192;

#
# The version of the inputformat we default to

$UPDATEVERSION=1;

#
# Supported update versions

@UPDATEVERSIONS=($UPDATEVERSION);

#
# The file extension for the current serial number files 

$CURRENTEXTENSION=".CURRENTSERIAL";

#
# The file extension for the oldest available serial number files 

$OLDESTEXTENSION=".OLDESTSERIAL";

#
# used for fast computations in range2prefix

$ONEDIVLOG2=1/log(2);

#
# very tiny value for rounding of real values in range2prefix

$TINYLOGVALUE=(32-(log(2**32-1)*$ONEDIVLOG2))/100;

#
# constant used for syntactic sugar matching

$ENCMP_MATCH='\S+\s+\S+\s+\S+';

#
# text for the synthetic objects

%RSANY=(
"rs", "RS-ANY",
"de", "all routes in ");

%ASANY=(
"as", "AS-ANY",
"de", "all autonomous systems in ");

#
# some options as defined in the config file and 
# are used inside the code itself

$REALTIMEMIRRORAUTHORIZATION="REALTIMEMIRRORAUTHORIZATION";
$NETWORKUPDATEAUTHORIZATION="NETWORKUPDATEAUTHORIZATION";
$MAINTAINERQRYAUTHORIZATION="MAINTAINERQRYAUTHORIZATION";

@REALTIMEMIRRORAUTHORIZATION=();
@NETWORKUPDATEAUTHORIZATION=();
@MAINTAINERQRYAUTHORIZATION=();

#
# the maximal number of country attributes on a line

$MAXCOUNTRIES=7;

#
# The maximal length of a key measured in characters that is *not* indexed

$SMALLESTKEY=1;

#
# maximal number of initials for NIC handles

$MAXLENGTHINITIALS=4;

#
# which characters are valid for an attribute 
# Note: the * is for the error attribute!

$VALIDATTRCHAR='\w\-\*';

#
# valid domain name regular expression

$DOMAINNAME='[a-zA-Z\d]+([\.\-][a-zA-Z\d]+)*'; 

#
# valid source attribute regular expression

$SOURCENAME='([A-Z\d]+[A-Z\d\-]*[A-Z][A-Z\d\-]*[A-Z\d]|[A-Z]{2,2})';

#
# the prefix that is used for auto nichandle assignments

$AUTONICPREFIX="AUTO-";
$AUTONICPREFIXREGULAR='AUTO\-';

#
# some common titles - only use lower case

$TITLES='(m[rs]s?|drs?|ir|ing|sign|herr|hr|frau|prof\S*)\.? +';

#
# regular expression for splitting up file names in path & name component

$SPLITFILENAME='^\s*(\S+\/)?([^\/\s]+)\s*$';

#
# ip regular expressions

#
# generic

$VALIDPREFIXKEY='[\d\:\.a-f]+\/\d+';

#
# this one has interesting (but no fatal) problems with perl5 & grep, see whoisd

$VALIDIP4='0*([12][0-4]\d|25[0-5]|1?[1-9]?\d)(\.0*[12][0-4]\d|\.0*25[0-5]|\.0*1?[1-9]?\d){0,3}';

$VALIDFULLIP4='0*([12][0-4]\d|25[0-5]|1?[1-9]?\d)(\.0*[12][0-4]\d|\.0*25[0-5]|\.0*1?[1-9]?\d){3,3}';

$VALIDIP4PREFIXLENGTH='0*([12]?[\d]|3[012])';

$VALIDIP4PREFIX=$VALIDIP4.'\/'.$VALIDIP4PREFIXLENGTH;

$VALIDFULLIP4PREFIX=$VALIDFULLIP4.'\/'.$VALIDIP4PREFIXLENGTH;

$VALIDIP4PREFIXKEY=$VALIDFULLIP4PREFIX;

#
# for ipv6

$VALIDIP6='[\da-f]{1,4}(\:[\da-f]{1,4}){7}';

$VALIDIP6PREFIX='[\d\:a-f]+\:[\d\:a-f]+\/\d+';

$VALIDIP6PREFIXKEY=$VALIDIP6.'\/\d+';


#
# the attribute value to be used for deleted objects

$DELETEDOBJECT="XX";

#
# what is the extension for classless databases ?

$CLASSLESSEXT=".cl";


#
# what is the extension for the overflow files ?

$OVERFLOWEXTENSION=".overflow.";

#
# what is the key for finding a new overflow number

$OVERFLOWKEY="\t";

#
# what is the prefix before the offset when we find an overflow instead
# of offset values

$OVERFLOWPREFIX="\t";
$OVERFLOWPREFIXREGULAR='\t';

#
# NOTEXISTINGPREFIXESKEY 
#
# key to find the list of existing prefixes

$NOTEXISTINGPREFIXESKEY=$OVERFLOWKEY.$OVERFLOWKEY;

#
# which string do we use as 'binding' for uniquekeys

$UNIQUEKEYBINDING="\t";

#
# maximal number of entries/objects that we read & process at a time
#
# entries/objects are stored in a list which length is of the order
# of $MAXLISTLENGTH entries

$MAXLISTLENGTH=50000;

#
# this value determines the maximal length of a string 
# during processing
#
# usually we are talking about prefix keys:
#
# example: 536870912/8
#
# that is components are about 10 bytes long
# and the maximal string length is thus 10*$MAXSTRINGCOMPONENTS
#
# the more components we allow, the longer in memory copies take
# the less components we allow, the more disk accesses we need

$MAXSTRINGCOMPONENTS=300;

#
# line continuation length suffix

$CONTINUATIONSUFFIX=" connectlength";

#
# binding value for offset and size of object
#
# This one should ***always*** be equal to '.'
#
# This allows us to do (easy & fast) sorting of offsets although
# the size of the object is connected as a suffix !!!!
#
# Example: 3.100 (object at offset 3 & size is 100)

$SIZESUFFIXBINDING=".";
$SIZESUFFIXBINDINGREGULAR='\.';                 

#
# allowed routing protocols plus aliases for IPv6

%IPV6PROTOCOLS=(
"idrpv6", "IDRPv6", 
"bgp4+", "BGP4+", 
"ripv6", "RIPng", 
"ripng", "RIPng",
"static", "STATIC"
);

#
# Masks for IP addresses

@masks = (0x0,
          0x80000000, 0xc0000000, 0xe0000000, 0xf0000000,
	  0xf8000000, 0xfc000000, 0xfe000000, 0xff000000,
	  0xff800000, 0xffc00000, 0xffe00000, 0xfff00000,
	  0xfff80000, 0xfffc0000, 0xfffe0000, 0xffff0000,
	  0xffff8000, 0xffffc000, 0xffffe000, 0xfffff000,
	  0xfffff800, 0xfffffc00, 0xfffffe00, 0xffffff00,
	  0xffffff80, 0xffffffc0, 0xffffffe0, 0xfffffff0,
	  0xfffffff8, 0xfffffffc, 0xfffffffe, 0xffffffff );

%ipv6zeroes= ( "0", 4, 
               "1", 0,
               "2", 1,
               "3", 0,
               "4", 2,
               "5", 0,
               "6", 1,
               "7", 0,
               "8", 3,
               "9", 0,
               "a", 1,
               "b", 0,
               "c", 2,
               "d", 0,
               "e", 1,
               "f", 0
              );
             
#
# three arrays contain: 
#
# hexadecimal masks with ^0x1
# hexadecimal masks with ^0x3
# hexadecimal masks with ^0x7             
              
%ipv6masks1= ("0", "0",
              "1", "0",
              "2", "2",
              "3", "2",
              "4", "4",
              "5", "4",
              "6", "6",
              "7", "6",
              "8", "8",
              "9", "9",
              "a", "a",
              "b", "a",
              "c", "c",
              "d", "c",
              "e", "e",
              "f", "e");

%ipv6masks2= ("0", "0",
              "1", "0",
              "2", "0",
              "3", "0",
              "4", "4",
              "5", "4",
              "6", "4",
              "7", "4",
              "8", "8",
              "9", "8",
              "a", "8",
              "b", "8",
              "c", "c",
              "d", "c",
              "e", "c",
              "f", "c");

%ipv6masks3= ("0", "0",
              "1", "0",
              "2", "0",
              "3", "0",
              "4", "0",
              "5", "0",
              "6", "0",
              "7", "0",
              "8", "8",
              "9", "8",
              "a", "8",
              "b", "8",
              "c", "8",
              "d", "8",
              "e", "8",
              "f", "8");


%IPv4RIGHTMASKS0=(
                  "00", "0.0.0.0",
                  "01", "0.0.0.0",
                  "02", "0.0.0.0",
                  "03", "0.0.0.0",
                  "04", "0.0.0.0",
                  "05", "0.0.0.0",
                  "06", "0.0.0.0",
                  "07", "0.0.0.0",
                  "08", "0.0.0.0",
                  "09", "0.0.0.0",
                  "010", "0.0.0.0",
                  "011", "0.0.0.0",
                  "012", "0.0.0.0",
                  "013", "0.0.0.0",
                  "014", "0.0.0.0",
                  "015", "0.0.0.0",
                  "016", "0.0.0.0",
                  "017", "0.0.0.0",
                  "018", "0.0.0.0",
                  "019", "0.0.0.0",
                  "020", "0.0.0.0",
                  "021", "0.0.0.0",
                  "022", "0.0.0.0",
                  "023", "0.0.0.0",
                  "024", "0.0.0.0",
                  "025", "0.0.0.0",
                  "026", "0.0.0.0",
                  "027", "0.0.0.0",
                  "028", "0.0.0.0",
                  "029", "0.0.0.0",
                  "030", "0.0.0.0",
                  "031", "0.0.0.0",
                  "032", "0.0.0.0",
                  "033", "0.0.0.0",
                  "034", "0.0.0.0",
                  "035", "0.0.0.0",
                  "036", "0.0.0.0",
                  "037", "0.0.0.0",
                  "038", "0.0.0.0",
                  "039", "0.0.0.0",
                  "040", "0.0.0.0",
                  "041", "0.0.0.0",
                  "042", "0.0.0.0",
                  "043", "0.0.0.0",
                  "044", "0.0.0.0",
                  "045", "0.0.0.0",
                  "046", "0.0.0.0",
                  "047", "0.0.0.0",
                  "048", "0.0.0.0",
                  "049", "0.0.0.0",
                  "050", "0.0.0.0",
                  "051", "0.0.0.0",
                  "052", "0.0.0.0",
                  "053", "0.0.0.0",
                  "054", "0.0.0.0",
                  "055", "0.0.0.0",
                  "056", "0.0.0.0",
                  "057", "0.0.0.0",
                  "058", "0.0.0.0",
                  "059", "0.0.0.0",
                  "060", "0.0.0.0",
                  "061", "0.0.0.0",
                  "062", "0.0.0.0",
                  "063", "0.0.0.0",
                  "064", "0.0.0.0",
                  "065", "0.0.0.0",
                  "066", "0.0.0.0",
                  "067", "0.0.0.0",
                  "068", "0.0.0.0",
                  "069", "0.0.0.0",
                  "070", "0.0.0.0",
                  "071", "0.0.0.0",
                  "072", "0.0.0.0",
                  "073", "0.0.0.0",
                  "074", "0.0.0.0",
                  "075", "0.0.0.0",
                  "076", "0.0.0.0",
                  "077", "0.0.0.0",
                  "078", "0.0.0.0",
                  "079", "0.0.0.0",
                  "080", "0.0.0.0",
                  "081", "0.0.0.0",
                  "082", "0.0.0.0",
                  "083", "0.0.0.0",
                  "084", "0.0.0.0",
                  "085", "0.0.0.0",
                  "086", "0.0.0.0",
                  "087", "0.0.0.0",
                  "088", "0.0.0.0",
                  "089", "0.0.0.0",
                  "090", "0.0.0.0",
                  "091", "0.0.0.0",
                  "092", "0.0.0.0",
                  "093", "0.0.0.0",
                  "094", "0.0.0.0",
                  "095", "0.0.0.0",
                  "096", "0.0.0.0",
                  "097", "0.0.0.0",
                  "098", "0.0.0.0",
                  "099", "0.0.0.0",
                  "0100", "0.0.0.0",
                  "0101", "0.0.0.0",
                  "0102", "0.0.0.0",
                  "0103", "0.0.0.0",
                  "0104", "0.0.0.0",
                  "0105", "0.0.0.0",
                  "0106", "0.0.0.0",
                  "0107", "0.0.0.0",
                  "0108", "0.0.0.0",
                  "0109", "0.0.0.0",
                  "0110", "0.0.0.0",
                  "0111", "0.0.0.0",
                  "0112", "0.0.0.0",
                  "0113", "0.0.0.0",
                  "0114", "0.0.0.0",
                  "0115", "0.0.0.0",
                  "0116", "0.0.0.0",
                  "0117", "0.0.0.0",
                  "0118", "0.0.0.0",
                  "0119", "0.0.0.0",
                  "0120", "0.0.0.0",
                  "0121", "0.0.0.0",
                  "0122", "0.0.0.0",
                  "0123", "0.0.0.0",
                  "0124", "0.0.0.0",
                  "0125", "0.0.0.0",
                  "0126", "0.0.0.0",
                  "0127", "0.0.0.0",
                  "0128", "0.0.0.0",
                  "0129", "0.0.0.0",
                  "0130", "0.0.0.0",
                  "0131", "0.0.0.0",
                  "0132", "0.0.0.0",
                  "0133", "0.0.0.0",
                  "0134", "0.0.0.0",
                  "0135", "0.0.0.0",
                  "0136", "0.0.0.0",
                  "0137", "0.0.0.0",
                  "0138", "0.0.0.0",
                  "0139", "0.0.0.0",
                  "0140", "0.0.0.0",
                  "0141", "0.0.0.0",
                  "0142", "0.0.0.0",
                  "0143", "0.0.0.0",
                  "0144", "0.0.0.0",
                  "0145", "0.0.0.0",
                  "0146", "0.0.0.0",
                  "0147", "0.0.0.0",
                  "0148", "0.0.0.0",
                  "0149", "0.0.0.0",
                  "0150", "0.0.0.0",
                  "0151", "0.0.0.0",
                  "0152", "0.0.0.0",
                  "0153", "0.0.0.0",
                  "0154", "0.0.0.0",
                  "0155", "0.0.0.0",
                  "0156", "0.0.0.0",
                  "0157", "0.0.0.0",
                  "0158", "0.0.0.0",
                  "0159", "0.0.0.0",
                  "0160", "0.0.0.0",
                  "0161", "0.0.0.0",
                  "0162", "0.0.0.0",
                  "0163", "0.0.0.0",
                  "0164", "0.0.0.0",
                  "0165", "0.0.0.0",
                  "0166", "0.0.0.0",
                  "0167", "0.0.0.0",
                  "0168", "0.0.0.0",
                  "0169", "0.0.0.0",
                  "0170", "0.0.0.0",
                  "0171", "0.0.0.0",
                  "0172", "0.0.0.0",
                  "0173", "0.0.0.0",
                  "0174", "0.0.0.0",
                  "0175", "0.0.0.0",
                  "0176", "0.0.0.0",
                  "0177", "0.0.0.0",
                  "0178", "0.0.0.0",
                  "0179", "0.0.0.0",
                  "0180", "0.0.0.0",
                  "0181", "0.0.0.0",
                  "0182", "0.0.0.0",
                  "0183", "0.0.0.0",
                  "0184", "0.0.0.0",
                  "0185", "0.0.0.0",
                  "0186", "0.0.0.0",
                  "0187", "0.0.0.0",
                  "0188", "0.0.0.0",
                  "0189", "0.0.0.0",
                  "0190", "0.0.0.0",
                  "0191", "0.0.0.0",
                  "0192", "0.0.0.0",
                  "0193", "0.0.0.0",
                  "0194", "0.0.0.0",
                  "0195", "0.0.0.0",
                  "0196", "0.0.0.0",
                  "0197", "0.0.0.0",
                  "0198", "0.0.0.0",
                  "0199", "0.0.0.0",
                  "0200", "0.0.0.0",
                  "0201", "0.0.0.0",
                  "0202", "0.0.0.0",
                  "0203", "0.0.0.0",
                  "0204", "0.0.0.0",
                  "0205", "0.0.0.0",
                  "0206", "0.0.0.0",
                  "0207", "0.0.0.0",
                  "0208", "0.0.0.0",
                  "0209", "0.0.0.0",
                  "0210", "0.0.0.0",
                  "0211", "0.0.0.0",
                  "0212", "0.0.0.0",
                  "0213", "0.0.0.0",
                  "0214", "0.0.0.0",
                  "0215", "0.0.0.0",
                  "0216", "0.0.0.0",
                  "0217", "0.0.0.0",
                  "0218", "0.0.0.0",
                  "0219", "0.0.0.0",
                  "0220", "0.0.0.0",
                  "0221", "0.0.0.0",
                  "0222", "0.0.0.0",
                  "0223", "0.0.0.0",
                  "0224", "0.0.0.0",
                  "0225", "0.0.0.0",
                  "0226", "0.0.0.0",
                  "0227", "0.0.0.0",
                  "0228", "0.0.0.0",
                  "0229", "0.0.0.0",
                  "0230", "0.0.0.0",
                  "0231", "0.0.0.0",
                  "0232", "0.0.0.0",
                  "0233", "0.0.0.0",
                  "0234", "0.0.0.0",
                  "0235", "0.0.0.0",
                  "0236", "0.0.0.0",
                  "0237", "0.0.0.0",
                  "0238", "0.0.0.0",
                  "0239", "0.0.0.0",
                  "0240", "0.0.0.0",
                  "0241", "0.0.0.0",
                  "0242", "0.0.0.0",
                  "0243", "0.0.0.0",
                  "0244", "0.0.0.0",
                  "0245", "0.0.0.0",
                  "0246", "0.0.0.0",
                  "0247", "0.0.0.0",
                  "0248", "0.0.0.0",
                  "0249", "0.0.0.0",
                  "0250", "0.0.0.0",
                  "0251", "0.0.0.0",
                  "0252", "0.0.0.0",
                  "0253", "0.0.0.0",
                  "0254", "0.0.0.0",
                  "0255", "0.0.0.0",
                  "10", "0.0.0.0",
                  "11", "0.0.0.0",
                  "12", "0.0.0.0",
                  "13", "0.0.0.0",
                  "14", "0.0.0.0",
                  "15", "0.0.0.0",
                  "16", "0.0.0.0",
                  "17", "0.0.0.0",
                  "18", "0.0.0.0",
                  "19", "0.0.0.0",
                  "110", "0.0.0.0",
                  "111", "0.0.0.0",
                  "112", "0.0.0.0",
                  "113", "0.0.0.0",
                  "114", "0.0.0.0",
                  "115", "0.0.0.0",
                  "116", "0.0.0.0",
                  "117", "0.0.0.0",
                  "118", "0.0.0.0",
                  "119", "0.0.0.0",
                  "120", "0.0.0.0",
                  "121", "0.0.0.0",
                  "122", "0.0.0.0",
                  "123", "0.0.0.0",
                  "124", "0.0.0.0",
                  "125", "0.0.0.0",
                  "126", "0.0.0.0",
                  "127", "0.0.0.0",
                  "128", "0.0.0.0",
                  "129", "0.0.0.0",
                  "130", "0.0.0.0",
                  "131", "0.0.0.0",
                  "132", "0.0.0.0",
                  "133", "0.0.0.0",
                  "134", "0.0.0.0",
                  "135", "0.0.0.0",
                  "136", "0.0.0.0",
                  "137", "0.0.0.0",
                  "138", "0.0.0.0",
                  "139", "0.0.0.0",
                  "140", "0.0.0.0",
                  "141", "0.0.0.0",
                  "142", "0.0.0.0",
                  "143", "0.0.0.0",
                  "144", "0.0.0.0",
                  "145", "0.0.0.0",
                  "146", "0.0.0.0",
                  "147", "0.0.0.0",
                  "148", "0.0.0.0",
                  "149", "0.0.0.0",
                  "150", "0.0.0.0",
                  "151", "0.0.0.0",
                  "152", "0.0.0.0",
                  "153", "0.0.0.0",
                  "154", "0.0.0.0",
                  "155", "0.0.0.0",
                  "156", "0.0.0.0",
                  "157", "0.0.0.0",
                  "158", "0.0.0.0",
                  "159", "0.0.0.0",
                  "160", "0.0.0.0",
                  "161", "0.0.0.0",
                  "162", "0.0.0.0",
                  "163", "0.0.0.0",
                  "164", "0.0.0.0",
                  "165", "0.0.0.0",
                  "166", "0.0.0.0",
                  "167", "0.0.0.0",
                  "168", "0.0.0.0",
                  "169", "0.0.0.0",
                  "170", "0.0.0.0",
                  "171", "0.0.0.0",
                  "172", "0.0.0.0",
                  "173", "0.0.0.0",
                  "174", "0.0.0.0",
                  "175", "0.0.0.0",
                  "176", "0.0.0.0",
                  "177", "0.0.0.0",
                  "178", "0.0.0.0",
                  "179", "0.0.0.0",
                  "180", "0.0.0.0",
                  "181", "0.0.0.0",
                  "182", "0.0.0.0",
                  "183", "0.0.0.0",
                  "184", "0.0.0.0",
                  "185", "0.0.0.0",
                  "186", "0.0.0.0",
                  "187", "0.0.0.0",
                  "188", "0.0.0.0",
                  "189", "0.0.0.0",
                  "190", "0.0.0.0",
                  "191", "0.0.0.0",
                  "192", "0.0.0.0",
                  "193", "0.0.0.0",
                  "194", "0.0.0.0",
                  "195", "0.0.0.0",
                  "196", "0.0.0.0",
                  "197", "0.0.0.0",
                  "198", "0.0.0.0",
                  "199", "0.0.0.0",
                  "1100", "0.0.0.0",
                  "1101", "0.0.0.0",
                  "1102", "0.0.0.0",
                  "1103", "0.0.0.0",
                  "1104", "0.0.0.0",
                  "1105", "0.0.0.0",
                  "1106", "0.0.0.0",
                  "1107", "0.0.0.0",
                  "1108", "0.0.0.0",
                  "1109", "0.0.0.0",
                  "1110", "0.0.0.0",
                  "1111", "0.0.0.0",
                  "1112", "0.0.0.0",
                  "1113", "0.0.0.0",
                  "1114", "0.0.0.0",
                  "1115", "0.0.0.0",
                  "1116", "0.0.0.0",
                  "1117", "0.0.0.0",
                  "1118", "0.0.0.0",
                  "1119", "0.0.0.0",
                  "1120", "0.0.0.0",
                  "1121", "0.0.0.0",
                  "1122", "0.0.0.0",
                  "1123", "0.0.0.0",
                  "1124", "0.0.0.0",
                  "1125", "0.0.0.0",
                  "1126", "0.0.0.0",
                  "1127", "0.0.0.0",
                  "1128", "128.0.0.0",
                  "1129", "128.0.0.0",
                  "1130", "128.0.0.0",
                  "1131", "128.0.0.0",
                  "1132", "128.0.0.0",
                  "1133", "128.0.0.0",
                  "1134", "128.0.0.0",
                  "1135", "128.0.0.0",
                  "1136", "128.0.0.0",
                  "1137", "128.0.0.0",
                  "1138", "128.0.0.0",
                  "1139", "128.0.0.0",
                  "1140", "128.0.0.0",
                  "1141", "128.0.0.0",
                  "1142", "128.0.0.0",
                  "1143", "128.0.0.0",
                  "1144", "128.0.0.0",
                  "1145", "128.0.0.0",
                  "1146", "128.0.0.0",
                  "1147", "128.0.0.0",
                  "1148", "128.0.0.0",
                  "1149", "128.0.0.0",
                  "1150", "128.0.0.0",
                  "1151", "128.0.0.0",
                  "1152", "128.0.0.0",
                  "1153", "128.0.0.0",
                  "1154", "128.0.0.0",
                  "1155", "128.0.0.0",
                  "1156", "128.0.0.0",
                  "1157", "128.0.0.0",
                  "1158", "128.0.0.0",
                  "1159", "128.0.0.0",
                  "1160", "128.0.0.0",
                  "1161", "128.0.0.0",
                  "1162", "128.0.0.0",
                  "1163", "128.0.0.0",
                  "1164", "128.0.0.0",
                  "1165", "128.0.0.0",
                  "1166", "128.0.0.0",
                  "1167", "128.0.0.0",
                  "1168", "128.0.0.0",
                  "1169", "128.0.0.0",
                  "1170", "128.0.0.0",
                  "1171", "128.0.0.0",
                  "1172", "128.0.0.0",
                  "1173", "128.0.0.0",
                  "1174", "128.0.0.0",
                  "1175", "128.0.0.0",
                  "1176", "128.0.0.0",
                  "1177", "128.0.0.0",
                  "1178", "128.0.0.0",
                  "1179", "128.0.0.0",
                  "1180", "128.0.0.0",
                  "1181", "128.0.0.0",
                  "1182", "128.0.0.0",
                  "1183", "128.0.0.0",
                  "1184", "128.0.0.0",
                  "1185", "128.0.0.0",
                  "1186", "128.0.0.0",
                  "1187", "128.0.0.0",
                  "1188", "128.0.0.0",
                  "1189", "128.0.0.0",
                  "1190", "128.0.0.0",
                  "1191", "128.0.0.0",
                  "1192", "128.0.0.0",
                  "1193", "128.0.0.0",
                  "1194", "128.0.0.0",
                  "1195", "128.0.0.0",
                  "1196", "128.0.0.0",
                  "1197", "128.0.0.0",
                  "1198", "128.0.0.0",
                  "1199", "128.0.0.0",
                  "1200", "128.0.0.0",
                  "1201", "128.0.0.0",
                  "1202", "128.0.0.0",
                  "1203", "128.0.0.0",
                  "1204", "128.0.0.0",
                  "1205", "128.0.0.0",
                  "1206", "128.0.0.0",
                  "1207", "128.0.0.0",
                  "1208", "128.0.0.0",
                  "1209", "128.0.0.0",
                  "1210", "128.0.0.0",
                  "1211", "128.0.0.0",
                  "1212", "128.0.0.0",
                  "1213", "128.0.0.0",
                  "1214", "128.0.0.0",
                  "1215", "128.0.0.0",
                  "1216", "128.0.0.0",
                  "1217", "128.0.0.0",
                  "1218", "128.0.0.0",
                  "1219", "128.0.0.0",
                  "1220", "128.0.0.0",
                  "1221", "128.0.0.0",
                  "1222", "128.0.0.0",
                  "1223", "128.0.0.0",
                  "1224", "128.0.0.0",
                  "1225", "128.0.0.0",
                  "1226", "128.0.0.0",
                  "1227", "128.0.0.0",
                  "1228", "128.0.0.0",
                  "1229", "128.0.0.0",
                  "1230", "128.0.0.0",
                  "1231", "128.0.0.0",
                  "1232", "128.0.0.0",
                  "1233", "128.0.0.0",
                  "1234", "128.0.0.0",
                  "1235", "128.0.0.0",
                  "1236", "128.0.0.0",
                  "1237", "128.0.0.0",
                  "1238", "128.0.0.0",
                  "1239", "128.0.0.0",
                  "1240", "128.0.0.0",
                  "1241", "128.0.0.0",
                  "1242", "128.0.0.0",
                  "1243", "128.0.0.0",
                  "1244", "128.0.0.0",
                  "1245", "128.0.0.0",
                  "1246", "128.0.0.0",
                  "1247", "128.0.0.0",
                  "1248", "128.0.0.0",
                  "1249", "128.0.0.0",
                  "1250", "128.0.0.0",
                  "1251", "128.0.0.0",
                  "1252", "128.0.0.0",
                  "1253", "128.0.0.0",
                  "1254", "128.0.0.0",
                  "1255", "128.0.0.0",
                  "20", "0.0.0.0",
                  "21", "0.0.0.0",
                  "22", "0.0.0.0",
                  "23", "0.0.0.0",
                  "24", "0.0.0.0",
                  "25", "0.0.0.0",
                  "26", "0.0.0.0",
                  "27", "0.0.0.0",
                  "28", "0.0.0.0",
                  "29", "0.0.0.0",
                  "210", "0.0.0.0",
                  "211", "0.0.0.0",
                  "212", "0.0.0.0",
                  "213", "0.0.0.0",
                  "214", "0.0.0.0",
                  "215", "0.0.0.0",
                  "216", "0.0.0.0",
                  "217", "0.0.0.0",
                  "218", "0.0.0.0",
                  "219", "0.0.0.0",
                  "220", "0.0.0.0",
                  "221", "0.0.0.0",
                  "222", "0.0.0.0",
                  "223", "0.0.0.0",
                  "224", "0.0.0.0",
                  "225", "0.0.0.0",
                  "226", "0.0.0.0",
                  "227", "0.0.0.0",
                  "228", "0.0.0.0",
                  "229", "0.0.0.0",
                  "230", "0.0.0.0",
                  "231", "0.0.0.0",
                  "232", "0.0.0.0",
                  "233", "0.0.0.0",
                  "234", "0.0.0.0",
                  "235", "0.0.0.0",
                  "236", "0.0.0.0",
                  "237", "0.0.0.0",
                  "238", "0.0.0.0",
                  "239", "0.0.0.0",
                  "240", "0.0.0.0",
                  "241", "0.0.0.0",
                  "242", "0.0.0.0",
                  "243", "0.0.0.0",
                  "244", "0.0.0.0",
                  "245", "0.0.0.0",
                  "246", "0.0.0.0",
                  "247", "0.0.0.0",
                  "248", "0.0.0.0",
                  "249", "0.0.0.0",
                  "250", "0.0.0.0",
                  "251", "0.0.0.0",
                  "252", "0.0.0.0",
                  "253", "0.0.0.0",
                  "254", "0.0.0.0",
                  "255", "0.0.0.0",
                  "256", "0.0.0.0",
                  "257", "0.0.0.0",
                  "258", "0.0.0.0",
                  "259", "0.0.0.0",
                  "260", "0.0.0.0",
                  "261", "0.0.0.0",
                  "262", "0.0.0.0",
                  "263", "0.0.0.0",
                  "264", "64.0.0.0",
                  "265", "64.0.0.0",
                  "266", "64.0.0.0",
                  "267", "64.0.0.0",
                  "268", "64.0.0.0",
                  "269", "64.0.0.0",
                  "270", "64.0.0.0",
                  "271", "64.0.0.0",
                  "272", "64.0.0.0",
                  "273", "64.0.0.0",
                  "274", "64.0.0.0",
                  "275", "64.0.0.0",
                  "276", "64.0.0.0",
                  "277", "64.0.0.0",
                  "278", "64.0.0.0",
                  "279", "64.0.0.0",
                  "280", "64.0.0.0",
                  "281", "64.0.0.0",
                  "282", "64.0.0.0",
                  "283", "64.0.0.0",
                  "284", "64.0.0.0",
                  "285", "64.0.0.0",
                  "286", "64.0.0.0",
                  "287", "64.0.0.0",
                  "288", "64.0.0.0",
                  "289", "64.0.0.0",
                  "290", "64.0.0.0",
                  "291", "64.0.0.0",
                  "292", "64.0.0.0",
                  "293", "64.0.0.0",
                  "294", "64.0.0.0",
                  "295", "64.0.0.0",
                  "296", "64.0.0.0",
                  "297", "64.0.0.0",
                  "298", "64.0.0.0",
                  "299", "64.0.0.0",
                  "2100", "64.0.0.0",
                  "2101", "64.0.0.0",
                  "2102", "64.0.0.0",
                  "2103", "64.0.0.0",
                  "2104", "64.0.0.0",
                  "2105", "64.0.0.0",
                  "2106", "64.0.0.0",
                  "2107", "64.0.0.0",
                  "2108", "64.0.0.0",
                  "2109", "64.0.0.0",
                  "2110", "64.0.0.0",
                  "2111", "64.0.0.0",
                  "2112", "64.0.0.0",
                  "2113", "64.0.0.0",
                  "2114", "64.0.0.0",
                  "2115", "64.0.0.0",
                  "2116", "64.0.0.0",
                  "2117", "64.0.0.0",
                  "2118", "64.0.0.0",
                  "2119", "64.0.0.0",
                  "2120", "64.0.0.0",
                  "2121", "64.0.0.0",
                  "2122", "64.0.0.0",
                  "2123", "64.0.0.0",
                  "2124", "64.0.0.0",
                  "2125", "64.0.0.0",
                  "2126", "64.0.0.0",
                  "2127", "64.0.0.0",
                  "2128", "128.0.0.0",
                  "2129", "128.0.0.0",
                  "2130", "128.0.0.0",
                  "2131", "128.0.0.0",
                  "2132", "128.0.0.0",
                  "2133", "128.0.0.0",
                  "2134", "128.0.0.0",
                  "2135", "128.0.0.0",
                  "2136", "128.0.0.0",
                  "2137", "128.0.0.0",
                  "2138", "128.0.0.0",
                  "2139", "128.0.0.0",
                  "2140", "128.0.0.0",
                  "2141", "128.0.0.0",
                  "2142", "128.0.0.0",
                  "2143", "128.0.0.0",
                  "2144", "128.0.0.0",
                  "2145", "128.0.0.0",
                  "2146", "128.0.0.0",
                  "2147", "128.0.0.0",
                  "2148", "128.0.0.0",
                  "2149", "128.0.0.0",
                  "2150", "128.0.0.0",
                  "2151", "128.0.0.0",
                  "2152", "128.0.0.0",
                  "2153", "128.0.0.0",
                  "2154", "128.0.0.0",
                  "2155", "128.0.0.0",
                  "2156", "128.0.0.0",
                  "2157", "128.0.0.0",
                  "2158", "128.0.0.0",
                  "2159", "128.0.0.0",
                  "2160", "128.0.0.0",
                  "2161", "128.0.0.0",
                  "2162", "128.0.0.0",
                  "2163", "128.0.0.0",
                  "2164", "128.0.0.0",
                  "2165", "128.0.0.0",
                  "2166", "128.0.0.0",
                  "2167", "128.0.0.0",
                  "2168", "128.0.0.0",
                  "2169", "128.0.0.0",
                  "2170", "128.0.0.0",
                  "2171", "128.0.0.0",
                  "2172", "128.0.0.0",
                  "2173", "128.0.0.0",
                  "2174", "128.0.0.0",
                  "2175", "128.0.0.0",
                  "2176", "128.0.0.0",
                  "2177", "128.0.0.0",
                  "2178", "128.0.0.0",
                  "2179", "128.0.0.0",
                  "2180", "128.0.0.0",
                  "2181", "128.0.0.0",
                  "2182", "128.0.0.0",
                  "2183", "128.0.0.0",
                  "2184", "128.0.0.0",
                  "2185", "128.0.0.0",
                  "2186", "128.0.0.0",
                  "2187", "128.0.0.0",
                  "2188", "128.0.0.0",
                  "2189", "128.0.0.0",
                  "2190", "128.0.0.0",
                  "2191", "128.0.0.0",
                  "2192", "192.0.0.0",
                  "2193", "192.0.0.0",
                  "2194", "192.0.0.0",
                  "2195", "192.0.0.0",
                  "2196", "192.0.0.0",
                  "2197", "192.0.0.0",
                  "2198", "192.0.0.0",
                  "2199", "192.0.0.0",
                  "2200", "192.0.0.0",
                  "2201", "192.0.0.0",
                  "2202", "192.0.0.0",
                  "2203", "192.0.0.0",
                  "2204", "192.0.0.0",
                  "2205", "192.0.0.0",
                  "2206", "192.0.0.0",
                  "2207", "192.0.0.0",
                  "2208", "192.0.0.0",
                  "2209", "192.0.0.0",
                  "2210", "192.0.0.0",
                  "2211", "192.0.0.0",
                  "2212", "192.0.0.0",
                  "2213", "192.0.0.0",
                  "2214", "192.0.0.0",
                  "2215", "192.0.0.0",
                  "2216", "192.0.0.0",
                  "2217", "192.0.0.0",
                  "2218", "192.0.0.0",
                  "2219", "192.0.0.0",
                  "2220", "192.0.0.0",
                  "2221", "192.0.0.0",
                  "2222", "192.0.0.0",
                  "2223", "192.0.0.0",
                  "2224", "192.0.0.0",
                  "2225", "192.0.0.0",
                  "2226", "192.0.0.0",
                  "2227", "192.0.0.0",
                  "2228", "192.0.0.0",
                  "2229", "192.0.0.0",
                  "2230", "192.0.0.0",
                  "2231", "192.0.0.0",
                  "2232", "192.0.0.0",
                  "2233", "192.0.0.0",
                  "2234", "192.0.0.0",
                  "2235", "192.0.0.0",
                  "2236", "192.0.0.0",
                  "2237", "192.0.0.0",
                  "2238", "192.0.0.0",
                  "2239", "192.0.0.0",
                  "2240", "192.0.0.0",
                  "2241", "192.0.0.0",
                  "2242", "192.0.0.0",
                  "2243", "192.0.0.0",
                  "2244", "192.0.0.0",
                  "2245", "192.0.0.0",
                  "2246", "192.0.0.0",
                  "2247", "192.0.0.0",
                  "2248", "192.0.0.0",
                  "2249", "192.0.0.0",
                  "2250", "192.0.0.0",
                  "2251", "192.0.0.0",
                  "2252", "192.0.0.0",
                  "2253", "192.0.0.0",
                  "2254", "192.0.0.0",
                  "2255", "192.0.0.0",
                  "30", "0.0.0.0",
                  "31", "0.0.0.0",
                  "32", "0.0.0.0",
                  "33", "0.0.0.0",
                  "34", "0.0.0.0",
                  "35", "0.0.0.0",
                  "36", "0.0.0.0",
                  "37", "0.0.0.0",
                  "38", "0.0.0.0",
                  "39", "0.0.0.0",
                  "310", "0.0.0.0",
                  "311", "0.0.0.0",
                  "312", "0.0.0.0",
                  "313", "0.0.0.0",
                  "314", "0.0.0.0",
                  "315", "0.0.0.0",
                  "316", "0.0.0.0",
                  "317", "0.0.0.0",
                  "318", "0.0.0.0",
                  "319", "0.0.0.0",
                  "320", "0.0.0.0",
                  "321", "0.0.0.0",
                  "322", "0.0.0.0",
                  "323", "0.0.0.0",
                  "324", "0.0.0.0",
                  "325", "0.0.0.0",
                  "326", "0.0.0.0",
                  "327", "0.0.0.0",
                  "328", "0.0.0.0",
                  "329", "0.0.0.0",
                  "330", "0.0.0.0",
                  "331", "0.0.0.0",
                  "332", "32.0.0.0",
                  "333", "32.0.0.0",
                  "334", "32.0.0.0",
                  "335", "32.0.0.0",
                  "336", "32.0.0.0",
                  "337", "32.0.0.0",
                  "338", "32.0.0.0",
                  "339", "32.0.0.0",
                  "340", "32.0.0.0",
                  "341", "32.0.0.0",
                  "342", "32.0.0.0",
                  "343", "32.0.0.0",
                  "344", "32.0.0.0",
                  "345", "32.0.0.0",
                  "346", "32.0.0.0",
                  "347", "32.0.0.0",
                  "348", "32.0.0.0",
                  "349", "32.0.0.0",
                  "350", "32.0.0.0",
                  "351", "32.0.0.0",
                  "352", "32.0.0.0",
                  "353", "32.0.0.0",
                  "354", "32.0.0.0",
                  "355", "32.0.0.0",
                  "356", "32.0.0.0",
                  "357", "32.0.0.0",
                  "358", "32.0.0.0",
                  "359", "32.0.0.0",
                  "360", "32.0.0.0",
                  "361", "32.0.0.0",
                  "362", "32.0.0.0",
                  "363", "32.0.0.0",
                  "364", "64.0.0.0",
                  "365", "64.0.0.0",
                  "366", "64.0.0.0",
                  "367", "64.0.0.0",
                  "368", "64.0.0.0",
                  "369", "64.0.0.0",
                  "370", "64.0.0.0",
                  "371", "64.0.0.0",
                  "372", "64.0.0.0",
                  "373", "64.0.0.0",
                  "374", "64.0.0.0",
                  "375", "64.0.0.0",
                  "376", "64.0.0.0",
                  "377", "64.0.0.0",
                  "378", "64.0.0.0",
                  "379", "64.0.0.0",
                  "380", "64.0.0.0",
                  "381", "64.0.0.0",
                  "382", "64.0.0.0",
                  "383", "64.0.0.0",
                  "384", "64.0.0.0",
                  "385", "64.0.0.0",
                  "386", "64.0.0.0",
                  "387", "64.0.0.0",
                  "388", "64.0.0.0",
                  "389", "64.0.0.0",
                  "390", "64.0.0.0",
                  "391", "64.0.0.0",
                  "392", "64.0.0.0",
                  "393", "64.0.0.0",
                  "394", "64.0.0.0",
                  "395", "64.0.0.0",
                  "396", "96.0.0.0",
                  "397", "96.0.0.0",
                  "398", "96.0.0.0",
                  "399", "96.0.0.0",
                  "3100", "96.0.0.0",
                  "3101", "96.0.0.0",
                  "3102", "96.0.0.0",
                  "3103", "96.0.0.0",
                  "3104", "96.0.0.0",
                  "3105", "96.0.0.0",
                  "3106", "96.0.0.0",
                  "3107", "96.0.0.0",
                  "3108", "96.0.0.0",
                  "3109", "96.0.0.0",
                  "3110", "96.0.0.0",
                  "3111", "96.0.0.0",
                  "3112", "96.0.0.0",
                  "3113", "96.0.0.0",
                  "3114", "96.0.0.0",
                  "3115", "96.0.0.0",
                  "3116", "96.0.0.0",
                  "3117", "96.0.0.0",
                  "3118", "96.0.0.0",
                  "3119", "96.0.0.0",
                  "3120", "96.0.0.0",
                  "3121", "96.0.0.0",
                  "3122", "96.0.0.0",
                  "3123", "96.0.0.0",
                  "3124", "96.0.0.0",
                  "3125", "96.0.0.0",
                  "3126", "96.0.0.0",
                  "3127", "96.0.0.0",
                  "3128", "128.0.0.0",
                  "3129", "128.0.0.0",
                  "3130", "128.0.0.0",
                  "3131", "128.0.0.0",
                  "3132", "128.0.0.0",
                  "3133", "128.0.0.0",
                  "3134", "128.0.0.0",
                  "3135", "128.0.0.0",
                  "3136", "128.0.0.0",
                  "3137", "128.0.0.0",
                  "3138", "128.0.0.0",
                  "3139", "128.0.0.0",
                  "3140", "128.0.0.0",
                  "3141", "128.0.0.0",
                  "3142", "128.0.0.0",
                  "3143", "128.0.0.0",
                  "3144", "128.0.0.0",
                  "3145", "128.0.0.0",
                  "3146", "128.0.0.0",
                  "3147", "128.0.0.0",
                  "3148", "128.0.0.0",
                  "3149", "128.0.0.0",
                  "3150", "128.0.0.0",
                  "3151", "128.0.0.0",
                  "3152", "128.0.0.0",
                  "3153", "128.0.0.0",
                  "3154", "128.0.0.0",
                  "3155", "128.0.0.0",
                  "3156", "128.0.0.0",
                  "3157", "128.0.0.0",
                  "3158", "128.0.0.0",
                  "3159", "128.0.0.0",
                  "3160", "160.0.0.0",
                  "3161", "160.0.0.0",
                  "3162", "160.0.0.0",
                  "3163", "160.0.0.0",
                  "3164", "160.0.0.0",
                  "3165", "160.0.0.0",
                  "3166", "160.0.0.0",
                  "3167", "160.0.0.0",
                  "3168", "160.0.0.0",
                  "3169", "160.0.0.0",
                  "3170", "160.0.0.0",
                  "3171", "160.0.0.0",
                  "3172", "160.0.0.0",
                  "3173", "160.0.0.0",
                  "3174", "160.0.0.0",
                  "3175", "160.0.0.0",
                  "3176", "160.0.0.0",
                  "3177", "160.0.0.0",
                  "3178", "160.0.0.0",
                  "3179", "160.0.0.0",
                  "3180", "160.0.0.0",
                  "3181", "160.0.0.0",
                  "3182", "160.0.0.0",
                  "3183", "160.0.0.0",
                  "3184", "160.0.0.0",
                  "3185", "160.0.0.0",
                  "3186", "160.0.0.0",
                  "3187", "160.0.0.0",
                  "3188", "160.0.0.0",
                  "3189", "160.0.0.0",
                  "3190", "160.0.0.0",
                  "3191", "160.0.0.0",
                  "3192", "192.0.0.0",
                  "3193", "192.0.0.0",
                  "3194", "192.0.0.0",
                  "3195", "192.0.0.0",
                  "3196", "192.0.0.0",
                  "3197", "192.0.0.0",
                  "3198", "192.0.0.0",
                  "3199", "192.0.0.0",
                  "3200", "192.0.0.0",
                  "3201", "192.0.0.0",
                  "3202", "192.0.0.0",
                  "3203", "192.0.0.0",
                  "3204", "192.0.0.0",
                  "3205", "192.0.0.0",
                  "3206", "192.0.0.0",
                  "3207", "192.0.0.0",
                  "3208", "192.0.0.0",
                  "3209", "192.0.0.0",
                  "3210", "192.0.0.0",
                  "3211", "192.0.0.0",
                  "3212", "192.0.0.0",
                  "3213", "192.0.0.0",
                  "3214", "192.0.0.0",
                  "3215", "192.0.0.0",
                  "3216", "192.0.0.0",
                  "3217", "192.0.0.0",
                  "3218", "192.0.0.0",
                  "3219", "192.0.0.0",
                  "3220", "192.0.0.0",
                  "3221", "192.0.0.0",
                  "3222", "192.0.0.0",
                  "3223", "192.0.0.0",
                  "3224", "224.0.0.0",
                  "3225", "224.0.0.0",
                  "3226", "224.0.0.0",
                  "3227", "224.0.0.0",
                  "3228", "224.0.0.0",
                  "3229", "224.0.0.0",
                  "3230", "224.0.0.0",
                  "3231", "224.0.0.0",
                  "3232", "224.0.0.0",
                  "3233", "224.0.0.0",
                  "3234", "224.0.0.0",
                  "3235", "224.0.0.0",
                  "3236", "224.0.0.0",
                  "3237", "224.0.0.0",
                  "3238", "224.0.0.0",
                  "3239", "224.0.0.0",
                  "3240", "224.0.0.0",
                  "3241", "224.0.0.0",
                  "3242", "224.0.0.0",
                  "3243", "224.0.0.0",
                  "3244", "224.0.0.0",
                  "3245", "224.0.0.0",
                  "3246", "224.0.0.0",
                  "3247", "224.0.0.0",
                  "3248", "224.0.0.0",
                  "3249", "224.0.0.0",
                  "3250", "224.0.0.0",
                  "3251", "224.0.0.0",
                  "3252", "224.0.0.0",
                  "3253", "224.0.0.0",
                  "3254", "224.0.0.0",
                  "3255", "224.0.0.0",
                  "40", "0.0.0.0",
                  "41", "0.0.0.0",
                  "42", "0.0.0.0",
                  "43", "0.0.0.0",
                  "44", "0.0.0.0",
                  "45", "0.0.0.0",
                  "46", "0.0.0.0",
                  "47", "0.0.0.0",
                  "48", "0.0.0.0",
                  "49", "0.0.0.0",
                  "410", "0.0.0.0",
                  "411", "0.0.0.0",
                  "412", "0.0.0.0",
                  "413", "0.0.0.0",
                  "414", "0.0.0.0",
                  "415", "0.0.0.0",
                  "416", "16.0.0.0",
                  "417", "16.0.0.0",
                  "418", "16.0.0.0",
                  "419", "16.0.0.0",
                  "420", "16.0.0.0",
                  "421", "16.0.0.0",
                  "422", "16.0.0.0",
                  "423", "16.0.0.0",
                  "424", "16.0.0.0",
                  "425", "16.0.0.0",
                  "426", "16.0.0.0",
                  "427", "16.0.0.0",
                  "428", "16.0.0.0",
                  "429", "16.0.0.0",
                  "430", "16.0.0.0",
                  "431", "16.0.0.0",
                  "432", "32.0.0.0",
                  "433", "32.0.0.0",
                  "434", "32.0.0.0",
                  "435", "32.0.0.0",
                  "436", "32.0.0.0",
                  "437", "32.0.0.0",
                  "438", "32.0.0.0",
                  "439", "32.0.0.0",
                  "440", "32.0.0.0",
                  "441", "32.0.0.0",
                  "442", "32.0.0.0",
                  "443", "32.0.0.0",
                  "444", "32.0.0.0",
                  "445", "32.0.0.0",
                  "446", "32.0.0.0",
                  "447", "32.0.0.0",
                  "448", "48.0.0.0",
                  "449", "48.0.0.0",
                  "450", "48.0.0.0",
                  "451", "48.0.0.0",
                  "452", "48.0.0.0",
                  "453", "48.0.0.0",
                  "454", "48.0.0.0",
                  "455", "48.0.0.0",
                  "456", "48.0.0.0",
                  "457", "48.0.0.0",
                  "458", "48.0.0.0",
                  "459", "48.0.0.0",
                  "460", "48.0.0.0",
                  "461", "48.0.0.0",
                  "462", "48.0.0.0",
                  "463", "48.0.0.0",
                  "464", "64.0.0.0",
                  "465", "64.0.0.0",
                  "466", "64.0.0.0",
                  "467", "64.0.0.0",
                  "468", "64.0.0.0",
                  "469", "64.0.0.0",
                  "470", "64.0.0.0",
                  "471", "64.0.0.0",
                  "472", "64.0.0.0",
                  "473", "64.0.0.0",
                  "474", "64.0.0.0",
                  "475", "64.0.0.0",
                  "476", "64.0.0.0",
                  "477", "64.0.0.0",
                  "478", "64.0.0.0",
                  "479", "64.0.0.0",
                  "480", "80.0.0.0",
                  "481", "80.0.0.0",
                  "482", "80.0.0.0",
                  "483", "80.0.0.0",
                  "484", "80.0.0.0",
                  "485", "80.0.0.0",
                  "486", "80.0.0.0",
                  "487", "80.0.0.0",
                  "488", "80.0.0.0",
                  "489", "80.0.0.0",
                  "490", "80.0.0.0",
                  "491", "80.0.0.0",
                  "492", "80.0.0.0",
                  "493", "80.0.0.0",
                  "494", "80.0.0.0",
                  "495", "80.0.0.0",
                  "496", "96.0.0.0",
                  "497", "96.0.0.0",
                  "498", "96.0.0.0",
                  "499", "96.0.0.0",
                  "4100", "96.0.0.0",
                  "4101", "96.0.0.0",
                  "4102", "96.0.0.0",
                  "4103", "96.0.0.0",
                  "4104", "96.0.0.0",
                  "4105", "96.0.0.0",
                  "4106", "96.0.0.0",
                  "4107", "96.0.0.0",
                  "4108", "96.0.0.0",
                  "4109", "96.0.0.0",
                  "4110", "96.0.0.0",
                  "4111", "96.0.0.0",
                  "4112", "112.0.0.0",
                  "4113", "112.0.0.0",
                  "4114", "112.0.0.0",
                  "4115", "112.0.0.0",
                  "4116", "112.0.0.0",
                  "4117", "112.0.0.0",
                  "4118", "112.0.0.0",
                  "4119", "112.0.0.0",
                  "4120", "112.0.0.0",
                  "4121", "112.0.0.0",
                  "4122", "112.0.0.0",
                  "4123", "112.0.0.0",
                  "4124", "112.0.0.0",
                  "4125", "112.0.0.0",
                  "4126", "112.0.0.0",
                  "4127", "112.0.0.0",
                  "4128", "128.0.0.0",
                  "4129", "128.0.0.0",
                  "4130", "128.0.0.0",
                  "4131", "128.0.0.0",
                  "4132", "128.0.0.0",
                  "4133", "128.0.0.0",
                  "4134", "128.0.0.0",
                  "4135", "128.0.0.0",
                  "4136", "128.0.0.0",
                  "4137", "128.0.0.0",
                  "4138", "128.0.0.0",
                  "4139", "128.0.0.0",
                  "4140", "128.0.0.0",
                  "4141", "128.0.0.0",
                  "4142", "128.0.0.0",
                  "4143", "128.0.0.0",
                  "4144", "144.0.0.0",
                  "4145", "144.0.0.0",
                  "4146", "144.0.0.0",
                  "4147", "144.0.0.0",
                  "4148", "144.0.0.0",
                  "4149", "144.0.0.0",
                  "4150", "144.0.0.0",
                  "4151", "144.0.0.0",
                  "4152", "144.0.0.0",
                  "4153", "144.0.0.0",
                  "4154", "144.0.0.0",
                  "4155", "144.0.0.0",
                  "4156", "144.0.0.0",
                  "4157", "144.0.0.0",
                  "4158", "144.0.0.0",
                  "4159", "144.0.0.0",
                  "4160", "160.0.0.0",
                  "4161", "160.0.0.0",
                  "4162", "160.0.0.0",
                  "4163", "160.0.0.0",
                  "4164", "160.0.0.0",
                  "4165", "160.0.0.0",
                  "4166", "160.0.0.0",
                  "4167", "160.0.0.0",
                  "4168", "160.0.0.0",
                  "4169", "160.0.0.0",
                  "4170", "160.0.0.0",
                  "4171", "160.0.0.0",
                  "4172", "160.0.0.0",
                  "4173", "160.0.0.0",
                  "4174", "160.0.0.0",
                  "4175", "160.0.0.0",
                  "4176", "176.0.0.0",
                  "4177", "176.0.0.0",
                  "4178", "176.0.0.0",
                  "4179", "176.0.0.0",
                  "4180", "176.0.0.0",
                  "4181", "176.0.0.0",
                  "4182", "176.0.0.0",
                  "4183", "176.0.0.0",
                  "4184", "176.0.0.0",
                  "4185", "176.0.0.0",
                  "4186", "176.0.0.0",
                  "4187", "176.0.0.0",
                  "4188", "176.0.0.0",
                  "4189", "176.0.0.0",
                  "4190", "176.0.0.0",
                  "4191", "176.0.0.0",
                  "4192", "192.0.0.0",
                  "4193", "192.0.0.0",
                  "4194", "192.0.0.0",
                  "4195", "192.0.0.0",
                  "4196", "192.0.0.0",
                  "4197", "192.0.0.0",
                  "4198", "192.0.0.0",
                  "4199", "192.0.0.0",
                  "4200", "192.0.0.0",
                  "4201", "192.0.0.0",
                  "4202", "192.0.0.0",
                  "4203", "192.0.0.0",
                  "4204", "192.0.0.0",
                  "4205", "192.0.0.0",
                  "4206", "192.0.0.0",
                  "4207", "192.0.0.0",
                  "4208", "208.0.0.0",
                  "4209", "208.0.0.0",
                  "4210", "208.0.0.0",
                  "4211", "208.0.0.0",
                  "4212", "208.0.0.0",
                  "4213", "208.0.0.0",
                  "4214", "208.0.0.0",
                  "4215", "208.0.0.0",
                  "4216", "208.0.0.0",
                  "4217", "208.0.0.0",
                  "4218", "208.0.0.0",
                  "4219", "208.0.0.0",
                  "4220", "208.0.0.0",
                  "4221", "208.0.0.0",
                  "4222", "208.0.0.0",
                  "4223", "208.0.0.0",
                  "4224", "224.0.0.0",
                  "4225", "224.0.0.0",
                  "4226", "224.0.0.0",
                  "4227", "224.0.0.0",
                  "4228", "224.0.0.0",
                  "4229", "224.0.0.0",
                  "4230", "224.0.0.0",
                  "4231", "224.0.0.0",
                  "4232", "224.0.0.0",
                  "4233", "224.0.0.0",
                  "4234", "224.0.0.0",
                  "4235", "224.0.0.0",
                  "4236", "224.0.0.0",
                  "4237", "224.0.0.0",
                  "4238", "224.0.0.0",
                  "4239", "224.0.0.0",
                  "4240", "240.0.0.0",
                  "4241", "240.0.0.0",
                  "4242", "240.0.0.0",
                  "4243", "240.0.0.0",
                  "4244", "240.0.0.0",
                  "4245", "240.0.0.0",
                  "4246", "240.0.0.0",
                  "4247", "240.0.0.0",
                  "4248", "240.0.0.0",
                  "4249", "240.0.0.0",
                  "4250", "240.0.0.0",
                  "4251", "240.0.0.0",
                  "4252", "240.0.0.0",
                  "4253", "240.0.0.0",
                  "4254", "240.0.0.0",
                  "4255", "240.0.0.0",
                  "50", "0.0.0.0",
                  "51", "0.0.0.0",
                  "52", "0.0.0.0",
                  "53", "0.0.0.0",
                  "54", "0.0.0.0",
                  "55", "0.0.0.0",
                  "56", "0.0.0.0",
                  "57", "0.0.0.0",
                  "58", "8.0.0.0",
                  "59", "8.0.0.0",
                  "510", "8.0.0.0",
                  "511", "8.0.0.0",
                  "512", "8.0.0.0",
                  "513", "8.0.0.0",
                  "514", "8.0.0.0",
                  "515", "8.0.0.0",
                  "516", "16.0.0.0",
                  "517", "16.0.0.0",
                  "518", "16.0.0.0",
                  "519", "16.0.0.0",
                  "520", "16.0.0.0",
                  "521", "16.0.0.0",
                  "522", "16.0.0.0",
                  "523", "16.0.0.0",
                  "524", "24.0.0.0",
                  "525", "24.0.0.0",
                  "526", "24.0.0.0",
                  "527", "24.0.0.0",
                  "528", "24.0.0.0",
                  "529", "24.0.0.0",
                  "530", "24.0.0.0",
                  "531", "24.0.0.0",
                  "532", "32.0.0.0",
                  "533", "32.0.0.0",
                  "534", "32.0.0.0",
                  "535", "32.0.0.0",
                  "536", "32.0.0.0",
                  "537", "32.0.0.0",
                  "538", "32.0.0.0",
                  "539", "32.0.0.0",
                  "540", "40.0.0.0",
                  "541", "40.0.0.0",
                  "542", "40.0.0.0",
                  "543", "40.0.0.0",
                  "544", "40.0.0.0",
                  "545", "40.0.0.0",
                  "546", "40.0.0.0",
                  "547", "40.0.0.0",
                  "548", "48.0.0.0",
                  "549", "48.0.0.0",
                  "550", "48.0.0.0",
                  "551", "48.0.0.0",
                  "552", "48.0.0.0",
                  "553", "48.0.0.0",
                  "554", "48.0.0.0",
                  "555", "48.0.0.0",
                  "556", "56.0.0.0",
                  "557", "56.0.0.0",
                  "558", "56.0.0.0",
                  "559", "56.0.0.0",
                  "560", "56.0.0.0",
                  "561", "56.0.0.0",
                  "562", "56.0.0.0",
                  "563", "56.0.0.0",
                  "564", "64.0.0.0",
                  "565", "64.0.0.0",
                  "566", "64.0.0.0",
                  "567", "64.0.0.0",
                  "568", "64.0.0.0",
                  "569", "64.0.0.0",
                  "570", "64.0.0.0",
                  "571", "64.0.0.0",
                  "572", "72.0.0.0",
                  "573", "72.0.0.0",
                  "574", "72.0.0.0",
                  "575", "72.0.0.0",
                  "576", "72.0.0.0",
                  "577", "72.0.0.0",
                  "578", "72.0.0.0",
                  "579", "72.0.0.0",
                  "580", "80.0.0.0",
                  "581", "80.0.0.0",
                  "582", "80.0.0.0",
                  "583", "80.0.0.0",
                  "584", "80.0.0.0",
                  "585", "80.0.0.0",
                  "586", "80.0.0.0",
                  "587", "80.0.0.0",
                  "588", "88.0.0.0",
                  "589", "88.0.0.0",
                  "590", "88.0.0.0",
                  "591", "88.0.0.0",
                  "592", "88.0.0.0",
                  "593", "88.0.0.0",
                  "594", "88.0.0.0",
                  "595", "88.0.0.0",
                  "596", "96.0.0.0",
                  "597", "96.0.0.0",
                  "598", "96.0.0.0",
                  "599", "96.0.0.0",
                  "5100", "96.0.0.0",
                  "5101", "96.0.0.0",
                  "5102", "96.0.0.0",
                  "5103", "96.0.0.0",
                  "5104", "104.0.0.0",
                  "5105", "104.0.0.0",
                  "5106", "104.0.0.0",
                  "5107", "104.0.0.0",
                  "5108", "104.0.0.0",
                  "5109", "104.0.0.0",
                  "5110", "104.0.0.0",
                  "5111", "104.0.0.0",
                  "5112", "112.0.0.0",
                  "5113", "112.0.0.0",
                  "5114", "112.0.0.0",
                  "5115", "112.0.0.0",
                  "5116", "112.0.0.0",
                  "5117", "112.0.0.0",
                  "5118", "112.0.0.0",
                  "5119", "112.0.0.0",
                  "5120", "120.0.0.0",
                  "5121", "120.0.0.0",
                  "5122", "120.0.0.0",
                  "5123", "120.0.0.0",
                  "5124", "120.0.0.0",
                  "5125", "120.0.0.0",
                  "5126", "120.0.0.0",
                  "5127", "120.0.0.0",
                  "5128", "128.0.0.0",
                  "5129", "128.0.0.0",
                  "5130", "128.0.0.0",
                  "5131", "128.0.0.0",
                  "5132", "128.0.0.0",
                  "5133", "128.0.0.0",
                  "5134", "128.0.0.0",
                  "5135", "128.0.0.0",
                  "5136", "136.0.0.0",
                  "5137", "136.0.0.0",
                  "5138", "136.0.0.0",
                  "5139", "136.0.0.0",
                  "5140", "136.0.0.0",
                  "5141", "136.0.0.0",
                  "5142", "136.0.0.0",
                  "5143", "136.0.0.0",
                  "5144", "144.0.0.0",
                  "5145", "144.0.0.0",
                  "5146", "144.0.0.0",
                  "5147", "144.0.0.0",
                  "5148", "144.0.0.0",
                  "5149", "144.0.0.0",
                  "5150", "144.0.0.0",
                  "5151", "144.0.0.0",
                  "5152", "152.0.0.0",
                  "5153", "152.0.0.0",
                  "5154", "152.0.0.0",
                  "5155", "152.0.0.0",
                  "5156", "152.0.0.0",
                  "5157", "152.0.0.0",
                  "5158", "152.0.0.0",
                  "5159", "152.0.0.0",
                  "5160", "160.0.0.0",
                  "5161", "160.0.0.0",
                  "5162", "160.0.0.0",
                  "5163", "160.0.0.0",
                  "5164", "160.0.0.0",
                  "5165", "160.0.0.0",
                  "5166", "160.0.0.0",
                  "5167", "160.0.0.0",
                  "5168", "168.0.0.0",
                  "5169", "168.0.0.0",
                  "5170", "168.0.0.0",
                  "5171", "168.0.0.0",
                  "5172", "168.0.0.0",
                  "5173", "168.0.0.0",
                  "5174", "168.0.0.0",
                  "5175", "168.0.0.0",
                  "5176", "176.0.0.0",
                  "5177", "176.0.0.0",
                  "5178", "176.0.0.0",
                  "5179", "176.0.0.0",
                  "5180", "176.0.0.0",
                  "5181", "176.0.0.0",
                  "5182", "176.0.0.0",
                  "5183", "176.0.0.0",
                  "5184", "184.0.0.0",
                  "5185", "184.0.0.0",
                  "5186", "184.0.0.0",
                  "5187", "184.0.0.0",
                  "5188", "184.0.0.0",
                  "5189", "184.0.0.0",
                  "5190", "184.0.0.0",
                  "5191", "184.0.0.0",
                  "5192", "192.0.0.0",
                  "5193", "192.0.0.0",
                  "5194", "192.0.0.0",
                  "5195", "192.0.0.0",
                  "5196", "192.0.0.0",
                  "5197", "192.0.0.0",
                  "5198", "192.0.0.0",
                  "5199", "192.0.0.0",
                  "5200", "200.0.0.0",
                  "5201", "200.0.0.0",
                  "5202", "200.0.0.0",
                  "5203", "200.0.0.0",
                  "5204", "200.0.0.0",
                  "5205", "200.0.0.0",
                  "5206", "200.0.0.0",
                  "5207", "200.0.0.0",
                  "5208", "208.0.0.0",
                  "5209", "208.0.0.0",
                  "5210", "208.0.0.0",
                  "5211", "208.0.0.0",
                  "5212", "208.0.0.0",
                  "5213", "208.0.0.0",
                  "5214", "208.0.0.0",
                  "5215", "208.0.0.0",
                  "5216", "216.0.0.0",
                  "5217", "216.0.0.0",
                  "5218", "216.0.0.0",
                  "5219", "216.0.0.0",
                  "5220", "216.0.0.0",
                  "5221", "216.0.0.0",
                  "5222", "216.0.0.0",
                  "5223", "216.0.0.0",
                  "5224", "224.0.0.0",
                  "5225", "224.0.0.0",
                  "5226", "224.0.0.0",
                  "5227", "224.0.0.0",
                  "5228", "224.0.0.0",
                  "5229", "224.0.0.0",
                  "5230", "224.0.0.0",
                  "5231", "224.0.0.0",
                  "5232", "232.0.0.0",
                  "5233", "232.0.0.0",
                  "5234", "232.0.0.0",
                  "5235", "232.0.0.0",
                  "5236", "232.0.0.0",
                  "5237", "232.0.0.0",
                  "5238", "232.0.0.0",
                  "5239", "232.0.0.0",
                  "5240", "240.0.0.0",
                  "5241", "240.0.0.0",
                  "5242", "240.0.0.0",
                  "5243", "240.0.0.0",
                  "5244", "240.0.0.0",
                  "5245", "240.0.0.0",
                  "5246", "240.0.0.0",
                  "5247", "240.0.0.0",
                  "5248", "248.0.0.0",
                  "5249", "248.0.0.0",
                  "5250", "248.0.0.0",
                  "5251", "248.0.0.0",
                  "5252", "248.0.0.0",
                  "5253", "248.0.0.0",
                  "5254", "248.0.0.0",
                  "5255", "248.0.0.0",
                  "60", "0.0.0.0",
                  "61", "0.0.0.0",
                  "62", "0.0.0.0",
                  "63", "0.0.0.0",
                  "64", "4.0.0.0",
                  "65", "4.0.0.0",
                  "66", "4.0.0.0",
                  "67", "4.0.0.0",
                  "68", "8.0.0.0",
                  "69", "8.0.0.0",
                  "610", "8.0.0.0",
                  "611", "8.0.0.0",
                  "612", "12.0.0.0",
                  "613", "12.0.0.0",
                  "614", "12.0.0.0",
                  "615", "12.0.0.0",
                  "616", "16.0.0.0",
                  "617", "16.0.0.0",
                  "618", "16.0.0.0",
                  "619", "16.0.0.0",
                  "620", "20.0.0.0",
                  "621", "20.0.0.0",
                  "622", "20.0.0.0",
                  "623", "20.0.0.0",
                  "624", "24.0.0.0",
                  "625", "24.0.0.0",
                  "626", "24.0.0.0",
                  "627", "24.0.0.0",
                  "628", "28.0.0.0",
                  "629", "28.0.0.0",
                  "630", "28.0.0.0",
                  "631", "28.0.0.0",
                  "632", "32.0.0.0",
                  "633", "32.0.0.0",
                  "634", "32.0.0.0",
                  "635", "32.0.0.0",
                  "636", "36.0.0.0",
                  "637", "36.0.0.0",
                  "638", "36.0.0.0",
                  "639", "36.0.0.0",
                  "640", "40.0.0.0",
                  "641", "40.0.0.0",
                  "642", "40.0.0.0",
                  "643", "40.0.0.0",
                  "644", "44.0.0.0",
                  "645", "44.0.0.0",
                  "646", "44.0.0.0",
                  "647", "44.0.0.0",
                  "648", "48.0.0.0",
                  "649", "48.0.0.0",
                  "650", "48.0.0.0",
                  "651", "48.0.0.0",
                  "652", "52.0.0.0",
                  "653", "52.0.0.0",
                  "654", "52.0.0.0",
                  "655", "52.0.0.0",
                  "656", "56.0.0.0",
                  "657", "56.0.0.0",
                  "658", "56.0.0.0",
                  "659", "56.0.0.0",
                  "660", "60.0.0.0",
                  "661", "60.0.0.0",
                  "662", "60.0.0.0",
                  "663", "60.0.0.0",
                  "664", "64.0.0.0",
                  "665", "64.0.0.0",
                  "666", "64.0.0.0",
                  "667", "64.0.0.0",
                  "668", "68.0.0.0",
                  "669", "68.0.0.0",
                  "670", "68.0.0.0",
                  "671", "68.0.0.0",
                  "672", "72.0.0.0",
                  "673", "72.0.0.0",
                  "674", "72.0.0.0",
                  "675", "72.0.0.0",
                  "676", "76.0.0.0",
                  "677", "76.0.0.0",
                  "678", "76.0.0.0",
                  "679", "76.0.0.0",
                  "680", "80.0.0.0",
                  "681", "80.0.0.0",
                  "682", "80.0.0.0",
                  "683", "80.0.0.0",
                  "684", "84.0.0.0",
                  "685", "84.0.0.0",
                  "686", "84.0.0.0",
                  "687", "84.0.0.0",
                  "688", "88.0.0.0",
                  "689", "88.0.0.0",
                  "690", "88.0.0.0",
                  "691", "88.0.0.0",
                  "692", "92.0.0.0",
                  "693", "92.0.0.0",
                  "694", "92.0.0.0",
                  "695", "92.0.0.0",
                  "696", "96.0.0.0",
                  "697", "96.0.0.0",
                  "698", "96.0.0.0",
                  "699", "96.0.0.0",
                  "6100", "100.0.0.0",
                  "6101", "100.0.0.0",
                  "6102", "100.0.0.0",
                  "6103", "100.0.0.0",
                  "6104", "104.0.0.0",
                  "6105", "104.0.0.0",
                  "6106", "104.0.0.0",
                  "6107", "104.0.0.0",
                  "6108", "108.0.0.0",
                  "6109", "108.0.0.0",
                  "6110", "108.0.0.0",
                  "6111", "108.0.0.0",
                  "6112", "112.0.0.0",
                  "6113", "112.0.0.0",
                  "6114", "112.0.0.0",
                  "6115", "112.0.0.0",
                  "6116", "116.0.0.0",
                  "6117", "116.0.0.0",
                  "6118", "116.0.0.0",
                  "6119", "116.0.0.0",
                  "6120", "120.0.0.0",
                  "6121", "120.0.0.0",
                  "6122", "120.0.0.0",
                  "6123", "120.0.0.0",
                  "6124", "124.0.0.0",
                  "6125", "124.0.0.0",
                  "6126", "124.0.0.0",
                  "6127", "124.0.0.0",
                  "6128", "128.0.0.0",
                  "6129", "128.0.0.0",
                  "6130", "128.0.0.0",
                  "6131", "128.0.0.0",
                  "6132", "132.0.0.0",
                  "6133", "132.0.0.0",
                  "6134", "132.0.0.0",
                  "6135", "132.0.0.0",
                  "6136", "136.0.0.0",
                  "6137", "136.0.0.0",
                  "6138", "136.0.0.0",
                  "6139", "136.0.0.0",
                  "6140", "140.0.0.0",
                  "6141", "140.0.0.0",
                  "6142", "140.0.0.0",
                  "6143", "140.0.0.0",
                  "6144", "144.0.0.0",
                  "6145", "144.0.0.0",
                  "6146", "144.0.0.0",
                  "6147", "144.0.0.0",
                  "6148", "148.0.0.0",
                  "6149", "148.0.0.0",
                  "6150", "148.0.0.0",
                  "6151", "148.0.0.0",
                  "6152", "152.0.0.0",
                  "6153", "152.0.0.0",
                  "6154", "152.0.0.0",
                  "6155", "152.0.0.0",
                  "6156", "156.0.0.0",
                  "6157", "156.0.0.0",
                  "6158", "156.0.0.0",
                  "6159", "156.0.0.0",
                  "6160", "160.0.0.0",
                  "6161", "160.0.0.0",
                  "6162", "160.0.0.0",
                  "6163", "160.0.0.0",
                  "6164", "164.0.0.0",
                  "6165", "164.0.0.0",
                  "6166", "164.0.0.0",
                  "6167", "164.0.0.0",
                  "6168", "168.0.0.0",
                  "6169", "168.0.0.0",
                  "6170", "168.0.0.0",
                  "6171", "168.0.0.0",
                  "6172", "172.0.0.0",
                  "6173", "172.0.0.0",
                  "6174", "172.0.0.0",
                  "6175", "172.0.0.0",
                  "6176", "176.0.0.0",
                  "6177", "176.0.0.0",
                  "6178", "176.0.0.0",
                  "6179", "176.0.0.0",
                  "6180", "180.0.0.0",
                  "6181", "180.0.0.0",
                  "6182", "180.0.0.0",
                  "6183", "180.0.0.0",
                  "6184", "184.0.0.0",
                  "6185", "184.0.0.0",
                  "6186", "184.0.0.0",
                  "6187", "184.0.0.0",
                  "6188", "188.0.0.0",
                  "6189", "188.0.0.0",
                  "6190", "188.0.0.0",
                  "6191", "188.0.0.0",
                  "6192", "192.0.0.0",
                  "6193", "192.0.0.0",
                  "6194", "192.0.0.0",
                  "6195", "192.0.0.0",
                  "6196", "196.0.0.0",
                  "6197", "196.0.0.0",
                  "6198", "196.0.0.0",
                  "6199", "196.0.0.0",
                  "6200", "200.0.0.0",
                  "6201", "200.0.0.0",
                  "6202", "200.0.0.0",
                  "6203", "200.0.0.0",
                  "6204", "204.0.0.0",
                  "6205", "204.0.0.0",
                  "6206", "204.0.0.0",
                  "6207", "204.0.0.0",
                  "6208", "208.0.0.0",
                  "6209", "208.0.0.0",
                  "6210", "208.0.0.0",
                  "6211", "208.0.0.0",
                  "6212", "212.0.0.0",
                  "6213", "212.0.0.0",
                  "6214", "212.0.0.0",
                  "6215", "212.0.0.0",
                  "6216", "216.0.0.0",
                  "6217", "216.0.0.0",
                  "6218", "216.0.0.0",
                  "6219", "216.0.0.0",
                  "6220", "220.0.0.0",
                  "6221", "220.0.0.0",
                  "6222", "220.0.0.0",
                  "6223", "220.0.0.0",
                  "6224", "224.0.0.0",
                  "6225", "224.0.0.0",
                  "6226", "224.0.0.0",
                  "6227", "224.0.0.0",
                  "6228", "228.0.0.0",
                  "6229", "228.0.0.0",
                  "6230", "228.0.0.0",
                  "6231", "228.0.0.0",
                  "6232", "232.0.0.0",
                  "6233", "232.0.0.0",
                  "6234", "232.0.0.0",
                  "6235", "232.0.0.0",
                  "6236", "236.0.0.0",
                  "6237", "236.0.0.0",
                  "6238", "236.0.0.0",
                  "6239", "236.0.0.0",
                  "6240", "240.0.0.0",
                  "6241", "240.0.0.0",
                  "6242", "240.0.0.0",
                  "6243", "240.0.0.0",
                  "6244", "244.0.0.0",
                  "6245", "244.0.0.0",
                  "6246", "244.0.0.0",
                  "6247", "244.0.0.0",
                  "6248", "248.0.0.0",
                  "6249", "248.0.0.0",
                  "6250", "248.0.0.0",
                  "6251", "248.0.0.0",
                  "6252", "252.0.0.0",
                  "6253", "252.0.0.0",
                  "6254", "252.0.0.0",
                  "6255", "252.0.0.0",
                  "70", "0.0.0.0",
                  "71", "0.0.0.0",
                  "72", "2.0.0.0",
                  "73", "2.0.0.0",
                  "74", "4.0.0.0",
                  "75", "4.0.0.0",
                  "76", "6.0.0.0",
                  "77", "6.0.0.0",
                  "78", "8.0.0.0",
                  "79", "8.0.0.0",
                  "710", "10.0.0.0",
                  "711", "10.0.0.0",
                  "712", "12.0.0.0",
                  "713", "12.0.0.0",
                  "714", "14.0.0.0",
                  "715", "14.0.0.0",
                  "716", "16.0.0.0",
                  "717", "16.0.0.0",
                  "718", "18.0.0.0",
                  "719", "18.0.0.0",
                  "720", "20.0.0.0",
                  "721", "20.0.0.0",
                  "722", "22.0.0.0",
                  "723", "22.0.0.0",
                  "724", "24.0.0.0",
                  "725", "24.0.0.0",
                  "726", "26.0.0.0",
                  "727", "26.0.0.0",
                  "728", "28.0.0.0",
                  "729", "28.0.0.0",
                  "730", "30.0.0.0",
                  "731", "30.0.0.0",
                  "732", "32.0.0.0",
                  "733", "32.0.0.0",
                  "734", "34.0.0.0",
                  "735", "34.0.0.0",
                  "736", "36.0.0.0",
                  "737", "36.0.0.0",
                  "738", "38.0.0.0",
                  "739", "38.0.0.0",
                  "740", "40.0.0.0",
                  "741", "40.0.0.0",
                  "742", "42.0.0.0",
                  "743", "42.0.0.0",
                  "744", "44.0.0.0",
                  "745", "44.0.0.0",
                  "746", "46.0.0.0",
                  "747", "46.0.0.0",
                  "748", "48.0.0.0",
                  "749", "48.0.0.0",
                  "750", "50.0.0.0",
                  "751", "50.0.0.0",
                  "752", "52.0.0.0",
                  "753", "52.0.0.0",
                  "754", "54.0.0.0",
                  "755", "54.0.0.0",
                  "756", "56.0.0.0",
                  "757", "56.0.0.0",
                  "758", "58.0.0.0",
                  "759", "58.0.0.0",
                  "760", "60.0.0.0",
                  "761", "60.0.0.0",
                  "762", "62.0.0.0",
                  "763", "62.0.0.0",
                  "764", "64.0.0.0",
                  "765", "64.0.0.0",
                  "766", "66.0.0.0",
                  "767", "66.0.0.0",
                  "768", "68.0.0.0",
                  "769", "68.0.0.0",
                  "770", "70.0.0.0",
                  "771", "70.0.0.0",
                  "772", "72.0.0.0",
                  "773", "72.0.0.0",
                  "774", "74.0.0.0",
                  "775", "74.0.0.0",
                  "776", "76.0.0.0",
                  "777", "76.0.0.0",
                  "778", "78.0.0.0",
                  "779", "78.0.0.0",
                  "780", "80.0.0.0",
                  "781", "80.0.0.0",
                  "782", "82.0.0.0",
                  "783", "82.0.0.0",
                  "784", "84.0.0.0",
                  "785", "84.0.0.0",
                  "786", "86.0.0.0",
                  "787", "86.0.0.0",
                  "788", "88.0.0.0",
                  "789", "88.0.0.0",
                  "790", "90.0.0.0",
                  "791", "90.0.0.0",
                  "792", "92.0.0.0",
                  "793", "92.0.0.0",
                  "794", "94.0.0.0",
                  "795", "94.0.0.0",
                  "796", "96.0.0.0",
                  "797", "96.0.0.0",
                  "798", "98.0.0.0",
                  "799", "98.0.0.0",
                  "7100", "100.0.0.0",
                  "7101", "100.0.0.0",
                  "7102", "102.0.0.0",
                  "7103", "102.0.0.0",
                  "7104", "104.0.0.0",
                  "7105", "104.0.0.0",
                  "7106", "106.0.0.0",
                  "7107", "106.0.0.0",
                  "7108", "108.0.0.0",
                  "7109", "108.0.0.0",
                  "7110", "110.0.0.0",
                  "7111", "110.0.0.0",
                  "7112", "112.0.0.0",
                  "7113", "112.0.0.0",
                  "7114", "114.0.0.0",
                  "7115", "114.0.0.0",
                  "7116", "116.0.0.0",
                  "7117", "116.0.0.0",
                  "7118", "118.0.0.0",
                  "7119", "118.0.0.0",
                  "7120", "120.0.0.0",
                  "7121", "120.0.0.0",
                  "7122", "122.0.0.0",
                  "7123", "122.0.0.0",
                  "7124", "124.0.0.0",
                  "7125", "124.0.0.0",
                  "7126", "126.0.0.0",
                  "7127", "126.0.0.0",
                  "7128", "128.0.0.0",
                  "7129", "128.0.0.0",
                  "7130", "130.0.0.0",
                  "7131", "130.0.0.0",
                  "7132", "132.0.0.0",
                  "7133", "132.0.0.0",
                  "7134", "134.0.0.0",
                  "7135", "134.0.0.0",
                  "7136", "136.0.0.0",
                  "7137", "136.0.0.0",
                  "7138", "138.0.0.0",
                  "7139", "138.0.0.0",
                  "7140", "140.0.0.0",
                  "7141", "140.0.0.0",
                  "7142", "142.0.0.0",
                  "7143", "142.0.0.0",
                  "7144", "144.0.0.0",
                  "7145", "144.0.0.0",
                  "7146", "146.0.0.0",
                  "7147", "146.0.0.0",
                  "7148", "148.0.0.0",
                  "7149", "148.0.0.0",
                  "7150", "150.0.0.0",
                  "7151", "150.0.0.0",
                  "7152", "152.0.0.0",
                  "7153", "152.0.0.0",
                  "7154", "154.0.0.0",
                  "7155", "154.0.0.0",
                  "7156", "156.0.0.0",
                  "7157", "156.0.0.0",
                  "7158", "158.0.0.0",
                  "7159", "158.0.0.0",
                  "7160", "160.0.0.0",
                  "7161", "160.0.0.0",
                  "7162", "162.0.0.0",
                  "7163", "162.0.0.0",
                  "7164", "164.0.0.0",
                  "7165", "164.0.0.0",
                  "7166", "166.0.0.0",
                  "7167", "166.0.0.0",
                  "7168", "168.0.0.0",
                  "7169", "168.0.0.0",
                  "7170", "170.0.0.0",
                  "7171", "170.0.0.0",
                  "7172", "172.0.0.0",
                  "7173", "172.0.0.0",
                  "7174", "174.0.0.0",
                  "7175", "174.0.0.0",
                  "7176", "176.0.0.0",
                  "7177", "176.0.0.0",
                  "7178", "178.0.0.0",
                  "7179", "178.0.0.0",
                  "7180", "180.0.0.0",
                  "7181", "180.0.0.0",
                  "7182", "182.0.0.0",
                  "7183", "182.0.0.0",
                  "7184", "184.0.0.0",
                  "7185", "184.0.0.0",
                  "7186", "186.0.0.0",
                  "7187", "186.0.0.0",
                  "7188", "188.0.0.0",
                  "7189", "188.0.0.0",
                  "7190", "190.0.0.0",
                  "7191", "190.0.0.0",
                  "7192", "192.0.0.0",
                  "7193", "192.0.0.0",
                  "7194", "194.0.0.0",
                  "7195", "194.0.0.0",
                  "7196", "196.0.0.0",
                  "7197", "196.0.0.0",
                  "7198", "198.0.0.0",
                  "7199", "198.0.0.0",
                  "7200", "200.0.0.0",
                  "7201", "200.0.0.0",
                  "7202", "202.0.0.0",
                  "7203", "202.0.0.0",
                  "7204", "204.0.0.0",
                  "7205", "204.0.0.0",
                  "7206", "206.0.0.0",
                  "7207", "206.0.0.0",
                  "7208", "208.0.0.0",
                  "7209", "208.0.0.0",
                  "7210", "210.0.0.0",
                  "7211", "210.0.0.0",
                  "7212", "212.0.0.0",
                  "7213", "212.0.0.0",
                  "7214", "214.0.0.0",
                  "7215", "214.0.0.0",
                  "7216", "216.0.0.0",
                  "7217", "216.0.0.0",
                  "7218", "218.0.0.0",
                  "7219", "218.0.0.0",
                  "7220", "220.0.0.0",
                  "7221", "220.0.0.0",
                  "7222", "222.0.0.0",
                  "7223", "222.0.0.0",
                  "7224", "224.0.0.0",
                  "7225", "224.0.0.0",
                  "7226", "226.0.0.0",
                  "7227", "226.0.0.0",
                  "7228", "228.0.0.0",
                  "7229", "228.0.0.0",
                  "7230", "230.0.0.0",
                  "7231", "230.0.0.0",
                  "7232", "232.0.0.0",
                  "7233", "232.0.0.0",
                  "7234", "234.0.0.0",
                  "7235", "234.0.0.0",
                  "7236", "236.0.0.0",
                  "7237", "236.0.0.0",
                  "7238", "238.0.0.0",
                  "7239", "238.0.0.0",
                  "7240", "240.0.0.0",
                  "7241", "240.0.0.0",
                  "7242", "242.0.0.0",
                  "7243", "242.0.0.0",
                  "7244", "244.0.0.0",
                  "7245", "244.0.0.0",
                  "7246", "246.0.0.0",
                  "7247", "246.0.0.0",
                  "7248", "248.0.0.0",
                  "7249", "248.0.0.0",
                  "7250", "250.0.0.0",
                  "7251", "250.0.0.0",
                  "7252", "252.0.0.0",
                  "7253", "252.0.0.0",
                  "7254", "254.0.0.0",
                  "7255", "254.0.0.0",
);

%IPv4RIGHTMASKS8=(
                  "80", ".0.0.0",
                  "81", ".0.0.0",
                  "82", ".0.0.0",
                  "83", ".0.0.0",
                  "84", ".0.0.0",
                  "85", ".0.0.0",
                  "86", ".0.0.0",
                  "87", ".0.0.0",
                  "88", ".0.0.0",
                  "89", ".0.0.0",
                  "810", ".0.0.0",
                  "811", ".0.0.0",
                  "812", ".0.0.0",
                  "813", ".0.0.0",
                  "814", ".0.0.0",
                  "815", ".0.0.0",
                  "816", ".0.0.0",
                  "817", ".0.0.0",
                  "818", ".0.0.0",
                  "819", ".0.0.0",
                  "820", ".0.0.0",
                  "821", ".0.0.0",
                  "822", ".0.0.0",
                  "823", ".0.0.0",
                  "824", ".0.0.0",
                  "825", ".0.0.0",
                  "826", ".0.0.0",
                  "827", ".0.0.0",
                  "828", ".0.0.0",
                  "829", ".0.0.0",
                  "830", ".0.0.0",
                  "831", ".0.0.0",
                  "832", ".0.0.0",
                  "833", ".0.0.0",
                  "834", ".0.0.0",
                  "835", ".0.0.0",
                  "836", ".0.0.0",
                  "837", ".0.0.0",
                  "838", ".0.0.0",
                  "839", ".0.0.0",
                  "840", ".0.0.0",
                  "841", ".0.0.0",
                  "842", ".0.0.0",
                  "843", ".0.0.0",
                  "844", ".0.0.0",
                  "845", ".0.0.0",
                  "846", ".0.0.0",
                  "847", ".0.0.0",
                  "848", ".0.0.0",
                  "849", ".0.0.0",
                  "850", ".0.0.0",
                  "851", ".0.0.0",
                  "852", ".0.0.0",
                  "853", ".0.0.0",
                  "854", ".0.0.0",
                  "855", ".0.0.0",
                  "856", ".0.0.0",
                  "857", ".0.0.0",
                  "858", ".0.0.0",
                  "859", ".0.0.0",
                  "860", ".0.0.0",
                  "861", ".0.0.0",
                  "862", ".0.0.0",
                  "863", ".0.0.0",
                  "864", ".0.0.0",
                  "865", ".0.0.0",
                  "866", ".0.0.0",
                  "867", ".0.0.0",
                  "868", ".0.0.0",
                  "869", ".0.0.0",
                  "870", ".0.0.0",
                  "871", ".0.0.0",
                  "872", ".0.0.0",
                  "873", ".0.0.0",
                  "874", ".0.0.0",
                  "875", ".0.0.0",
                  "876", ".0.0.0",
                  "877", ".0.0.0",
                  "878", ".0.0.0",
                  "879", ".0.0.0",
                  "880", ".0.0.0",
                  "881", ".0.0.0",
                  "882", ".0.0.0",
                  "883", ".0.0.0",
                  "884", ".0.0.0",
                  "885", ".0.0.0",
                  "886", ".0.0.0",
                  "887", ".0.0.0",
                  "888", ".0.0.0",
                  "889", ".0.0.0",
                  "890", ".0.0.0",
                  "891", ".0.0.0",
                  "892", ".0.0.0",
                  "893", ".0.0.0",
                  "894", ".0.0.0",
                  "895", ".0.0.0",
                  "896", ".0.0.0",
                  "897", ".0.0.0",
                  "898", ".0.0.0",
                  "899", ".0.0.0",
                  "8100", ".0.0.0",
                  "8101", ".0.0.0",
                  "8102", ".0.0.0",
                  "8103", ".0.0.0",
                  "8104", ".0.0.0",
                  "8105", ".0.0.0",
                  "8106", ".0.0.0",
                  "8107", ".0.0.0",
                  "8108", ".0.0.0",
                  "8109", ".0.0.0",
                  "8110", ".0.0.0",
                  "8111", ".0.0.0",
                  "8112", ".0.0.0",
                  "8113", ".0.0.0",
                  "8114", ".0.0.0",
                  "8115", ".0.0.0",
                  "8116", ".0.0.0",
                  "8117", ".0.0.0",
                  "8118", ".0.0.0",
                  "8119", ".0.0.0",
                  "8120", ".0.0.0",
                  "8121", ".0.0.0",
                  "8122", ".0.0.0",
                  "8123", ".0.0.0",
                  "8124", ".0.0.0",
                  "8125", ".0.0.0",
                  "8126", ".0.0.0",
                  "8127", ".0.0.0",
                  "8128", ".0.0.0",
                  "8129", ".0.0.0",
                  "8130", ".0.0.0",
                  "8131", ".0.0.0",
                  "8132", ".0.0.0",
                  "8133", ".0.0.0",
                  "8134", ".0.0.0",
                  "8135", ".0.0.0",
                  "8136", ".0.0.0",
                  "8137", ".0.0.0",
                  "8138", ".0.0.0",
                  "8139", ".0.0.0",
                  "8140", ".0.0.0",
                  "8141", ".0.0.0",
                  "8142", ".0.0.0",
                  "8143", ".0.0.0",
                  "8144", ".0.0.0",
                  "8145", ".0.0.0",
                  "8146", ".0.0.0",
                  "8147", ".0.0.0",
                  "8148", ".0.0.0",
                  "8149", ".0.0.0",
                  "8150", ".0.0.0",
                  "8151", ".0.0.0",
                  "8152", ".0.0.0",
                  "8153", ".0.0.0",
                  "8154", ".0.0.0",
                  "8155", ".0.0.0",
                  "8156", ".0.0.0",
                  "8157", ".0.0.0",
                  "8158", ".0.0.0",
                  "8159", ".0.0.0",
                  "8160", ".0.0.0",
                  "8161", ".0.0.0",
                  "8162", ".0.0.0",
                  "8163", ".0.0.0",
                  "8164", ".0.0.0",
                  "8165", ".0.0.0",
                  "8166", ".0.0.0",
                  "8167", ".0.0.0",
                  "8168", ".0.0.0",
                  "8169", ".0.0.0",
                  "8170", ".0.0.0",
                  "8171", ".0.0.0",
                  "8172", ".0.0.0",
                  "8173", ".0.0.0",
                  "8174", ".0.0.0",
                  "8175", ".0.0.0",
                  "8176", ".0.0.0",
                  "8177", ".0.0.0",
                  "8178", ".0.0.0",
                  "8179", ".0.0.0",
                  "8180", ".0.0.0",
                  "8181", ".0.0.0",
                  "8182", ".0.0.0",
                  "8183", ".0.0.0",
                  "8184", ".0.0.0",
                  "8185", ".0.0.0",
                  "8186", ".0.0.0",
                  "8187", ".0.0.0",
                  "8188", ".0.0.0",
                  "8189", ".0.0.0",
                  "8190", ".0.0.0",
                  "8191", ".0.0.0",
                  "8192", ".0.0.0",
                  "8193", ".0.0.0",
                  "8194", ".0.0.0",
                  "8195", ".0.0.0",
                  "8196", ".0.0.0",
                  "8197", ".0.0.0",
                  "8198", ".0.0.0",
                  "8199", ".0.0.0",
                  "8200", ".0.0.0",
                  "8201", ".0.0.0",
                  "8202", ".0.0.0",
                  "8203", ".0.0.0",
                  "8204", ".0.0.0",
                  "8205", ".0.0.0",
                  "8206", ".0.0.0",
                  "8207", ".0.0.0",
                  "8208", ".0.0.0",
                  "8209", ".0.0.0",
                  "8210", ".0.0.0",
                  "8211", ".0.0.0",
                  "8212", ".0.0.0",
                  "8213", ".0.0.0",
                  "8214", ".0.0.0",
                  "8215", ".0.0.0",
                  "8216", ".0.0.0",
                  "8217", ".0.0.0",
                  "8218", ".0.0.0",
                  "8219", ".0.0.0",
                  "8220", ".0.0.0",
                  "8221", ".0.0.0",
                  "8222", ".0.0.0",
                  "8223", ".0.0.0",
                  "8224", ".0.0.0",
                  "8225", ".0.0.0",
                  "8226", ".0.0.0",
                  "8227", ".0.0.0",
                  "8228", ".0.0.0",
                  "8229", ".0.0.0",
                  "8230", ".0.0.0",
                  "8231", ".0.0.0",
                  "8232", ".0.0.0",
                  "8233", ".0.0.0",
                  "8234", ".0.0.0",
                  "8235", ".0.0.0",
                  "8236", ".0.0.0",
                  "8237", ".0.0.0",
                  "8238", ".0.0.0",
                  "8239", ".0.0.0",
                  "8240", ".0.0.0",
                  "8241", ".0.0.0",
                  "8242", ".0.0.0",
                  "8243", ".0.0.0",
                  "8244", ".0.0.0",
                  "8245", ".0.0.0",
                  "8246", ".0.0.0",
                  "8247", ".0.0.0",
                  "8248", ".0.0.0",
                  "8249", ".0.0.0",
                  "8250", ".0.0.0",
                  "8251", ".0.0.0",
                  "8252", ".0.0.0",
                  "8253", ".0.0.0",
                  "8254", ".0.0.0",
                  "8255", ".0.0.0",
                  "90", ".0.0.0",
                  "91", ".0.0.0",
                  "92", ".0.0.0",
                  "93", ".0.0.0",
                  "94", ".0.0.0",
                  "95", ".0.0.0",
                  "96", ".0.0.0",
                  "97", ".0.0.0",
                  "98", ".0.0.0",
                  "99", ".0.0.0",
                  "910", ".0.0.0",
                  "911", ".0.0.0",
                  "912", ".0.0.0",
                  "913", ".0.0.0",
                  "914", ".0.0.0",
                  "915", ".0.0.0",
                  "916", ".0.0.0",
                  "917", ".0.0.0",
                  "918", ".0.0.0",
                  "919", ".0.0.0",
                  "920", ".0.0.0",
                  "921", ".0.0.0",
                  "922", ".0.0.0",
                  "923", ".0.0.0",
                  "924", ".0.0.0",
                  "925", ".0.0.0",
                  "926", ".0.0.0",
                  "927", ".0.0.0",
                  "928", ".0.0.0",
                  "929", ".0.0.0",
                  "930", ".0.0.0",
                  "931", ".0.0.0",
                  "932", ".0.0.0",
                  "933", ".0.0.0",
                  "934", ".0.0.0",
                  "935", ".0.0.0",
                  "936", ".0.0.0",
                  "937", ".0.0.0",
                  "938", ".0.0.0",
                  "939", ".0.0.0",
                  "940", ".0.0.0",
                  "941", ".0.0.0",
                  "942", ".0.0.0",
                  "943", ".0.0.0",
                  "944", ".0.0.0",
                  "945", ".0.0.0",
                  "946", ".0.0.0",
                  "947", ".0.0.0",
                  "948", ".0.0.0",
                  "949", ".0.0.0",
                  "950", ".0.0.0",
                  "951", ".0.0.0",
                  "952", ".0.0.0",
                  "953", ".0.0.0",
                  "954", ".0.0.0",
                  "955", ".0.0.0",
                  "956", ".0.0.0",
                  "957", ".0.0.0",
                  "958", ".0.0.0",
                  "959", ".0.0.0",
                  "960", ".0.0.0",
                  "961", ".0.0.0",
                  "962", ".0.0.0",
                  "963", ".0.0.0",
                  "964", ".0.0.0",
                  "965", ".0.0.0",
                  "966", ".0.0.0",
                  "967", ".0.0.0",
                  "968", ".0.0.0",
                  "969", ".0.0.0",
                  "970", ".0.0.0",
                  "971", ".0.0.0",
                  "972", ".0.0.0",
                  "973", ".0.0.0",
                  "974", ".0.0.0",
                  "975", ".0.0.0",
                  "976", ".0.0.0",
                  "977", ".0.0.0",
                  "978", ".0.0.0",
                  "979", ".0.0.0",
                  "980", ".0.0.0",
                  "981", ".0.0.0",
                  "982", ".0.0.0",
                  "983", ".0.0.0",
                  "984", ".0.0.0",
                  "985", ".0.0.0",
                  "986", ".0.0.0",
                  "987", ".0.0.0",
                  "988", ".0.0.0",
                  "989", ".0.0.0",
                  "990", ".0.0.0",
                  "991", ".0.0.0",
                  "992", ".0.0.0",
                  "993", ".0.0.0",
                  "994", ".0.0.0",
                  "995", ".0.0.0",
                  "996", ".0.0.0",
                  "997", ".0.0.0",
                  "998", ".0.0.0",
                  "999", ".0.0.0",
                  "9100", ".0.0.0",
                  "9101", ".0.0.0",
                  "9102", ".0.0.0",
                  "9103", ".0.0.0",
                  "9104", ".0.0.0",
                  "9105", ".0.0.0",
                  "9106", ".0.0.0",
                  "9107", ".0.0.0",
                  "9108", ".0.0.0",
                  "9109", ".0.0.0",
                  "9110", ".0.0.0",
                  "9111", ".0.0.0",
                  "9112", ".0.0.0",
                  "9113", ".0.0.0",
                  "9114", ".0.0.0",
                  "9115", ".0.0.0",
                  "9116", ".0.0.0",
                  "9117", ".0.0.0",
                  "9118", ".0.0.0",
                  "9119", ".0.0.0",
                  "9120", ".0.0.0",
                  "9121", ".0.0.0",
                  "9122", ".0.0.0",
                  "9123", ".0.0.0",
                  "9124", ".0.0.0",
                  "9125", ".0.0.0",
                  "9126", ".0.0.0",
                  "9127", ".0.0.0",
                  "9128", ".128.0.0",
                  "9129", ".128.0.0",
                  "9130", ".128.0.0",
                  "9131", ".128.0.0",
                  "9132", ".128.0.0",
                  "9133", ".128.0.0",
                  "9134", ".128.0.0",
                  "9135", ".128.0.0",
                  "9136", ".128.0.0",
                  "9137", ".128.0.0",
                  "9138", ".128.0.0",
                  "9139", ".128.0.0",
                  "9140", ".128.0.0",
                  "9141", ".128.0.0",
                  "9142", ".128.0.0",
                  "9143", ".128.0.0",
                  "9144", ".128.0.0",
                  "9145", ".128.0.0",
                  "9146", ".128.0.0",
                  "9147", ".128.0.0",
                  "9148", ".128.0.0",
                  "9149", ".128.0.0",
                  "9150", ".128.0.0",
                  "9151", ".128.0.0",
                  "9152", ".128.0.0",
                  "9153", ".128.0.0",
                  "9154", ".128.0.0",
                  "9155", ".128.0.0",
                  "9156", ".128.0.0",
                  "9157", ".128.0.0",
                  "9158", ".128.0.0",
                  "9159", ".128.0.0",
                  "9160", ".128.0.0",
                  "9161", ".128.0.0",
                  "9162", ".128.0.0",
                  "9163", ".128.0.0",
                  "9164", ".128.0.0",
                  "9165", ".128.0.0",
                  "9166", ".128.0.0",
                  "9167", ".128.0.0",
                  "9168", ".128.0.0",
                  "9169", ".128.0.0",
                  "9170", ".128.0.0",
                  "9171", ".128.0.0",
                  "9172", ".128.0.0",
                  "9173", ".128.0.0",
                  "9174", ".128.0.0",
                  "9175", ".128.0.0",
                  "9176", ".128.0.0",
                  "9177", ".128.0.0",
                  "9178", ".128.0.0",
                  "9179", ".128.0.0",
                  "9180", ".128.0.0",
                  "9181", ".128.0.0",
                  "9182", ".128.0.0",
                  "9183", ".128.0.0",
                  "9184", ".128.0.0",
                  "9185", ".128.0.0",
                  "9186", ".128.0.0",
                  "9187", ".128.0.0",
                  "9188", ".128.0.0",
                  "9189", ".128.0.0",
                  "9190", ".128.0.0",
                  "9191", ".128.0.0",
                  "9192", ".128.0.0",
                  "9193", ".128.0.0",
                  "9194", ".128.0.0",
                  "9195", ".128.0.0",
                  "9196", ".128.0.0",
                  "9197", ".128.0.0",
                  "9198", ".128.0.0",
                  "9199", ".128.0.0",
                  "9200", ".128.0.0",
                  "9201", ".128.0.0",
                  "9202", ".128.0.0",
                  "9203", ".128.0.0",
                  "9204", ".128.0.0",
                  "9205", ".128.0.0",
                  "9206", ".128.0.0",
                  "9207", ".128.0.0",
                  "9208", ".128.0.0",
                  "9209", ".128.0.0",
                  "9210", ".128.0.0",
                  "9211", ".128.0.0",
                  "9212", ".128.0.0",
                  "9213", ".128.0.0",
                  "9214", ".128.0.0",
                  "9215", ".128.0.0",
                  "9216", ".128.0.0",
                  "9217", ".128.0.0",
                  "9218", ".128.0.0",
                  "9219", ".128.0.0",
                  "9220", ".128.0.0",
                  "9221", ".128.0.0",
                  "9222", ".128.0.0",
                  "9223", ".128.0.0",
                  "9224", ".128.0.0",
                  "9225", ".128.0.0",
                  "9226", ".128.0.0",
                  "9227", ".128.0.0",
                  "9228", ".128.0.0",
                  "9229", ".128.0.0",
                  "9230", ".128.0.0",
                  "9231", ".128.0.0",
                  "9232", ".128.0.0",
                  "9233", ".128.0.0",
                  "9234", ".128.0.0",
                  "9235", ".128.0.0",
                  "9236", ".128.0.0",
                  "9237", ".128.0.0",
                  "9238", ".128.0.0",
                  "9239", ".128.0.0",
                  "9240", ".128.0.0",
                  "9241", ".128.0.0",
                  "9242", ".128.0.0",
                  "9243", ".128.0.0",
                  "9244", ".128.0.0",
                  "9245", ".128.0.0",
                  "9246", ".128.0.0",
                  "9247", ".128.0.0",
                  "9248", ".128.0.0",
                  "9249", ".128.0.0",
                  "9250", ".128.0.0",
                  "9251", ".128.0.0",
                  "9252", ".128.0.0",
                  "9253", ".128.0.0",
                  "9254", ".128.0.0",
                  "9255", ".128.0.0",
                  "100", ".0.0.0",
                  "101", ".0.0.0",
                  "102", ".0.0.0",
                  "103", ".0.0.0",
                  "104", ".0.0.0",
                  "105", ".0.0.0",
                  "106", ".0.0.0",
                  "107", ".0.0.0",
                  "108", ".0.0.0",
                  "109", ".0.0.0",
                  "1010", ".0.0.0",
                  "1011", ".0.0.0",
                  "1012", ".0.0.0",
                  "1013", ".0.0.0",
                  "1014", ".0.0.0",
                  "1015", ".0.0.0",
                  "1016", ".0.0.0",
                  "1017", ".0.0.0",
                  "1018", ".0.0.0",
                  "1019", ".0.0.0",
                  "1020", ".0.0.0",
                  "1021", ".0.0.0",
                  "1022", ".0.0.0",
                  "1023", ".0.0.0",
                  "1024", ".0.0.0",
                  "1025", ".0.0.0",
                  "1026", ".0.0.0",
                  "1027", ".0.0.0",
                  "1028", ".0.0.0",
                  "1029", ".0.0.0",
                  "1030", ".0.0.0",
                  "1031", ".0.0.0",
                  "1032", ".0.0.0",
                  "1033", ".0.0.0",
                  "1034", ".0.0.0",
                  "1035", ".0.0.0",
                  "1036", ".0.0.0",
                  "1037", ".0.0.0",
                  "1038", ".0.0.0",
                  "1039", ".0.0.0",
                  "1040", ".0.0.0",
                  "1041", ".0.0.0",
                  "1042", ".0.0.0",
                  "1043", ".0.0.0",
                  "1044", ".0.0.0",
                  "1045", ".0.0.0",
                  "1046", ".0.0.0",
                  "1047", ".0.0.0",
                  "1048", ".0.0.0",
                  "1049", ".0.0.0",
                  "1050", ".0.0.0",
                  "1051", ".0.0.0",
                  "1052", ".0.0.0",
                  "1053", ".0.0.0",
                  "1054", ".0.0.0",
                  "1055", ".0.0.0",
                  "1056", ".0.0.0",
                  "1057", ".0.0.0",
                  "1058", ".0.0.0",
                  "1059", ".0.0.0",
                  "1060", ".0.0.0",
                  "1061", ".0.0.0",
                  "1062", ".0.0.0",
                  "1063", ".0.0.0",
                  "1064", ".64.0.0",
                  "1065", ".64.0.0",
                  "1066", ".64.0.0",
                  "1067", ".64.0.0",
                  "1068", ".64.0.0",
                  "1069", ".64.0.0",
                  "1070", ".64.0.0",
                  "1071", ".64.0.0",
                  "1072", ".64.0.0",
                  "1073", ".64.0.0",
                  "1074", ".64.0.0",
                  "1075", ".64.0.0",
                  "1076", ".64.0.0",
                  "1077", ".64.0.0",
                  "1078", ".64.0.0",
                  "1079", ".64.0.0",
                  "1080", ".64.0.0",
                  "1081", ".64.0.0",
                  "1082", ".64.0.0",
                  "1083", ".64.0.0",
                  "1084", ".64.0.0",
                  "1085", ".64.0.0",
                  "1086", ".64.0.0",
                  "1087", ".64.0.0",
                  "1088", ".64.0.0",
                  "1089", ".64.0.0",
                  "1090", ".64.0.0",
                  "1091", ".64.0.0",
                  "1092", ".64.0.0",
                  "1093", ".64.0.0",
                  "1094", ".64.0.0",
                  "1095", ".64.0.0",
                  "1096", ".64.0.0",
                  "1097", ".64.0.0",
                  "1098", ".64.0.0",
                  "1099", ".64.0.0",
                  "10100", ".64.0.0",
                  "10101", ".64.0.0",
                  "10102", ".64.0.0",
                  "10103", ".64.0.0",
                  "10104", ".64.0.0",
                  "10105", ".64.0.0",
                  "10106", ".64.0.0",
                  "10107", ".64.0.0",
                  "10108", ".64.0.0",
                  "10109", ".64.0.0",
                  "10110", ".64.0.0",
                  "10111", ".64.0.0",
                  "10112", ".64.0.0",
                  "10113", ".64.0.0",
                  "10114", ".64.0.0",
                  "10115", ".64.0.0",
                  "10116", ".64.0.0",
                  "10117", ".64.0.0",
                  "10118", ".64.0.0",
                  "10119", ".64.0.0",
                  "10120", ".64.0.0",
                  "10121", ".64.0.0",
                  "10122", ".64.0.0",
                  "10123", ".64.0.0",
                  "10124", ".64.0.0",
                  "10125", ".64.0.0",
                  "10126", ".64.0.0",
                  "10127", ".64.0.0",
                  "10128", ".128.0.0",
                  "10129", ".128.0.0",
                  "10130", ".128.0.0",
                  "10131", ".128.0.0",
                  "10132", ".128.0.0",
                  "10133", ".128.0.0",
                  "10134", ".128.0.0",
                  "10135", ".128.0.0",
                  "10136", ".128.0.0",
                  "10137", ".128.0.0",
                  "10138", ".128.0.0",
                  "10139", ".128.0.0",
                  "10140", ".128.0.0",
                  "10141", ".128.0.0",
                  "10142", ".128.0.0",
                  "10143", ".128.0.0",
                  "10144", ".128.0.0",
                  "10145", ".128.0.0",
                  "10146", ".128.0.0",
                  "10147", ".128.0.0",
                  "10148", ".128.0.0",
                  "10149", ".128.0.0",
                  "10150", ".128.0.0",
                  "10151", ".128.0.0",
                  "10152", ".128.0.0",
                  "10153", ".128.0.0",
                  "10154", ".128.0.0",
                  "10155", ".128.0.0",
                  "10156", ".128.0.0",
                  "10157", ".128.0.0",
                  "10158", ".128.0.0",
                  "10159", ".128.0.0",
                  "10160", ".128.0.0",
                  "10161", ".128.0.0",
                  "10162", ".128.0.0",
                  "10163", ".128.0.0",
                  "10164", ".128.0.0",
                  "10165", ".128.0.0",
                  "10166", ".128.0.0",
                  "10167", ".128.0.0",
                  "10168", ".128.0.0",
                  "10169", ".128.0.0",
                  "10170", ".128.0.0",
                  "10171", ".128.0.0",
                  "10172", ".128.0.0",
                  "10173", ".128.0.0",
                  "10174", ".128.0.0",
                  "10175", ".128.0.0",
                  "10176", ".128.0.0",
                  "10177", ".128.0.0",
                  "10178", ".128.0.0",
                  "10179", ".128.0.0",
                  "10180", ".128.0.0",
                  "10181", ".128.0.0",
                  "10182", ".128.0.0",
                  "10183", ".128.0.0",
                  "10184", ".128.0.0",
                  "10185", ".128.0.0",
                  "10186", ".128.0.0",
                  "10187", ".128.0.0",
                  "10188", ".128.0.0",
                  "10189", ".128.0.0",
                  "10190", ".128.0.0",
                  "10191", ".128.0.0",
                  "10192", ".192.0.0",
                  "10193", ".192.0.0",
                  "10194", ".192.0.0",
                  "10195", ".192.0.0",
                  "10196", ".192.0.0",
                  "10197", ".192.0.0",
                  "10198", ".192.0.0",
                  "10199", ".192.0.0",
                  "10200", ".192.0.0",
                  "10201", ".192.0.0",
                  "10202", ".192.0.0",
                  "10203", ".192.0.0",
                  "10204", ".192.0.0",
                  "10205", ".192.0.0",
                  "10206", ".192.0.0",
                  "10207", ".192.0.0",
                  "10208", ".192.0.0",
                  "10209", ".192.0.0",
                  "10210", ".192.0.0",
                  "10211", ".192.0.0",
                  "10212", ".192.0.0",
                  "10213", ".192.0.0",
                  "10214", ".192.0.0",
                  "10215", ".192.0.0",
                  "10216", ".192.0.0",
                  "10217", ".192.0.0",
                  "10218", ".192.0.0",
                  "10219", ".192.0.0",
                  "10220", ".192.0.0",
                  "10221", ".192.0.0",
                  "10222", ".192.0.0",
                  "10223", ".192.0.0",
                  "10224", ".192.0.0",
                  "10225", ".192.0.0",
                  "10226", ".192.0.0",
                  "10227", ".192.0.0",
                  "10228", ".192.0.0",
                  "10229", ".192.0.0",
                  "10230", ".192.0.0",
                  "10231", ".192.0.0",
                  "10232", ".192.0.0",
                  "10233", ".192.0.0",
                  "10234", ".192.0.0",
                  "10235", ".192.0.0",
                  "10236", ".192.0.0",
                  "10237", ".192.0.0",
                  "10238", ".192.0.0",
                  "10239", ".192.0.0",
                  "10240", ".192.0.0",
                  "10241", ".192.0.0",
                  "10242", ".192.0.0",
                  "10243", ".192.0.0",
                  "10244", ".192.0.0",
                  "10245", ".192.0.0",
                  "10246", ".192.0.0",
                  "10247", ".192.0.0",
                  "10248", ".192.0.0",
                  "10249", ".192.0.0",
                  "10250", ".192.0.0",
                  "10251", ".192.0.0",
                  "10252", ".192.0.0",
                  "10253", ".192.0.0",
                  "10254", ".192.0.0",
                  "10255", ".192.0.0",
                  "110", ".0.0.0",
                  "111", ".0.0.0",
                  "112", ".0.0.0",
                  "113", ".0.0.0",
                  "114", ".0.0.0",
                  "115", ".0.0.0",
                  "116", ".0.0.0",
                  "117", ".0.0.0",
                  "118", ".0.0.0",
                  "119", ".0.0.0",
                  "1110", ".0.0.0",
                  "1111", ".0.0.0",
                  "1112", ".0.0.0",
                  "1113", ".0.0.0",
                  "1114", ".0.0.0",
                  "1115", ".0.0.0",
                  "1116", ".0.0.0",
                  "1117", ".0.0.0",
                  "1118", ".0.0.0",
                  "1119", ".0.0.0",
                  "1120", ".0.0.0",
                  "1121", ".0.0.0",
                  "1122", ".0.0.0",
                  "1123", ".0.0.0",
                  "1124", ".0.0.0",
                  "1125", ".0.0.0",
                  "1126", ".0.0.0",
                  "1127", ".0.0.0",
                  "1128", ".0.0.0",
                  "1129", ".0.0.0",
                  "1130", ".0.0.0",
                  "1131", ".0.0.0",
                  "1132", ".32.0.0",
                  "1133", ".32.0.0",
                  "1134", ".32.0.0",
                  "1135", ".32.0.0",
                  "1136", ".32.0.0",
                  "1137", ".32.0.0",
                  "1138", ".32.0.0",
                  "1139", ".32.0.0",
                  "1140", ".32.0.0",
                  "1141", ".32.0.0",
                  "1142", ".32.0.0",
                  "1143", ".32.0.0",
                  "1144", ".32.0.0",
                  "1145", ".32.0.0",
                  "1146", ".32.0.0",
                  "1147", ".32.0.0",
                  "1148", ".32.0.0",
                  "1149", ".32.0.0",
                  "1150", ".32.0.0",
                  "1151", ".32.0.0",
                  "1152", ".32.0.0",
                  "1153", ".32.0.0",
                  "1154", ".32.0.0",
                  "1155", ".32.0.0",
                  "1156", ".32.0.0",
                  "1157", ".32.0.0",
                  "1158", ".32.0.0",
                  "1159", ".32.0.0",
                  "1160", ".32.0.0",
                  "1161", ".32.0.0",
                  "1162", ".32.0.0",
                  "1163", ".32.0.0",
                  "1164", ".64.0.0",
                  "1165", ".64.0.0",
                  "1166", ".64.0.0",
                  "1167", ".64.0.0",
                  "1168", ".64.0.0",
                  "1169", ".64.0.0",
                  "1170", ".64.0.0",
                  "1171", ".64.0.0",
                  "1172", ".64.0.0",
                  "1173", ".64.0.0",
                  "1174", ".64.0.0",
                  "1175", ".64.0.0",
                  "1176", ".64.0.0",
                  "1177", ".64.0.0",
                  "1178", ".64.0.0",
                  "1179", ".64.0.0",
                  "1180", ".64.0.0",
                  "1181", ".64.0.0",
                  "1182", ".64.0.0",
                  "1183", ".64.0.0",
                  "1184", ".64.0.0",
                  "1185", ".64.0.0",
                  "1186", ".64.0.0",
                  "1187", ".64.0.0",
                  "1188", ".64.0.0",
                  "1189", ".64.0.0",
                  "1190", ".64.0.0",
                  "1191", ".64.0.0",
                  "1192", ".64.0.0",
                  "1193", ".64.0.0",
                  "1194", ".64.0.0",
                  "1195", ".64.0.0",
                  "1196", ".96.0.0",
                  "1197", ".96.0.0",
                  "1198", ".96.0.0",
                  "1199", ".96.0.0",
                  "11100", ".96.0.0",
                  "11101", ".96.0.0",
                  "11102", ".96.0.0",
                  "11103", ".96.0.0",
                  "11104", ".96.0.0",
                  "11105", ".96.0.0",
                  "11106", ".96.0.0",
                  "11107", ".96.0.0",
                  "11108", ".96.0.0",
                  "11109", ".96.0.0",
                  "11110", ".96.0.0",
                  "11111", ".96.0.0",
                  "11112", ".96.0.0",
                  "11113", ".96.0.0",
                  "11114", ".96.0.0",
                  "11115", ".96.0.0",
                  "11116", ".96.0.0",
                  "11117", ".96.0.0",
                  "11118", ".96.0.0",
                  "11119", ".96.0.0",
                  "11120", ".96.0.0",
                  "11121", ".96.0.0",
                  "11122", ".96.0.0",
                  "11123", ".96.0.0",
                  "11124", ".96.0.0",
                  "11125", ".96.0.0",
                  "11126", ".96.0.0",
                  "11127", ".96.0.0",
                  "11128", ".128.0.0",
                  "11129", ".128.0.0",
                  "11130", ".128.0.0",
                  "11131", ".128.0.0",
                  "11132", ".128.0.0",
                  "11133", ".128.0.0",
                  "11134", ".128.0.0",
                  "11135", ".128.0.0",
                  "11136", ".128.0.0",
                  "11137", ".128.0.0",
                  "11138", ".128.0.0",
                  "11139", ".128.0.0",
                  "11140", ".128.0.0",
                  "11141", ".128.0.0",
                  "11142", ".128.0.0",
                  "11143", ".128.0.0",
                  "11144", ".128.0.0",
                  "11145", ".128.0.0",
                  "11146", ".128.0.0",
                  "11147", ".128.0.0",
                  "11148", ".128.0.0",
                  "11149", ".128.0.0",
                  "11150", ".128.0.0",
                  "11151", ".128.0.0",
                  "11152", ".128.0.0",
                  "11153", ".128.0.0",
                  "11154", ".128.0.0",
                  "11155", ".128.0.0",
                  "11156", ".128.0.0",
                  "11157", ".128.0.0",
                  "11158", ".128.0.0",
                  "11159", ".128.0.0",
                  "11160", ".160.0.0",
                  "11161", ".160.0.0",
                  "11162", ".160.0.0",
                  "11163", ".160.0.0",
                  "11164", ".160.0.0",
                  "11165", ".160.0.0",
                  "11166", ".160.0.0",
                  "11167", ".160.0.0",
                  "11168", ".160.0.0",
                  "11169", ".160.0.0",
                  "11170", ".160.0.0",
                  "11171", ".160.0.0",
                  "11172", ".160.0.0",
                  "11173", ".160.0.0",
                  "11174", ".160.0.0",
                  "11175", ".160.0.0",
                  "11176", ".160.0.0",
                  "11177", ".160.0.0",
                  "11178", ".160.0.0",
                  "11179", ".160.0.0",
                  "11180", ".160.0.0",
                  "11181", ".160.0.0",
                  "11182", ".160.0.0",
                  "11183", ".160.0.0",
                  "11184", ".160.0.0",
                  "11185", ".160.0.0",
                  "11186", ".160.0.0",
                  "11187", ".160.0.0",
                  "11188", ".160.0.0",
                  "11189", ".160.0.0",
                  "11190", ".160.0.0",
                  "11191", ".160.0.0",
                  "11192", ".192.0.0",
                  "11193", ".192.0.0",
                  "11194", ".192.0.0",
                  "11195", ".192.0.0",
                  "11196", ".192.0.0",
                  "11197", ".192.0.0",
                  "11198", ".192.0.0",
                  "11199", ".192.0.0",
                  "11200", ".192.0.0",
                  "11201", ".192.0.0",
                  "11202", ".192.0.0",
                  "11203", ".192.0.0",
                  "11204", ".192.0.0",
                  "11205", ".192.0.0",
                  "11206", ".192.0.0",
                  "11207", ".192.0.0",
                  "11208", ".192.0.0",
                  "11209", ".192.0.0",
                  "11210", ".192.0.0",
                  "11211", ".192.0.0",
                  "11212", ".192.0.0",
                  "11213", ".192.0.0",
                  "11214", ".192.0.0",
                  "11215", ".192.0.0",
                  "11216", ".192.0.0",
                  "11217", ".192.0.0",
                  "11218", ".192.0.0",
                  "11219", ".192.0.0",
                  "11220", ".192.0.0",
                  "11221", ".192.0.0",
                  "11222", ".192.0.0",
                  "11223", ".192.0.0",
                  "11224", ".224.0.0",
                  "11225", ".224.0.0",
                  "11226", ".224.0.0",
                  "11227", ".224.0.0",
                  "11228", ".224.0.0",
                  "11229", ".224.0.0",
                  "11230", ".224.0.0",
                  "11231", ".224.0.0",
                  "11232", ".224.0.0",
                  "11233", ".224.0.0",
                  "11234", ".224.0.0",
                  "11235", ".224.0.0",
                  "11236", ".224.0.0",
                  "11237", ".224.0.0",
                  "11238", ".224.0.0",
                  "11239", ".224.0.0",
                  "11240", ".224.0.0",
                  "11241", ".224.0.0",
                  "11242", ".224.0.0",
                  "11243", ".224.0.0",
                  "11244", ".224.0.0",
                  "11245", ".224.0.0",
                  "11246", ".224.0.0",
                  "11247", ".224.0.0",
                  "11248", ".224.0.0",
                  "11249", ".224.0.0",
                  "11250", ".224.0.0",
                  "11251", ".224.0.0",
                  "11252", ".224.0.0",
                  "11253", ".224.0.0",
                  "11254", ".224.0.0",
                  "11255", ".224.0.0",
                  "120", ".0.0.0",
                  "121", ".0.0.0",
                  "122", ".0.0.0",
                  "123", ".0.0.0",
                  "124", ".0.0.0",
                  "125", ".0.0.0",
                  "126", ".0.0.0",
                  "127", ".0.0.0",
                  "128", ".0.0.0",
                  "129", ".0.0.0",
                  "1210", ".0.0.0",
                  "1211", ".0.0.0",
                  "1212", ".0.0.0",
                  "1213", ".0.0.0",
                  "1214", ".0.0.0",
                  "1215", ".0.0.0",
                  "1216", ".16.0.0",
                  "1217", ".16.0.0",
                  "1218", ".16.0.0",
                  "1219", ".16.0.0",
                  "1220", ".16.0.0",
                  "1221", ".16.0.0",
                  "1222", ".16.0.0",
                  "1223", ".16.0.0",
                  "1224", ".16.0.0",
                  "1225", ".16.0.0",
                  "1226", ".16.0.0",
                  "1227", ".16.0.0",
                  "1228", ".16.0.0",
                  "1229", ".16.0.0",
                  "1230", ".16.0.0",
                  "1231", ".16.0.0",
                  "1232", ".32.0.0",
                  "1233", ".32.0.0",
                  "1234", ".32.0.0",
                  "1235", ".32.0.0",
                  "1236", ".32.0.0",
                  "1237", ".32.0.0",
                  "1238", ".32.0.0",
                  "1239", ".32.0.0",
                  "1240", ".32.0.0",
                  "1241", ".32.0.0",
                  "1242", ".32.0.0",
                  "1243", ".32.0.0",
                  "1244", ".32.0.0",
                  "1245", ".32.0.0",
                  "1246", ".32.0.0",
                  "1247", ".32.0.0",
                  "1248", ".48.0.0",
                  "1249", ".48.0.0",
                  "1250", ".48.0.0",
                  "1251", ".48.0.0",
                  "1252", ".48.0.0",
                  "1253", ".48.0.0",
                  "1254", ".48.0.0",
                  "1255", ".48.0.0",
                  "1256", ".48.0.0",
                  "1257", ".48.0.0",
                  "1258", ".48.0.0",
                  "1259", ".48.0.0",
                  "1260", ".48.0.0",
                  "1261", ".48.0.0",
                  "1262", ".48.0.0",
                  "1263", ".48.0.0",
                  "1264", ".64.0.0",
                  "1265", ".64.0.0",
                  "1266", ".64.0.0",
                  "1267", ".64.0.0",
                  "1268", ".64.0.0",
                  "1269", ".64.0.0",
                  "1270", ".64.0.0",
                  "1271", ".64.0.0",
                  "1272", ".64.0.0",
                  "1273", ".64.0.0",
                  "1274", ".64.0.0",
                  "1275", ".64.0.0",
                  "1276", ".64.0.0",
                  "1277", ".64.0.0",
                  "1278", ".64.0.0",
                  "1279", ".64.0.0",
                  "1280", ".80.0.0",
                  "1281", ".80.0.0",
                  "1282", ".80.0.0",
                  "1283", ".80.0.0",
                  "1284", ".80.0.0",
                  "1285", ".80.0.0",
                  "1286", ".80.0.0",
                  "1287", ".80.0.0",
                  "1288", ".80.0.0",
                  "1289", ".80.0.0",
                  "1290", ".80.0.0",
                  "1291", ".80.0.0",
                  "1292", ".80.0.0",
                  "1293", ".80.0.0",
                  "1294", ".80.0.0",
                  "1295", ".80.0.0",
                  "1296", ".96.0.0",
                  "1297", ".96.0.0",
                  "1298", ".96.0.0",
                  "1299", ".96.0.0",
                  "12100", ".96.0.0",
                  "12101", ".96.0.0",
                  "12102", ".96.0.0",
                  "12103", ".96.0.0",
                  "12104", ".96.0.0",
                  "12105", ".96.0.0",
                  "12106", ".96.0.0",
                  "12107", ".96.0.0",
                  "12108", ".96.0.0",
                  "12109", ".96.0.0",
                  "12110", ".96.0.0",
                  "12111", ".96.0.0",
                  "12112", ".112.0.0",
                  "12113", ".112.0.0",
                  "12114", ".112.0.0",
                  "12115", ".112.0.0",
                  "12116", ".112.0.0",
                  "12117", ".112.0.0",
                  "12118", ".112.0.0",
                  "12119", ".112.0.0",
                  "12120", ".112.0.0",
                  "12121", ".112.0.0",
                  "12122", ".112.0.0",
                  "12123", ".112.0.0",
                  "12124", ".112.0.0",
                  "12125", ".112.0.0",
                  "12126", ".112.0.0",
                  "12127", ".112.0.0",
                  "12128", ".128.0.0",
                  "12129", ".128.0.0",
                  "12130", ".128.0.0",
                  "12131", ".128.0.0",
                  "12132", ".128.0.0",
                  "12133", ".128.0.0",
                  "12134", ".128.0.0",
                  "12135", ".128.0.0",
                  "12136", ".128.0.0",
                  "12137", ".128.0.0",
                  "12138", ".128.0.0",
                  "12139", ".128.0.0",
                  "12140", ".128.0.0",
                  "12141", ".128.0.0",
                  "12142", ".128.0.0",
                  "12143", ".128.0.0",
                  "12144", ".144.0.0",
                  "12145", ".144.0.0",
                  "12146", ".144.0.0",
                  "12147", ".144.0.0",
                  "12148", ".144.0.0",
                  "12149", ".144.0.0",
                  "12150", ".144.0.0",
                  "12151", ".144.0.0",
                  "12152", ".144.0.0",
                  "12153", ".144.0.0",
                  "12154", ".144.0.0",
                  "12155", ".144.0.0",
                  "12156", ".144.0.0",
                  "12157", ".144.0.0",
                  "12158", ".144.0.0",
                  "12159", ".144.0.0",
                  "12160", ".160.0.0",
                  "12161", ".160.0.0",
                  "12162", ".160.0.0",
                  "12163", ".160.0.0",
                  "12164", ".160.0.0",
                  "12165", ".160.0.0",
                  "12166", ".160.0.0",
                  "12167", ".160.0.0",
                  "12168", ".160.0.0",
                  "12169", ".160.0.0",
                  "12170", ".160.0.0",
                  "12171", ".160.0.0",
                  "12172", ".160.0.0",
                  "12173", ".160.0.0",
                  "12174", ".160.0.0",
                  "12175", ".160.0.0",
                  "12176", ".176.0.0",
                  "12177", ".176.0.0",
                  "12178", ".176.0.0",
                  "12179", ".176.0.0",
                  "12180", ".176.0.0",
                  "12181", ".176.0.0",
                  "12182", ".176.0.0",
                  "12183", ".176.0.0",
                  "12184", ".176.0.0",
                  "12185", ".176.0.0",
                  "12186", ".176.0.0",
                  "12187", ".176.0.0",
                  "12188", ".176.0.0",
                  "12189", ".176.0.0",
                  "12190", ".176.0.0",
                  "12191", ".176.0.0",
                  "12192", ".192.0.0",
                  "12193", ".192.0.0",
                  "12194", ".192.0.0",
                  "12195", ".192.0.0",
                  "12196", ".192.0.0",
                  "12197", ".192.0.0",
                  "12198", ".192.0.0",
                  "12199", ".192.0.0",
                  "12200", ".192.0.0",
                  "12201", ".192.0.0",
                  "12202", ".192.0.0",
                  "12203", ".192.0.0",
                  "12204", ".192.0.0",
                  "12205", ".192.0.0",
                  "12206", ".192.0.0",
                  "12207", ".192.0.0",
                  "12208", ".208.0.0",
                  "12209", ".208.0.0",
                  "12210", ".208.0.0",
                  "12211", ".208.0.0",
                  "12212", ".208.0.0",
                  "12213", ".208.0.0",
                  "12214", ".208.0.0",
                  "12215", ".208.0.0",
                  "12216", ".208.0.0",
                  "12217", ".208.0.0",
                  "12218", ".208.0.0",
                  "12219", ".208.0.0",
                  "12220", ".208.0.0",
                  "12221", ".208.0.0",
                  "12222", ".208.0.0",
                  "12223", ".208.0.0",
                  "12224", ".224.0.0",
                  "12225", ".224.0.0",
                  "12226", ".224.0.0",
                  "12227", ".224.0.0",
                  "12228", ".224.0.0",
                  "12229", ".224.0.0",
                  "12230", ".224.0.0",
                  "12231", ".224.0.0",
                  "12232", ".224.0.0",
                  "12233", ".224.0.0",
                  "12234", ".224.0.0",
                  "12235", ".224.0.0",
                  "12236", ".224.0.0",
                  "12237", ".224.0.0",
                  "12238", ".224.0.0",
                  "12239", ".224.0.0",
                  "12240", ".240.0.0",
                  "12241", ".240.0.0",
                  "12242", ".240.0.0",
                  "12243", ".240.0.0",
                  "12244", ".240.0.0",
                  "12245", ".240.0.0",
                  "12246", ".240.0.0",
                  "12247", ".240.0.0",
                  "12248", ".240.0.0",
                  "12249", ".240.0.0",
                  "12250", ".240.0.0",
                  "12251", ".240.0.0",
                  "12252", ".240.0.0",
                  "12253", ".240.0.0",
                  "12254", ".240.0.0",
                  "12255", ".240.0.0",
                  "130", ".0.0.0",
                  "131", ".0.0.0",
                  "132", ".0.0.0",
                  "133", ".0.0.0",
                  "134", ".0.0.0",
                  "135", ".0.0.0",
                  "136", ".0.0.0",
                  "137", ".0.0.0",
                  "138", ".8.0.0",
                  "139", ".8.0.0",
                  "1310", ".8.0.0",
                  "1311", ".8.0.0",
                  "1312", ".8.0.0",
                  "1313", ".8.0.0",
                  "1314", ".8.0.0",
                  "1315", ".8.0.0",
                  "1316", ".16.0.0",
                  "1317", ".16.0.0",
                  "1318", ".16.0.0",
                  "1319", ".16.0.0",
                  "1320", ".16.0.0",
                  "1321", ".16.0.0",
                  "1322", ".16.0.0",
                  "1323", ".16.0.0",
                  "1324", ".24.0.0",
                  "1325", ".24.0.0",
                  "1326", ".24.0.0",
                  "1327", ".24.0.0",
                  "1328", ".24.0.0",
                  "1329", ".24.0.0",
                  "1330", ".24.0.0",
                  "1331", ".24.0.0",
                  "1332", ".32.0.0",
                  "1333", ".32.0.0",
                  "1334", ".32.0.0",
                  "1335", ".32.0.0",
                  "1336", ".32.0.0",
                  "1337", ".32.0.0",
                  "1338", ".32.0.0",
                  "1339", ".32.0.0",
                  "1340", ".40.0.0",
                  "1341", ".40.0.0",
                  "1342", ".40.0.0",
                  "1343", ".40.0.0",
                  "1344", ".40.0.0",
                  "1345", ".40.0.0",
                  "1346", ".40.0.0",
                  "1347", ".40.0.0",
                  "1348", ".48.0.0",
                  "1349", ".48.0.0",
                  "1350", ".48.0.0",
                  "1351", ".48.0.0",
                  "1352", ".48.0.0",
                  "1353", ".48.0.0",
                  "1354", ".48.0.0",
                  "1355", ".48.0.0",
                  "1356", ".56.0.0",
                  "1357", ".56.0.0",
                  "1358", ".56.0.0",
                  "1359", ".56.0.0",
                  "1360", ".56.0.0",
                  "1361", ".56.0.0",
                  "1362", ".56.0.0",
                  "1363", ".56.0.0",
                  "1364", ".64.0.0",
                  "1365", ".64.0.0",
                  "1366", ".64.0.0",
                  "1367", ".64.0.0",
                  "1368", ".64.0.0",
                  "1369", ".64.0.0",
                  "1370", ".64.0.0",
                  "1371", ".64.0.0",
                  "1372", ".72.0.0",
                  "1373", ".72.0.0",
                  "1374", ".72.0.0",
                  "1375", ".72.0.0",
                  "1376", ".72.0.0",
                  "1377", ".72.0.0",
                  "1378", ".72.0.0",
                  "1379", ".72.0.0",
                  "1380", ".80.0.0",
                  "1381", ".80.0.0",
                  "1382", ".80.0.0",
                  "1383", ".80.0.0",
                  "1384", ".80.0.0",
                  "1385", ".80.0.0",
                  "1386", ".80.0.0",
                  "1387", ".80.0.0",
                  "1388", ".88.0.0",
                  "1389", ".88.0.0",
                  "1390", ".88.0.0",
                  "1391", ".88.0.0",
                  "1392", ".88.0.0",
                  "1393", ".88.0.0",
                  "1394", ".88.0.0",
                  "1395", ".88.0.0",
                  "1396", ".96.0.0",
                  "1397", ".96.0.0",
                  "1398", ".96.0.0",
                  "1399", ".96.0.0",
                  "13100", ".96.0.0",
                  "13101", ".96.0.0",
                  "13102", ".96.0.0",
                  "13103", ".96.0.0",
                  "13104", ".104.0.0",
                  "13105", ".104.0.0",
                  "13106", ".104.0.0",
                  "13107", ".104.0.0",
                  "13108", ".104.0.0",
                  "13109", ".104.0.0",
                  "13110", ".104.0.0",
                  "13111", ".104.0.0",
                  "13112", ".112.0.0",
                  "13113", ".112.0.0",
                  "13114", ".112.0.0",
                  "13115", ".112.0.0",
                  "13116", ".112.0.0",
                  "13117", ".112.0.0",
                  "13118", ".112.0.0",
                  "13119", ".112.0.0",
                  "13120", ".120.0.0",
                  "13121", ".120.0.0",
                  "13122", ".120.0.0",
                  "13123", ".120.0.0",
                  "13124", ".120.0.0",
                  "13125", ".120.0.0",
                  "13126", ".120.0.0",
                  "13127", ".120.0.0",
                  "13128", ".128.0.0",
                  "13129", ".128.0.0",
                  "13130", ".128.0.0",
                  "13131", ".128.0.0",
                  "13132", ".128.0.0",
                  "13133", ".128.0.0",
                  "13134", ".128.0.0",
                  "13135", ".128.0.0",
                  "13136", ".136.0.0",
                  "13137", ".136.0.0",
                  "13138", ".136.0.0",
                  "13139", ".136.0.0",
                  "13140", ".136.0.0",
                  "13141", ".136.0.0",
                  "13142", ".136.0.0",
                  "13143", ".136.0.0",
                  "13144", ".144.0.0",
                  "13145", ".144.0.0",
                  "13146", ".144.0.0",
                  "13147", ".144.0.0",
                  "13148", ".144.0.0",
                  "13149", ".144.0.0",
                  "13150", ".144.0.0",
                  "13151", ".144.0.0",
                  "13152", ".152.0.0",
                  "13153", ".152.0.0",
                  "13154", ".152.0.0",
                  "13155", ".152.0.0",
                  "13156", ".152.0.0",
                  "13157", ".152.0.0",
                  "13158", ".152.0.0",
                  "13159", ".152.0.0",
                  "13160", ".160.0.0",
                  "13161", ".160.0.0",
                  "13162", ".160.0.0",
                  "13163", ".160.0.0",
                  "13164", ".160.0.0",
                  "13165", ".160.0.0",
                  "13166", ".160.0.0",
                  "13167", ".160.0.0",
                  "13168", ".168.0.0",
                  "13169", ".168.0.0",
                  "13170", ".168.0.0",
                  "13171", ".168.0.0",
                  "13172", ".168.0.0",
                  "13173", ".168.0.0",
                  "13174", ".168.0.0",
                  "13175", ".168.0.0",
                  "13176", ".176.0.0",
                  "13177", ".176.0.0",
                  "13178", ".176.0.0",
                  "13179", ".176.0.0",
                  "13180", ".176.0.0",
                  "13181", ".176.0.0",
                  "13182", ".176.0.0",
                  "13183", ".176.0.0",
                  "13184", ".184.0.0",
                  "13185", ".184.0.0",
                  "13186", ".184.0.0",
                  "13187", ".184.0.0",
                  "13188", ".184.0.0",
                  "13189", ".184.0.0",
                  "13190", ".184.0.0",
                  "13191", ".184.0.0",
                  "13192", ".192.0.0",
                  "13193", ".192.0.0",
                  "13194", ".192.0.0",
                  "13195", ".192.0.0",
                  "13196", ".192.0.0",
                  "13197", ".192.0.0",
                  "13198", ".192.0.0",
                  "13199", ".192.0.0",
                  "13200", ".200.0.0",
                  "13201", ".200.0.0",
                  "13202", ".200.0.0",
                  "13203", ".200.0.0",
                  "13204", ".200.0.0",
                  "13205", ".200.0.0",
                  "13206", ".200.0.0",
                  "13207", ".200.0.0",
                  "13208", ".208.0.0",
                  "13209", ".208.0.0",
                  "13210", ".208.0.0",
                  "13211", ".208.0.0",
                  "13212", ".208.0.0",
                  "13213", ".208.0.0",
                  "13214", ".208.0.0",
                  "13215", ".208.0.0",
                  "13216", ".216.0.0",
                  "13217", ".216.0.0",
                  "13218", ".216.0.0",
                  "13219", ".216.0.0",
                  "13220", ".216.0.0",
                  "13221", ".216.0.0",
                  "13222", ".216.0.0",
                  "13223", ".216.0.0",
                  "13224", ".224.0.0",
                  "13225", ".224.0.0",
                  "13226", ".224.0.0",
                  "13227", ".224.0.0",
                  "13228", ".224.0.0",
                  "13229", ".224.0.0",
                  "13230", ".224.0.0",
                  "13231", ".224.0.0",
                  "13232", ".232.0.0",
                  "13233", ".232.0.0",
                  "13234", ".232.0.0",
                  "13235", ".232.0.0",
                  "13236", ".232.0.0",
                  "13237", ".232.0.0",
                  "13238", ".232.0.0",
                  "13239", ".232.0.0",
                  "13240", ".240.0.0",
                  "13241", ".240.0.0",
                  "13242", ".240.0.0",
                  "13243", ".240.0.0",
                  "13244", ".240.0.0",
                  "13245", ".240.0.0",
                  "13246", ".240.0.0",
                  "13247", ".240.0.0",
                  "13248", ".248.0.0",
                  "13249", ".248.0.0",
                  "13250", ".248.0.0",
                  "13251", ".248.0.0",
                  "13252", ".248.0.0",
                  "13253", ".248.0.0",
                  "13254", ".248.0.0",
                  "13255", ".248.0.0",
                  "140", ".0.0.0",
                  "141", ".0.0.0",
                  "142", ".0.0.0",
                  "143", ".0.0.0",
                  "144", ".4.0.0",
                  "145", ".4.0.0",
                  "146", ".4.0.0",
                  "147", ".4.0.0",
                  "148", ".8.0.0",
                  "149", ".8.0.0",
                  "1410", ".8.0.0",
                  "1411", ".8.0.0",
                  "1412", ".12.0.0",
                  "1413", ".12.0.0",
                  "1414", ".12.0.0",
                  "1415", ".12.0.0",
                  "1416", ".16.0.0",
                  "1417", ".16.0.0",
                  "1418", ".16.0.0",
                  "1419", ".16.0.0",
                  "1420", ".20.0.0",
                  "1421", ".20.0.0",
                  "1422", ".20.0.0",
                  "1423", ".20.0.0",
                  "1424", ".24.0.0",
                  "1425", ".24.0.0",
                  "1426", ".24.0.0",
                  "1427", ".24.0.0",
                  "1428", ".28.0.0",
                  "1429", ".28.0.0",
                  "1430", ".28.0.0",
                  "1431", ".28.0.0",
                  "1432", ".32.0.0",
                  "1433", ".32.0.0",
                  "1434", ".32.0.0",
                  "1435", ".32.0.0",
                  "1436", ".36.0.0",
                  "1437", ".36.0.0",
                  "1438", ".36.0.0",
                  "1439", ".36.0.0",
                  "1440", ".40.0.0",
                  "1441", ".40.0.0",
                  "1442", ".40.0.0",
                  "1443", ".40.0.0",
                  "1444", ".44.0.0",
                  "1445", ".44.0.0",
                  "1446", ".44.0.0",
                  "1447", ".44.0.0",
                  "1448", ".48.0.0",
                  "1449", ".48.0.0",
                  "1450", ".48.0.0",
                  "1451", ".48.0.0",
                  "1452", ".52.0.0",
                  "1453", ".52.0.0",
                  "1454", ".52.0.0",
                  "1455", ".52.0.0",
                  "1456", ".56.0.0",
                  "1457", ".56.0.0",
                  "1458", ".56.0.0",
                  "1459", ".56.0.0",
                  "1460", ".60.0.0",
                  "1461", ".60.0.0",
                  "1462", ".60.0.0",
                  "1463", ".60.0.0",
                  "1464", ".64.0.0",
                  "1465", ".64.0.0",
                  "1466", ".64.0.0",
                  "1467", ".64.0.0",
                  "1468", ".68.0.0",
                  "1469", ".68.0.0",
                  "1470", ".68.0.0",
                  "1471", ".68.0.0",
                  "1472", ".72.0.0",
                  "1473", ".72.0.0",
                  "1474", ".72.0.0",
                  "1475", ".72.0.0",
                  "1476", ".76.0.0",
                  "1477", ".76.0.0",
                  "1478", ".76.0.0",
                  "1479", ".76.0.0",
                  "1480", ".80.0.0",
                  "1481", ".80.0.0",
                  "1482", ".80.0.0",
                  "1483", ".80.0.0",
                  "1484", ".84.0.0",
                  "1485", ".84.0.0",
                  "1486", ".84.0.0",
                  "1487", ".84.0.0",
                  "1488", ".88.0.0",
                  "1489", ".88.0.0",
                  "1490", ".88.0.0",
                  "1491", ".88.0.0",
                  "1492", ".92.0.0",
                  "1493", ".92.0.0",
                  "1494", ".92.0.0",
                  "1495", ".92.0.0",
                  "1496", ".96.0.0",
                  "1497", ".96.0.0",
                  "1498", ".96.0.0",
                  "1499", ".96.0.0",
                  "14100", ".100.0.0",
                  "14101", ".100.0.0",
                  "14102", ".100.0.0",
                  "14103", ".100.0.0",
                  "14104", ".104.0.0",
                  "14105", ".104.0.0",
                  "14106", ".104.0.0",
                  "14107", ".104.0.0",
                  "14108", ".108.0.0",
                  "14109", ".108.0.0",
                  "14110", ".108.0.0",
                  "14111", ".108.0.0",
                  "14112", ".112.0.0",
                  "14113", ".112.0.0",
                  "14114", ".112.0.0",
                  "14115", ".112.0.0",
                  "14116", ".116.0.0",
                  "14117", ".116.0.0",
                  "14118", ".116.0.0",
                  "14119", ".116.0.0",
                  "14120", ".120.0.0",
                  "14121", ".120.0.0",
                  "14122", ".120.0.0",
                  "14123", ".120.0.0",
                  "14124", ".124.0.0",
                  "14125", ".124.0.0",
                  "14126", ".124.0.0",
                  "14127", ".124.0.0",
                  "14128", ".128.0.0",
                  "14129", ".128.0.0",
                  "14130", ".128.0.0",
                  "14131", ".128.0.0",
                  "14132", ".132.0.0",
                  "14133", ".132.0.0",
                  "14134", ".132.0.0",
                  "14135", ".132.0.0",
                  "14136", ".136.0.0",
                  "14137", ".136.0.0",
                  "14138", ".136.0.0",
                  "14139", ".136.0.0",
                  "14140", ".140.0.0",
                  "14141", ".140.0.0",
                  "14142", ".140.0.0",
                  "14143", ".140.0.0",
                  "14144", ".144.0.0",
                  "14145", ".144.0.0",
                  "14146", ".144.0.0",
                  "14147", ".144.0.0",
                  "14148", ".148.0.0",
                  "14149", ".148.0.0",
                  "14150", ".148.0.0",
                  "14151", ".148.0.0",
                  "14152", ".152.0.0",
                  "14153", ".152.0.0",
                  "14154", ".152.0.0",
                  "14155", ".152.0.0",
                  "14156", ".156.0.0",
                  "14157", ".156.0.0",
                  "14158", ".156.0.0",
                  "14159", ".156.0.0",
                  "14160", ".160.0.0",
                  "14161", ".160.0.0",
                  "14162", ".160.0.0",
                  "14163", ".160.0.0",
                  "14164", ".164.0.0",
                  "14165", ".164.0.0",
                  "14166", ".164.0.0",
                  "14167", ".164.0.0",
                  "14168", ".168.0.0",
                  "14169", ".168.0.0",
                  "14170", ".168.0.0",
                  "14171", ".168.0.0",
                  "14172", ".172.0.0",
                  "14173", ".172.0.0",
                  "14174", ".172.0.0",
                  "14175", ".172.0.0",
                  "14176", ".176.0.0",
                  "14177", ".176.0.0",
                  "14178", ".176.0.0",
                  "14179", ".176.0.0",
                  "14180", ".180.0.0",
                  "14181", ".180.0.0",
                  "14182", ".180.0.0",
                  "14183", ".180.0.0",
                  "14184", ".184.0.0",
                  "14185", ".184.0.0",
                  "14186", ".184.0.0",
                  "14187", ".184.0.0",
                  "14188", ".188.0.0",
                  "14189", ".188.0.0",
                  "14190", ".188.0.0",
                  "14191", ".188.0.0",
                  "14192", ".192.0.0",
                  "14193", ".192.0.0",
                  "14194", ".192.0.0",
                  "14195", ".192.0.0",
                  "14196", ".196.0.0",
                  "14197", ".196.0.0",
                  "14198", ".196.0.0",
                  "14199", ".196.0.0",
                  "14200", ".200.0.0",
                  "14201", ".200.0.0",
                  "14202", ".200.0.0",
                  "14203", ".200.0.0",
                  "14204", ".204.0.0",
                  "14205", ".204.0.0",
                  "14206", ".204.0.0",
                  "14207", ".204.0.0",
                  "14208", ".208.0.0",
                  "14209", ".208.0.0",
                  "14210", ".208.0.0",
                  "14211", ".208.0.0",
                  "14212", ".212.0.0",
                  "14213", ".212.0.0",
                  "14214", ".212.0.0",
                  "14215", ".212.0.0",
                  "14216", ".216.0.0",
                  "14217", ".216.0.0",
                  "14218", ".216.0.0",
                  "14219", ".216.0.0",
                  "14220", ".220.0.0",
                  "14221", ".220.0.0",
                  "14222", ".220.0.0",
                  "14223", ".220.0.0",
                  "14224", ".224.0.0",
                  "14225", ".224.0.0",
                  "14226", ".224.0.0",
                  "14227", ".224.0.0",
                  "14228", ".228.0.0",
                  "14229", ".228.0.0",
                  "14230", ".228.0.0",
                  "14231", ".228.0.0",
                  "14232", ".232.0.0",
                  "14233", ".232.0.0",
                  "14234", ".232.0.0",
                  "14235", ".232.0.0",
                  "14236", ".236.0.0",
                  "14237", ".236.0.0",
                  "14238", ".236.0.0",
                  "14239", ".236.0.0",
                  "14240", ".240.0.0",
                  "14241", ".240.0.0",
                  "14242", ".240.0.0",
                  "14243", ".240.0.0",
                  "14244", ".244.0.0",
                  "14245", ".244.0.0",
                  "14246", ".244.0.0",
                  "14247", ".244.0.0",
                  "14248", ".248.0.0",
                  "14249", ".248.0.0",
                  "14250", ".248.0.0",
                  "14251", ".248.0.0",
                  "14252", ".252.0.0",
                  "14253", ".252.0.0",
                  "14254", ".252.0.0",
                  "14255", ".252.0.0",
                  "150", ".0.0.0",
                  "151", ".0.0.0",
                  "152", ".2.0.0",
                  "153", ".2.0.0",
                  "154", ".4.0.0",
                  "155", ".4.0.0",
                  "156", ".6.0.0",
                  "157", ".6.0.0",
                  "158", ".8.0.0",
                  "159", ".8.0.0",
                  "1510", ".10.0.0",
                  "1511", ".10.0.0",
                  "1512", ".12.0.0",
                  "1513", ".12.0.0",
                  "1514", ".14.0.0",
                  "1515", ".14.0.0",
                  "1516", ".16.0.0",
                  "1517", ".16.0.0",
                  "1518", ".18.0.0",
                  "1519", ".18.0.0",
                  "1520", ".20.0.0",
                  "1521", ".20.0.0",
                  "1522", ".22.0.0",
                  "1523", ".22.0.0",
                  "1524", ".24.0.0",
                  "1525", ".24.0.0",
                  "1526", ".26.0.0",
                  "1527", ".26.0.0",
                  "1528", ".28.0.0",
                  "1529", ".28.0.0",
                  "1530", ".30.0.0",
                  "1531", ".30.0.0",
                  "1532", ".32.0.0",
                  "1533", ".32.0.0",
                  "1534", ".34.0.0",
                  "1535", ".34.0.0",
                  "1536", ".36.0.0",
                  "1537", ".36.0.0",
                  "1538", ".38.0.0",
                  "1539", ".38.0.0",
                  "1540", ".40.0.0",
                  "1541", ".40.0.0",
                  "1542", ".42.0.0",
                  "1543", ".42.0.0",
                  "1544", ".44.0.0",
                  "1545", ".44.0.0",
                  "1546", ".46.0.0",
                  "1547", ".46.0.0",
                  "1548", ".48.0.0",
                  "1549", ".48.0.0",
                  "1550", ".50.0.0",
                  "1551", ".50.0.0",
                  "1552", ".52.0.0",
                  "1553", ".52.0.0",
                  "1554", ".54.0.0",
                  "1555", ".54.0.0",
                  "1556", ".56.0.0",
                  "1557", ".56.0.0",
                  "1558", ".58.0.0",
                  "1559", ".58.0.0",
                  "1560", ".60.0.0",
                  "1561", ".60.0.0",
                  "1562", ".62.0.0",
                  "1563", ".62.0.0",
                  "1564", ".64.0.0",
                  "1565", ".64.0.0",
                  "1566", ".66.0.0",
                  "1567", ".66.0.0",
                  "1568", ".68.0.0",
                  "1569", ".68.0.0",
                  "1570", ".70.0.0",
                  "1571", ".70.0.0",
                  "1572", ".72.0.0",
                  "1573", ".72.0.0",
                  "1574", ".74.0.0",
                  "1575", ".74.0.0",
                  "1576", ".76.0.0",
                  "1577", ".76.0.0",
                  "1578", ".78.0.0",
                  "1579", ".78.0.0",
                  "1580", ".80.0.0",
                  "1581", ".80.0.0",
                  "1582", ".82.0.0",
                  "1583", ".82.0.0",
                  "1584", ".84.0.0",
                  "1585", ".84.0.0",
                  "1586", ".86.0.0",
                  "1587", ".86.0.0",
                  "1588", ".88.0.0",
                  "1589", ".88.0.0",
                  "1590", ".90.0.0",
                  "1591", ".90.0.0",
                  "1592", ".92.0.0",
                  "1593", ".92.0.0",
                  "1594", ".94.0.0",
                  "1595", ".94.0.0",
                  "1596", ".96.0.0",
                  "1597", ".96.0.0",
                  "1598", ".98.0.0",
                  "1599", ".98.0.0",
                  "15100", ".100.0.0",
                  "15101", ".100.0.0",
                  "15102", ".102.0.0",
                  "15103", ".102.0.0",
                  "15104", ".104.0.0",
                  "15105", ".104.0.0",
                  "15106", ".106.0.0",
                  "15107", ".106.0.0",
                  "15108", ".108.0.0",
                  "15109", ".108.0.0",
                  "15110", ".110.0.0",
                  "15111", ".110.0.0",
                  "15112", ".112.0.0",
                  "15113", ".112.0.0",
                  "15114", ".114.0.0",
                  "15115", ".114.0.0",
                  "15116", ".116.0.0",
                  "15117", ".116.0.0",
                  "15118", ".118.0.0",
                  "15119", ".118.0.0",
                  "15120", ".120.0.0",
                  "15121", ".120.0.0",
                  "15122", ".122.0.0",
                  "15123", ".122.0.0",
                  "15124", ".124.0.0",
                  "15125", ".124.0.0",
                  "15126", ".126.0.0",
                  "15127", ".126.0.0",
                  "15128", ".128.0.0",
                  "15129", ".128.0.0",
                  "15130", ".130.0.0",
                  "15131", ".130.0.0",
                  "15132", ".132.0.0",
                  "15133", ".132.0.0",
                  "15134", ".134.0.0",
                  "15135", ".134.0.0",
                  "15136", ".136.0.0",
                  "15137", ".136.0.0",
                  "15138", ".138.0.0",
                  "15139", ".138.0.0",
                  "15140", ".140.0.0",
                  "15141", ".140.0.0",
                  "15142", ".142.0.0",
                  "15143", ".142.0.0",
                  "15144", ".144.0.0",
                  "15145", ".144.0.0",
                  "15146", ".146.0.0",
                  "15147", ".146.0.0",
                  "15148", ".148.0.0",
                  "15149", ".148.0.0",
                  "15150", ".150.0.0",
                  "15151", ".150.0.0",
                  "15152", ".152.0.0",
                  "15153", ".152.0.0",
                  "15154", ".154.0.0",
                  "15155", ".154.0.0",
                  "15156", ".156.0.0",
                  "15157", ".156.0.0",
                  "15158", ".158.0.0",
                  "15159", ".158.0.0",
                  "15160", ".160.0.0",
                  "15161", ".160.0.0",
                  "15162", ".162.0.0",
                  "15163", ".162.0.0",
                  "15164", ".164.0.0",
                  "15165", ".164.0.0",
                  "15166", ".166.0.0",
                  "15167", ".166.0.0",
                  "15168", ".168.0.0",
                  "15169", ".168.0.0",
                  "15170", ".170.0.0",
                  "15171", ".170.0.0",
                  "15172", ".172.0.0",
                  "15173", ".172.0.0",
                  "15174", ".174.0.0",
                  "15175", ".174.0.0",
                  "15176", ".176.0.0",
                  "15177", ".176.0.0",
                  "15178", ".178.0.0",
                  "15179", ".178.0.0",
                  "15180", ".180.0.0",
                  "15181", ".180.0.0",
                  "15182", ".182.0.0",
                  "15183", ".182.0.0",
                  "15184", ".184.0.0",
                  "15185", ".184.0.0",
                  "15186", ".186.0.0",
                  "15187", ".186.0.0",
                  "15188", ".188.0.0",
                  "15189", ".188.0.0",
                  "15190", ".190.0.0",
                  "15191", ".190.0.0",
                  "15192", ".192.0.0",
                  "15193", ".192.0.0",
                  "15194", ".194.0.0",
                  "15195", ".194.0.0",
                  "15196", ".196.0.0",
                  "15197", ".196.0.0",
                  "15198", ".198.0.0",
                  "15199", ".198.0.0",
                  "15200", ".200.0.0",
                  "15201", ".200.0.0",
                  "15202", ".202.0.0",
                  "15203", ".202.0.0",
                  "15204", ".204.0.0",
                  "15205", ".204.0.0",
                  "15206", ".206.0.0",
                  "15207", ".206.0.0",
                  "15208", ".208.0.0",
                  "15209", ".208.0.0",
                  "15210", ".210.0.0",
                  "15211", ".210.0.0",
                  "15212", ".212.0.0",
                  "15213", ".212.0.0",
                  "15214", ".214.0.0",
                  "15215", ".214.0.0",
                  "15216", ".216.0.0",
                  "15217", ".216.0.0",
                  "15218", ".218.0.0",
                  "15219", ".218.0.0",
                  "15220", ".220.0.0",
                  "15221", ".220.0.0",
                  "15222", ".222.0.0",
                  "15223", ".222.0.0",
                  "15224", ".224.0.0",
                  "15225", ".224.0.0",
                  "15226", ".226.0.0",
                  "15227", ".226.0.0",
                  "15228", ".228.0.0",
                  "15229", ".228.0.0",
                  "15230", ".230.0.0",
                  "15231", ".230.0.0",
                  "15232", ".232.0.0",
                  "15233", ".232.0.0",
                  "15234", ".234.0.0",
                  "15235", ".234.0.0",
                  "15236", ".236.0.0",
                  "15237", ".236.0.0",
                  "15238", ".238.0.0",
                  "15239", ".238.0.0",
                  "15240", ".240.0.0",
                  "15241", ".240.0.0",
                  "15242", ".242.0.0",
                  "15243", ".242.0.0",
                  "15244", ".244.0.0",
                  "15245", ".244.0.0",
                  "15246", ".246.0.0",
                  "15247", ".246.0.0",
                  "15248", ".248.0.0",
                  "15249", ".248.0.0",
                  "15250", ".250.0.0",
                  "15251", ".250.0.0",
                  "15252", ".252.0.0",
                  "15253", ".252.0.0",
                  "15254", ".254.0.0",
                  "15255", ".254.0.0",
);

%IPv4RIGHTMASKS16=(
                  "160", ".0.0",
                  "161", ".0.0",
                  "162", ".0.0",
                  "163", ".0.0",
                  "164", ".0.0",
                  "165", ".0.0",
                  "166", ".0.0",
                  "167", ".0.0",
                  "168", ".0.0",
                  "169", ".0.0",
                  "1610", ".0.0",
                  "1611", ".0.0",
                  "1612", ".0.0",
                  "1613", ".0.0",
                  "1614", ".0.0",
                  "1615", ".0.0",
                  "1616", ".0.0",
                  "1617", ".0.0",
                  "1618", ".0.0",
                  "1619", ".0.0",
                  "1620", ".0.0",
                  "1621", ".0.0",
                  "1622", ".0.0",
                  "1623", ".0.0",
                  "1624", ".0.0",
                  "1625", ".0.0",
                  "1626", ".0.0",
                  "1627", ".0.0",
                  "1628", ".0.0",
                  "1629", ".0.0",
                  "1630", ".0.0",
                  "1631", ".0.0",
                  "1632", ".0.0",
                  "1633", ".0.0",
                  "1634", ".0.0",
                  "1635", ".0.0",
                  "1636", ".0.0",
                  "1637", ".0.0",
                  "1638", ".0.0",
                  "1639", ".0.0",
                  "1640", ".0.0",
                  "1641", ".0.0",
                  "1642", ".0.0",
                  "1643", ".0.0",
                  "1644", ".0.0",
                  "1645", ".0.0",
                  "1646", ".0.0",
                  "1647", ".0.0",
                  "1648", ".0.0",
                  "1649", ".0.0",
                  "1650", ".0.0",
                  "1651", ".0.0",
                  "1652", ".0.0",
                  "1653", ".0.0",
                  "1654", ".0.0",
                  "1655", ".0.0",
                  "1656", ".0.0",
                  "1657", ".0.0",
                  "1658", ".0.0",
                  "1659", ".0.0",
                  "1660", ".0.0",
                  "1661", ".0.0",
                  "1662", ".0.0",
                  "1663", ".0.0",
                  "1664", ".0.0",
                  "1665", ".0.0",
                  "1666", ".0.0",
                  "1667", ".0.0",
                  "1668", ".0.0",
                  "1669", ".0.0",
                  "1670", ".0.0",
                  "1671", ".0.0",
                  "1672", ".0.0",
                  "1673", ".0.0",
                  "1674", ".0.0",
                  "1675", ".0.0",
                  "1676", ".0.0",
                  "1677", ".0.0",
                  "1678", ".0.0",
                  "1679", ".0.0",
                  "1680", ".0.0",
                  "1681", ".0.0",
                  "1682", ".0.0",
                  "1683", ".0.0",
                  "1684", ".0.0",
                  "1685", ".0.0",
                  "1686", ".0.0",
                  "1687", ".0.0",
                  "1688", ".0.0",
                  "1689", ".0.0",
                  "1690", ".0.0",
                  "1691", ".0.0",
                  "1692", ".0.0",
                  "1693", ".0.0",
                  "1694", ".0.0",
                  "1695", ".0.0",
                  "1696", ".0.0",
                  "1697", ".0.0",
                  "1698", ".0.0",
                  "1699", ".0.0",
                  "16100", ".0.0",
                  "16101", ".0.0",
                  "16102", ".0.0",
                  "16103", ".0.0",
                  "16104", ".0.0",
                  "16105", ".0.0",
                  "16106", ".0.0",
                  "16107", ".0.0",
                  "16108", ".0.0",
                  "16109", ".0.0",
                  "16110", ".0.0",
                  "16111", ".0.0",
                  "16112", ".0.0",
                  "16113", ".0.0",
                  "16114", ".0.0",
                  "16115", ".0.0",
                  "16116", ".0.0",
                  "16117", ".0.0",
                  "16118", ".0.0",
                  "16119", ".0.0",
                  "16120", ".0.0",
                  "16121", ".0.0",
                  "16122", ".0.0",
                  "16123", ".0.0",
                  "16124", ".0.0",
                  "16125", ".0.0",
                  "16126", ".0.0",
                  "16127", ".0.0",
                  "16128", ".0.0",
                  "16129", ".0.0",
                  "16130", ".0.0",
                  "16131", ".0.0",
                  "16132", ".0.0",
                  "16133", ".0.0",
                  "16134", ".0.0",
                  "16135", ".0.0",
                  "16136", ".0.0",
                  "16137", ".0.0",
                  "16138", ".0.0",
                  "16139", ".0.0",
                  "16140", ".0.0",
                  "16141", ".0.0",
                  "16142", ".0.0",
                  "16143", ".0.0",
                  "16144", ".0.0",
                  "16145", ".0.0",
                  "16146", ".0.0",
                  "16147", ".0.0",
                  "16148", ".0.0",
                  "16149", ".0.0",
                  "16150", ".0.0",
                  "16151", ".0.0",
                  "16152", ".0.0",
                  "16153", ".0.0",
                  "16154", ".0.0",
                  "16155", ".0.0",
                  "16156", ".0.0",
                  "16157", ".0.0",
                  "16158", ".0.0",
                  "16159", ".0.0",
                  "16160", ".0.0",
                  "16161", ".0.0",
                  "16162", ".0.0",
                  "16163", ".0.0",
                  "16164", ".0.0",
                  "16165", ".0.0",
                  "16166", ".0.0",
                  "16167", ".0.0",
                  "16168", ".0.0",
                  "16169", ".0.0",
                  "16170", ".0.0",
                  "16171", ".0.0",
                  "16172", ".0.0",
                  "16173", ".0.0",
                  "16174", ".0.0",
                  "16175", ".0.0",
                  "16176", ".0.0",
                  "16177", ".0.0",
                  "16178", ".0.0",
                  "16179", ".0.0",
                  "16180", ".0.0",
                  "16181", ".0.0",
                  "16182", ".0.0",
                  "16183", ".0.0",
                  "16184", ".0.0",
                  "16185", ".0.0",
                  "16186", ".0.0",
                  "16187", ".0.0",
                  "16188", ".0.0",
                  "16189", ".0.0",
                  "16190", ".0.0",
                  "16191", ".0.0",
                  "16192", ".0.0",
                  "16193", ".0.0",
                  "16194", ".0.0",
                  "16195", ".0.0",
                  "16196", ".0.0",
                  "16197", ".0.0",
                  "16198", ".0.0",
                  "16199", ".0.0",
                  "16200", ".0.0",
                  "16201", ".0.0",
                  "16202", ".0.0",
                  "16203", ".0.0",
                  "16204", ".0.0",
                  "16205", ".0.0",
                  "16206", ".0.0",
                  "16207", ".0.0",
                  "16208", ".0.0",
                  "16209", ".0.0",
                  "16210", ".0.0",
                  "16211", ".0.0",
                  "16212", ".0.0",
                  "16213", ".0.0",
                  "16214", ".0.0",
                  "16215", ".0.0",
                  "16216", ".0.0",
                  "16217", ".0.0",
                  "16218", ".0.0",
                  "16219", ".0.0",
                  "16220", ".0.0",
                  "16221", ".0.0",
                  "16222", ".0.0",
                  "16223", ".0.0",
                  "16224", ".0.0",
                  "16225", ".0.0",
                  "16226", ".0.0",
                  "16227", ".0.0",
                  "16228", ".0.0",
                  "16229", ".0.0",
                  "16230", ".0.0",
                  "16231", ".0.0",
                  "16232", ".0.0",
                  "16233", ".0.0",
                  "16234", ".0.0",
                  "16235", ".0.0",
                  "16236", ".0.0",
                  "16237", ".0.0",
                  "16238", ".0.0",
                  "16239", ".0.0",
                  "16240", ".0.0",
                  "16241", ".0.0",
                  "16242", ".0.0",
                  "16243", ".0.0",
                  "16244", ".0.0",
                  "16245", ".0.0",
                  "16246", ".0.0",
                  "16247", ".0.0",
                  "16248", ".0.0",
                  "16249", ".0.0",
                  "16250", ".0.0",
                  "16251", ".0.0",
                  "16252", ".0.0",
                  "16253", ".0.0",
                  "16254", ".0.0",
                  "16255", ".0.0",
                  "170", ".0.0",
                  "171", ".0.0",
                  "172", ".0.0",
                  "173", ".0.0",
                  "174", ".0.0",
                  "175", ".0.0",
                  "176", ".0.0",
                  "177", ".0.0",
                  "178", ".0.0",
                  "179", ".0.0",
                  "1710", ".0.0",
                  "1711", ".0.0",
                  "1712", ".0.0",
                  "1713", ".0.0",
                  "1714", ".0.0",
                  "1715", ".0.0",
                  "1716", ".0.0",
                  "1717", ".0.0",
                  "1718", ".0.0",
                  "1719", ".0.0",
                  "1720", ".0.0",
                  "1721", ".0.0",
                  "1722", ".0.0",
                  "1723", ".0.0",
                  "1724", ".0.0",
                  "1725", ".0.0",
                  "1726", ".0.0",
                  "1727", ".0.0",
                  "1728", ".0.0",
                  "1729", ".0.0",
                  "1730", ".0.0",
                  "1731", ".0.0",
                  "1732", ".0.0",
                  "1733", ".0.0",
                  "1734", ".0.0",
                  "1735", ".0.0",
                  "1736", ".0.0",
                  "1737", ".0.0",
                  "1738", ".0.0",
                  "1739", ".0.0",
                  "1740", ".0.0",
                  "1741", ".0.0",
                  "1742", ".0.0",
                  "1743", ".0.0",
                  "1744", ".0.0",
                  "1745", ".0.0",
                  "1746", ".0.0",
                  "1747", ".0.0",
                  "1748", ".0.0",
                  "1749", ".0.0",
                  "1750", ".0.0",
                  "1751", ".0.0",
                  "1752", ".0.0",
                  "1753", ".0.0",
                  "1754", ".0.0",
                  "1755", ".0.0",
                  "1756", ".0.0",
                  "1757", ".0.0",
                  "1758", ".0.0",
                  "1759", ".0.0",
                  "1760", ".0.0",
                  "1761", ".0.0",
                  "1762", ".0.0",
                  "1763", ".0.0",
                  "1764", ".0.0",
                  "1765", ".0.0",
                  "1766", ".0.0",
                  "1767", ".0.0",
                  "1768", ".0.0",
                  "1769", ".0.0",
                  "1770", ".0.0",
                  "1771", ".0.0",
                  "1772", ".0.0",
                  "1773", ".0.0",
                  "1774", ".0.0",
                  "1775", ".0.0",
                  "1776", ".0.0",
                  "1777", ".0.0",
                  "1778", ".0.0",
                  "1779", ".0.0",
                  "1780", ".0.0",
                  "1781", ".0.0",
                  "1782", ".0.0",
                  "1783", ".0.0",
                  "1784", ".0.0",
                  "1785", ".0.0",
                  "1786", ".0.0",
                  "1787", ".0.0",
                  "1788", ".0.0",
                  "1789", ".0.0",
                  "1790", ".0.0",
                  "1791", ".0.0",
                  "1792", ".0.0",
                  "1793", ".0.0",
                  "1794", ".0.0",
                  "1795", ".0.0",
                  "1796", ".0.0",
                  "1797", ".0.0",
                  "1798", ".0.0",
                  "1799", ".0.0",
                  "17100", ".0.0",
                  "17101", ".0.0",
                  "17102", ".0.0",
                  "17103", ".0.0",
                  "17104", ".0.0",
                  "17105", ".0.0",
                  "17106", ".0.0",
                  "17107", ".0.0",
                  "17108", ".0.0",
                  "17109", ".0.0",
                  "17110", ".0.0",
                  "17111", ".0.0",
                  "17112", ".0.0",
                  "17113", ".0.0",
                  "17114", ".0.0",
                  "17115", ".0.0",
                  "17116", ".0.0",
                  "17117", ".0.0",
                  "17118", ".0.0",
                  "17119", ".0.0",
                  "17120", ".0.0",
                  "17121", ".0.0",
                  "17122", ".0.0",
                  "17123", ".0.0",
                  "17124", ".0.0",
                  "17125", ".0.0",
                  "17126", ".0.0",
                  "17127", ".0.0",
                  "17128", ".128.0",
                  "17129", ".128.0",
                  "17130", ".128.0",
                  "17131", ".128.0",
                  "17132", ".128.0",
                  "17133", ".128.0",
                  "17134", ".128.0",
                  "17135", ".128.0",
                  "17136", ".128.0",
                  "17137", ".128.0",
                  "17138", ".128.0",
                  "17139", ".128.0",
                  "17140", ".128.0",
                  "17141", ".128.0",
                  "17142", ".128.0",
                  "17143", ".128.0",
                  "17144", ".128.0",
                  "17145", ".128.0",
                  "17146", ".128.0",
                  "17147", ".128.0",
                  "17148", ".128.0",
                  "17149", ".128.0",
                  "17150", ".128.0",
                  "17151", ".128.0",
                  "17152", ".128.0",
                  "17153", ".128.0",
                  "17154", ".128.0",
                  "17155", ".128.0",
                  "17156", ".128.0",
                  "17157", ".128.0",
                  "17158", ".128.0",
                  "17159", ".128.0",
                  "17160", ".128.0",
                  "17161", ".128.0",
                  "17162", ".128.0",
                  "17163", ".128.0",
                  "17164", ".128.0",
                  "17165", ".128.0",
                  "17166", ".128.0",
                  "17167", ".128.0",
                  "17168", ".128.0",
                  "17169", ".128.0",
                  "17170", ".128.0",
                  "17171", ".128.0",
                  "17172", ".128.0",
                  "17173", ".128.0",
                  "17174", ".128.0",
                  "17175", ".128.0",
                  "17176", ".128.0",
                  "17177", ".128.0",
                  "17178", ".128.0",
                  "17179", ".128.0",
                  "17180", ".128.0",
                  "17181", ".128.0",
                  "17182", ".128.0",
                  "17183", ".128.0",
                  "17184", ".128.0",
                  "17185", ".128.0",
                  "17186", ".128.0",
                  "17187", ".128.0",
                  "17188", ".128.0",
                  "17189", ".128.0",
                  "17190", ".128.0",
                  "17191", ".128.0",
                  "17192", ".128.0",
                  "17193", ".128.0",
                  "17194", ".128.0",
                  "17195", ".128.0",
                  "17196", ".128.0",
                  "17197", ".128.0",
                  "17198", ".128.0",
                  "17199", ".128.0",
                  "17200", ".128.0",
                  "17201", ".128.0",
                  "17202", ".128.0",
                  "17203", ".128.0",
                  "17204", ".128.0",
                  "17205", ".128.0",
                  "17206", ".128.0",
                  "17207", ".128.0",
                  "17208", ".128.0",
                  "17209", ".128.0",
                  "17210", ".128.0",
                  "17211", ".128.0",
                  "17212", ".128.0",
                  "17213", ".128.0",
                  "17214", ".128.0",
                  "17215", ".128.0",
                  "17216", ".128.0",
                  "17217", ".128.0",
                  "17218", ".128.0",
                  "17219", ".128.0",
                  "17220", ".128.0",
                  "17221", ".128.0",
                  "17222", ".128.0",
                  "17223", ".128.0",
                  "17224", ".128.0",
                  "17225", ".128.0",
                  "17226", ".128.0",
                  "17227", ".128.0",
                  "17228", ".128.0",
                  "17229", ".128.0",
                  "17230", ".128.0",
                  "17231", ".128.0",
                  "17232", ".128.0",
                  "17233", ".128.0",
                  "17234", ".128.0",
                  "17235", ".128.0",
                  "17236", ".128.0",
                  "17237", ".128.0",
                  "17238", ".128.0",
                  "17239", ".128.0",
                  "17240", ".128.0",
                  "17241", ".128.0",
                  "17242", ".128.0",
                  "17243", ".128.0",
                  "17244", ".128.0",
                  "17245", ".128.0",
                  "17246", ".128.0",
                  "17247", ".128.0",
                  "17248", ".128.0",
                  "17249", ".128.0",
                  "17250", ".128.0",
                  "17251", ".128.0",
                  "17252", ".128.0",
                  "17253", ".128.0",
                  "17254", ".128.0",
                  "17255", ".128.0",
                  "180", ".0.0",
                  "181", ".0.0",
                  "182", ".0.0",
                  "183", ".0.0",
                  "184", ".0.0",
                  "185", ".0.0",
                  "186", ".0.0",
                  "187", ".0.0",
                  "188", ".0.0",
                  "189", ".0.0",
                  "1810", ".0.0",
                  "1811", ".0.0",
                  "1812", ".0.0",
                  "1813", ".0.0",
                  "1814", ".0.0",
                  "1815", ".0.0",
                  "1816", ".0.0",
                  "1817", ".0.0",
                  "1818", ".0.0",
                  "1819", ".0.0",
                  "1820", ".0.0",
                  "1821", ".0.0",
                  "1822", ".0.0",
                  "1823", ".0.0",
                  "1824", ".0.0",
                  "1825", ".0.0",
                  "1826", ".0.0",
                  "1827", ".0.0",
                  "1828", ".0.0",
                  "1829", ".0.0",
                  "1830", ".0.0",
                  "1831", ".0.0",
                  "1832", ".0.0",
                  "1833", ".0.0",
                  "1834", ".0.0",
                  "1835", ".0.0",
                  "1836", ".0.0",
                  "1837", ".0.0",
                  "1838", ".0.0",
                  "1839", ".0.0",
                  "1840", ".0.0",
                  "1841", ".0.0",
                  "1842", ".0.0",
                  "1843", ".0.0",
                  "1844", ".0.0",
                  "1845", ".0.0",
                  "1846", ".0.0",
                  "1847", ".0.0",
                  "1848", ".0.0",
                  "1849", ".0.0",
                  "1850", ".0.0",
                  "1851", ".0.0",
                  "1852", ".0.0",
                  "1853", ".0.0",
                  "1854", ".0.0",
                  "1855", ".0.0",
                  "1856", ".0.0",
                  "1857", ".0.0",
                  "1858", ".0.0",
                  "1859", ".0.0",
                  "1860", ".0.0",
                  "1861", ".0.0",
                  "1862", ".0.0",
                  "1863", ".0.0",
                  "1864", ".64.0",
                  "1865", ".64.0",
                  "1866", ".64.0",
                  "1867", ".64.0",
                  "1868", ".64.0",
                  "1869", ".64.0",
                  "1870", ".64.0",
                  "1871", ".64.0",
                  "1872", ".64.0",
                  "1873", ".64.0",
                  "1874", ".64.0",
                  "1875", ".64.0",
                  "1876", ".64.0",
                  "1877", ".64.0",
                  "1878", ".64.0",
                  "1879", ".64.0",
                  "1880", ".64.0",
                  "1881", ".64.0",
                  "1882", ".64.0",
                  "1883", ".64.0",
                  "1884", ".64.0",
                  "1885", ".64.0",
                  "1886", ".64.0",
                  "1887", ".64.0",
                  "1888", ".64.0",
                  "1889", ".64.0",
                  "1890", ".64.0",
                  "1891", ".64.0",
                  "1892", ".64.0",
                  "1893", ".64.0",
                  "1894", ".64.0",
                  "1895", ".64.0",
                  "1896", ".64.0",
                  "1897", ".64.0",
                  "1898", ".64.0",
                  "1899", ".64.0",
                  "18100", ".64.0",
                  "18101", ".64.0",
                  "18102", ".64.0",
                  "18103", ".64.0",
                  "18104", ".64.0",
                  "18105", ".64.0",
                  "18106", ".64.0",
                  "18107", ".64.0",
                  "18108", ".64.0",
                  "18109", ".64.0",
                  "18110", ".64.0",
                  "18111", ".64.0",
                  "18112", ".64.0",
                  "18113", ".64.0",
                  "18114", ".64.0",
                  "18115", ".64.0",
                  "18116", ".64.0",
                  "18117", ".64.0",
                  "18118", ".64.0",
                  "18119", ".64.0",
                  "18120", ".64.0",
                  "18121", ".64.0",
                  "18122", ".64.0",
                  "18123", ".64.0",
                  "18124", ".64.0",
                  "18125", ".64.0",
                  "18126", ".64.0",
                  "18127", ".64.0",
                  "18128", ".128.0",
                  "18129", ".128.0",
                  "18130", ".128.0",
                  "18131", ".128.0",
                  "18132", ".128.0",
                  "18133", ".128.0",
                  "18134", ".128.0",
                  "18135", ".128.0",
                  "18136", ".128.0",
                  "18137", ".128.0",
                  "18138", ".128.0",
                  "18139", ".128.0",
                  "18140", ".128.0",
                  "18141", ".128.0",
                  "18142", ".128.0",
                  "18143", ".128.0",
                  "18144", ".128.0",
                  "18145", ".128.0",
                  "18146", ".128.0",
                  "18147", ".128.0",
                  "18148", ".128.0",
                  "18149", ".128.0",
                  "18150", ".128.0",
                  "18151", ".128.0",
                  "18152", ".128.0",
                  "18153", ".128.0",
                  "18154", ".128.0",
                  "18155", ".128.0",
                  "18156", ".128.0",
                  "18157", ".128.0",
                  "18158", ".128.0",
                  "18159", ".128.0",
                  "18160", ".128.0",
                  "18161", ".128.0",
                  "18162", ".128.0",
                  "18163", ".128.0",
                  "18164", ".128.0",
                  "18165", ".128.0",
                  "18166", ".128.0",
                  "18167", ".128.0",
                  "18168", ".128.0",
                  "18169", ".128.0",
                  "18170", ".128.0",
                  "18171", ".128.0",
                  "18172", ".128.0",
                  "18173", ".128.0",
                  "18174", ".128.0",
                  "18175", ".128.0",
                  "18176", ".128.0",
                  "18177", ".128.0",
                  "18178", ".128.0",
                  "18179", ".128.0",
                  "18180", ".128.0",
                  "18181", ".128.0",
                  "18182", ".128.0",
                  "18183", ".128.0",
                  "18184", ".128.0",
                  "18185", ".128.0",
                  "18186", ".128.0",
                  "18187", ".128.0",
                  "18188", ".128.0",
                  "18189", ".128.0",
                  "18190", ".128.0",
                  "18191", ".128.0",
                  "18192", ".192.0",
                  "18193", ".192.0",
                  "18194", ".192.0",
                  "18195", ".192.0",
                  "18196", ".192.0",
                  "18197", ".192.0",
                  "18198", ".192.0",
                  "18199", ".192.0",
                  "18200", ".192.0",
                  "18201", ".192.0",
                  "18202", ".192.0",
                  "18203", ".192.0",
                  "18204", ".192.0",
                  "18205", ".192.0",
                  "18206", ".192.0",
                  "18207", ".192.0",
                  "18208", ".192.0",
                  "18209", ".192.0",
                  "18210", ".192.0",
                  "18211", ".192.0",
                  "18212", ".192.0",
                  "18213", ".192.0",
                  "18214", ".192.0",
                  "18215", ".192.0",
                  "18216", ".192.0",
                  "18217", ".192.0",
                  "18218", ".192.0",
                  "18219", ".192.0",
                  "18220", ".192.0",
                  "18221", ".192.0",
                  "18222", ".192.0",
                  "18223", ".192.0",
                  "18224", ".192.0",
                  "18225", ".192.0",
                  "18226", ".192.0",
                  "18227", ".192.0",
                  "18228", ".192.0",
                  "18229", ".192.0",
                  "18230", ".192.0",
                  "18231", ".192.0",
                  "18232", ".192.0",
                  "18233", ".192.0",
                  "18234", ".192.0",
                  "18235", ".192.0",
                  "18236", ".192.0",
                  "18237", ".192.0",
                  "18238", ".192.0",
                  "18239", ".192.0",
                  "18240", ".192.0",
                  "18241", ".192.0",
                  "18242", ".192.0",
                  "18243", ".192.0",
                  "18244", ".192.0",
                  "18245", ".192.0",
                  "18246", ".192.0",
                  "18247", ".192.0",
                  "18248", ".192.0",
                  "18249", ".192.0",
                  "18250", ".192.0",
                  "18251", ".192.0",
                  "18252", ".192.0",
                  "18253", ".192.0",
                  "18254", ".192.0",
                  "18255", ".192.0",
                  "190", ".0.0",
                  "191", ".0.0",
                  "192", ".0.0",
                  "193", ".0.0",
                  "194", ".0.0",
                  "195", ".0.0",
                  "196", ".0.0",
                  "197", ".0.0",
                  "198", ".0.0",
                  "199", ".0.0",
                  "1910", ".0.0",
                  "1911", ".0.0",
                  "1912", ".0.0",
                  "1913", ".0.0",
                  "1914", ".0.0",
                  "1915", ".0.0",
                  "1916", ".0.0",
                  "1917", ".0.0",
                  "1918", ".0.0",
                  "1919", ".0.0",
                  "1920", ".0.0",
                  "1921", ".0.0",
                  "1922", ".0.0",
                  "1923", ".0.0",
                  "1924", ".0.0",
                  "1925", ".0.0",
                  "1926", ".0.0",
                  "1927", ".0.0",
                  "1928", ".0.0",
                  "1929", ".0.0",
                  "1930", ".0.0",
                  "1931", ".0.0",
                  "1932", ".32.0",
                  "1933", ".32.0",
                  "1934", ".32.0",
                  "1935", ".32.0",
                  "1936", ".32.0",
                  "1937", ".32.0",
                  "1938", ".32.0",
                  "1939", ".32.0",
                  "1940", ".32.0",
                  "1941", ".32.0",
                  "1942", ".32.0",
                  "1943", ".32.0",
                  "1944", ".32.0",
                  "1945", ".32.0",
                  "1946", ".32.0",
                  "1947", ".32.0",
                  "1948", ".32.0",
                  "1949", ".32.0",
                  "1950", ".32.0",
                  "1951", ".32.0",
                  "1952", ".32.0",
                  "1953", ".32.0",
                  "1954", ".32.0",
                  "1955", ".32.0",
                  "1956", ".32.0",
                  "1957", ".32.0",
                  "1958", ".32.0",
                  "1959", ".32.0",
                  "1960", ".32.0",
                  "1961", ".32.0",
                  "1962", ".32.0",
                  "1963", ".32.0",
                  "1964", ".64.0",
                  "1965", ".64.0",
                  "1966", ".64.0",
                  "1967", ".64.0",
                  "1968", ".64.0",
                  "1969", ".64.0",
                  "1970", ".64.0",
                  "1971", ".64.0",
                  "1972", ".64.0",
                  "1973", ".64.0",
                  "1974", ".64.0",
                  "1975", ".64.0",
                  "1976", ".64.0",
                  "1977", ".64.0",
                  "1978", ".64.0",
                  "1979", ".64.0",
                  "1980", ".64.0",
                  "1981", ".64.0",
                  "1982", ".64.0",
                  "1983", ".64.0",
                  "1984", ".64.0",
                  "1985", ".64.0",
                  "1986", ".64.0",
                  "1987", ".64.0",
                  "1988", ".64.0",
                  "1989", ".64.0",
                  "1990", ".64.0",
                  "1991", ".64.0",
                  "1992", ".64.0",
                  "1993", ".64.0",
                  "1994", ".64.0",
                  "1995", ".64.0",
                  "1996", ".96.0",
                  "1997", ".96.0",
                  "1998", ".96.0",
                  "1999", ".96.0",
                  "19100", ".96.0",
                  "19101", ".96.0",
                  "19102", ".96.0",
                  "19103", ".96.0",
                  "19104", ".96.0",
                  "19105", ".96.0",
                  "19106", ".96.0",
                  "19107", ".96.0",
                  "19108", ".96.0",
                  "19109", ".96.0",
                  "19110", ".96.0",
                  "19111", ".96.0",
                  "19112", ".96.0",
                  "19113", ".96.0",
                  "19114", ".96.0",
                  "19115", ".96.0",
                  "19116", ".96.0",
                  "19117", ".96.0",
                  "19118", ".96.0",
                  "19119", ".96.0",
                  "19120", ".96.0",
                  "19121", ".96.0",
                  "19122", ".96.0",
                  "19123", ".96.0",
                  "19124", ".96.0",
                  "19125", ".96.0",
                  "19126", ".96.0",
                  "19127", ".96.0",
                  "19128", ".128.0",
                  "19129", ".128.0",
                  "19130", ".128.0",
                  "19131", ".128.0",
                  "19132", ".128.0",
                  "19133", ".128.0",
                  "19134", ".128.0",
                  "19135", ".128.0",
                  "19136", ".128.0",
                  "19137", ".128.0",
                  "19138", ".128.0",
                  "19139", ".128.0",
                  "19140", ".128.0",
                  "19141", ".128.0",
                  "19142", ".128.0",
                  "19143", ".128.0",
                  "19144", ".128.0",
                  "19145", ".128.0",
                  "19146", ".128.0",
                  "19147", ".128.0",
                  "19148", ".128.0",
                  "19149", ".128.0",
                  "19150", ".128.0",
                  "19151", ".128.0",
                  "19152", ".128.0",
                  "19153", ".128.0",
                  "19154", ".128.0",
                  "19155", ".128.0",
                  "19156", ".128.0",
                  "19157", ".128.0",
                  "19158", ".128.0",
                  "19159", ".128.0",
                  "19160", ".160.0",
                  "19161", ".160.0",
                  "19162", ".160.0",
                  "19163", ".160.0",
                  "19164", ".160.0",
                  "19165", ".160.0",
                  "19166", ".160.0",
                  "19167", ".160.0",
                  "19168", ".160.0",
                  "19169", ".160.0",
                  "19170", ".160.0",
                  "19171", ".160.0",
                  "19172", ".160.0",
                  "19173", ".160.0",
                  "19174", ".160.0",
                  "19175", ".160.0",
                  "19176", ".160.0",
                  "19177", ".160.0",
                  "19178", ".160.0",
                  "19179", ".160.0",
                  "19180", ".160.0",
                  "19181", ".160.0",
                  "19182", ".160.0",
                  "19183", ".160.0",
                  "19184", ".160.0",
                  "19185", ".160.0",
                  "19186", ".160.0",
                  "19187", ".160.0",
                  "19188", ".160.0",
                  "19189", ".160.0",
                  "19190", ".160.0",
                  "19191", ".160.0",
                  "19192", ".192.0",
                  "19193", ".192.0",
                  "19194", ".192.0",
                  "19195", ".192.0",
                  "19196", ".192.0",
                  "19197", ".192.0",
                  "19198", ".192.0",
                  "19199", ".192.0",
                  "19200", ".192.0",
                  "19201", ".192.0",
                  "19202", ".192.0",
                  "19203", ".192.0",
                  "19204", ".192.0",
                  "19205", ".192.0",
                  "19206", ".192.0",
                  "19207", ".192.0",
                  "19208", ".192.0",
                  "19209", ".192.0",
                  "19210", ".192.0",
                  "19211", ".192.0",
                  "19212", ".192.0",
                  "19213", ".192.0",
                  "19214", ".192.0",
                  "19215", ".192.0",
                  "19216", ".192.0",
                  "19217", ".192.0",
                  "19218", ".192.0",
                  "19219", ".192.0",
                  "19220", ".192.0",
                  "19221", ".192.0",
                  "19222", ".192.0",
                  "19223", ".192.0",
                  "19224", ".224.0",
                  "19225", ".224.0",
                  "19226", ".224.0",
                  "19227", ".224.0",
                  "19228", ".224.0",
                  "19229", ".224.0",
                  "19230", ".224.0",
                  "19231", ".224.0",
                  "19232", ".224.0",
                  "19233", ".224.0",
                  "19234", ".224.0",
                  "19235", ".224.0",
                  "19236", ".224.0",
                  "19237", ".224.0",
                  "19238", ".224.0",
                  "19239", ".224.0",
                  "19240", ".224.0",
                  "19241", ".224.0",
                  "19242", ".224.0",
                  "19243", ".224.0",
                  "19244", ".224.0",
                  "19245", ".224.0",
                  "19246", ".224.0",
                  "19247", ".224.0",
                  "19248", ".224.0",
                  "19249", ".224.0",
                  "19250", ".224.0",
                  "19251", ".224.0",
                  "19252", ".224.0",
                  "19253", ".224.0",
                  "19254", ".224.0",
                  "19255", ".224.0",
                  "200", ".0.0",
                  "201", ".0.0",
                  "202", ".0.0",
                  "203", ".0.0",
                  "204", ".0.0",
                  "205", ".0.0",
                  "206", ".0.0",
                  "207", ".0.0",
                  "208", ".0.0",
                  "209", ".0.0",
                  "2010", ".0.0",
                  "2011", ".0.0",
                  "2012", ".0.0",
                  "2013", ".0.0",
                  "2014", ".0.0",
                  "2015", ".0.0",
                  "2016", ".16.0",
                  "2017", ".16.0",
                  "2018", ".16.0",
                  "2019", ".16.0",
                  "2020", ".16.0",
                  "2021", ".16.0",
                  "2022", ".16.0",
                  "2023", ".16.0",
                  "2024", ".16.0",
                  "2025", ".16.0",
                  "2026", ".16.0",
                  "2027", ".16.0",
                  "2028", ".16.0",
                  "2029", ".16.0",
                  "2030", ".16.0",
                  "2031", ".16.0",
                  "2032", ".32.0",
                  "2033", ".32.0",
                  "2034", ".32.0",
                  "2035", ".32.0",
                  "2036", ".32.0",
                  "2037", ".32.0",
                  "2038", ".32.0",
                  "2039", ".32.0",
                  "2040", ".32.0",
                  "2041", ".32.0",
                  "2042", ".32.0",
                  "2043", ".32.0",
                  "2044", ".32.0",
                  "2045", ".32.0",
                  "2046", ".32.0",
                  "2047", ".32.0",
                  "2048", ".48.0",
                  "2049", ".48.0",
                  "2050", ".48.0",
                  "2051", ".48.0",
                  "2052", ".48.0",
                  "2053", ".48.0",
                  "2054", ".48.0",
                  "2055", ".48.0",
                  "2056", ".48.0",
                  "2057", ".48.0",
                  "2058", ".48.0",
                  "2059", ".48.0",
                  "2060", ".48.0",
                  "2061", ".48.0",
                  "2062", ".48.0",
                  "2063", ".48.0",
                  "2064", ".64.0",
                  "2065", ".64.0",
                  "2066", ".64.0",
                  "2067", ".64.0",
                  "2068", ".64.0",
                  "2069", ".64.0",
                  "2070", ".64.0",
                  "2071", ".64.0",
                  "2072", ".64.0",
                  "2073", ".64.0",
                  "2074", ".64.0",
                  "2075", ".64.0",
                  "2076", ".64.0",
                  "2077", ".64.0",
                  "2078", ".64.0",
                  "2079", ".64.0",
                  "2080", ".80.0",
                  "2081", ".80.0",
                  "2082", ".80.0",
                  "2083", ".80.0",
                  "2084", ".80.0",
                  "2085", ".80.0",
                  "2086", ".80.0",
                  "2087", ".80.0",
                  "2088", ".80.0",
                  "2089", ".80.0",
                  "2090", ".80.0",
                  "2091", ".80.0",
                  "2092", ".80.0",
                  "2093", ".80.0",
                  "2094", ".80.0",
                  "2095", ".80.0",
                  "2096", ".96.0",
                  "2097", ".96.0",
                  "2098", ".96.0",
                  "2099", ".96.0",
                  "20100", ".96.0",
                  "20101", ".96.0",
                  "20102", ".96.0",
                  "20103", ".96.0",
                  "20104", ".96.0",
                  "20105", ".96.0",
                  "20106", ".96.0",
                  "20107", ".96.0",
                  "20108", ".96.0",
                  "20109", ".96.0",
                  "20110", ".96.0",
                  "20111", ".96.0",
                  "20112", ".112.0",
                  "20113", ".112.0",
                  "20114", ".112.0",
                  "20115", ".112.0",
                  "20116", ".112.0",
                  "20117", ".112.0",
                  "20118", ".112.0",
                  "20119", ".112.0",
                  "20120", ".112.0",
                  "20121", ".112.0",
                  "20122", ".112.0",
                  "20123", ".112.0",
                  "20124", ".112.0",
                  "20125", ".112.0",
                  "20126", ".112.0",
                  "20127", ".112.0",
                  "20128", ".128.0",
                  "20129", ".128.0",
                  "20130", ".128.0",
                  "20131", ".128.0",
                  "20132", ".128.0",
                  "20133", ".128.0",
                  "20134", ".128.0",
                  "20135", ".128.0",
                  "20136", ".128.0",
                  "20137", ".128.0",
                  "20138", ".128.0",
                  "20139", ".128.0",
                  "20140", ".128.0",
                  "20141", ".128.0",
                  "20142", ".128.0",
                  "20143", ".128.0",
                  "20144", ".144.0",
                  "20145", ".144.0",
                  "20146", ".144.0",
                  "20147", ".144.0",
                  "20148", ".144.0",
                  "20149", ".144.0",
                  "20150", ".144.0",
                  "20151", ".144.0",
                  "20152", ".144.0",
                  "20153", ".144.0",
                  "20154", ".144.0",
                  "20155", ".144.0",
                  "20156", ".144.0",
                  "20157", ".144.0",
                  "20158", ".144.0",
                  "20159", ".144.0",
                  "20160", ".160.0",
                  "20161", ".160.0",
                  "20162", ".160.0",
                  "20163", ".160.0",
                  "20164", ".160.0",
                  "20165", ".160.0",
                  "20166", ".160.0",
                  "20167", ".160.0",
                  "20168", ".160.0",
                  "20169", ".160.0",
                  "20170", ".160.0",
                  "20171", ".160.0",
                  "20172", ".160.0",
                  "20173", ".160.0",
                  "20174", ".160.0",
                  "20175", ".160.0",
                  "20176", ".176.0",
                  "20177", ".176.0",
                  "20178", ".176.0",
                  "20179", ".176.0",
                  "20180", ".176.0",
                  "20181", ".176.0",
                  "20182", ".176.0",
                  "20183", ".176.0",
                  "20184", ".176.0",
                  "20185", ".176.0",
                  "20186", ".176.0",
                  "20187", ".176.0",
                  "20188", ".176.0",
                  "20189", ".176.0",
                  "20190", ".176.0",
                  "20191", ".176.0",
                  "20192", ".192.0",
                  "20193", ".192.0",
                  "20194", ".192.0",
                  "20195", ".192.0",
                  "20196", ".192.0",
                  "20197", ".192.0",
                  "20198", ".192.0",
                  "20199", ".192.0",
                  "20200", ".192.0",
                  "20201", ".192.0",
                  "20202", ".192.0",
                  "20203", ".192.0",
                  "20204", ".192.0",
                  "20205", ".192.0",
                  "20206", ".192.0",
                  "20207", ".192.0",
                  "20208", ".208.0",
                  "20209", ".208.0",
                  "20210", ".208.0",
                  "20211", ".208.0",
                  "20212", ".208.0",
                  "20213", ".208.0",
                  "20214", ".208.0",
                  "20215", ".208.0",
                  "20216", ".208.0",
                  "20217", ".208.0",
                  "20218", ".208.0",
                  "20219", ".208.0",
                  "20220", ".208.0",
                  "20221", ".208.0",
                  "20222", ".208.0",
                  "20223", ".208.0",
                  "20224", ".224.0",
                  "20225", ".224.0",
                  "20226", ".224.0",
                  "20227", ".224.0",
                  "20228", ".224.0",
                  "20229", ".224.0",
                  "20230", ".224.0",
                  "20231", ".224.0",
                  "20232", ".224.0",
                  "20233", ".224.0",
                  "20234", ".224.0",
                  "20235", ".224.0",
                  "20236", ".224.0",
                  "20237", ".224.0",
                  "20238", ".224.0",
                  "20239", ".224.0",
                  "20240", ".240.0",
                  "20241", ".240.0",
                  "20242", ".240.0",
                  "20243", ".240.0",
                  "20244", ".240.0",
                  "20245", ".240.0",
                  "20246", ".240.0",
                  "20247", ".240.0",
                  "20248", ".240.0",
                  "20249", ".240.0",
                  "20250", ".240.0",
                  "20251", ".240.0",
                  "20252", ".240.0",
                  "20253", ".240.0",
                  "20254", ".240.0",
                  "20255", ".240.0",
                  "210", ".0.0",
                  "211", ".0.0",
                  "212", ".0.0",
                  "213", ".0.0",
                  "214", ".0.0",
                  "215", ".0.0",
                  "216", ".0.0",
                  "217", ".0.0",
                  "218", ".8.0",
                  "219", ".8.0",
                  "2110", ".8.0",
                  "2111", ".8.0",
                  "2112", ".8.0",
                  "2113", ".8.0",
                  "2114", ".8.0",
                  "2115", ".8.0",
                  "2116", ".16.0",
                  "2117", ".16.0",
                  "2118", ".16.0",
                  "2119", ".16.0",
                  "2120", ".16.0",
                  "2121", ".16.0",
                  "2122", ".16.0",
                  "2123", ".16.0",
                  "2124", ".24.0",
                  "2125", ".24.0",
                  "2126", ".24.0",
                  "2127", ".24.0",
                  "2128", ".24.0",
                  "2129", ".24.0",
                  "2130", ".24.0",
                  "2131", ".24.0",
                  "2132", ".32.0",
                  "2133", ".32.0",
                  "2134", ".32.0",
                  "2135", ".32.0",
                  "2136", ".32.0",
                  "2137", ".32.0",
                  "2138", ".32.0",
                  "2139", ".32.0",
                  "2140", ".40.0",
                  "2141", ".40.0",
                  "2142", ".40.0",
                  "2143", ".40.0",
                  "2144", ".40.0",
                  "2145", ".40.0",
                  "2146", ".40.0",
                  "2147", ".40.0",
                  "2148", ".48.0",
                  "2149", ".48.0",
                  "2150", ".48.0",
                  "2151", ".48.0",
                  "2152", ".48.0",
                  "2153", ".48.0",
                  "2154", ".48.0",
                  "2155", ".48.0",
                  "2156", ".56.0",
                  "2157", ".56.0",
                  "2158", ".56.0",
                  "2159", ".56.0",
                  "2160", ".56.0",
                  "2161", ".56.0",
                  "2162", ".56.0",
                  "2163", ".56.0",
                  "2164", ".64.0",
                  "2165", ".64.0",
                  "2166", ".64.0",
                  "2167", ".64.0",
                  "2168", ".64.0",
                  "2169", ".64.0",
                  "2170", ".64.0",
                  "2171", ".64.0",
                  "2172", ".72.0",
                  "2173", ".72.0",
                  "2174", ".72.0",
                  "2175", ".72.0",
                  "2176", ".72.0",
                  "2177", ".72.0",
                  "2178", ".72.0",
                  "2179", ".72.0",
                  "2180", ".80.0",
                  "2181", ".80.0",
                  "2182", ".80.0",
                  "2183", ".80.0",
                  "2184", ".80.0",
                  "2185", ".80.0",
                  "2186", ".80.0",
                  "2187", ".80.0",
                  "2188", ".88.0",
                  "2189", ".88.0",
                  "2190", ".88.0",
                  "2191", ".88.0",
                  "2192", ".88.0",
                  "2193", ".88.0",
                  "2194", ".88.0",
                  "2195", ".88.0",
                  "2196", ".96.0",
                  "2197", ".96.0",
                  "2198", ".96.0",
                  "2199", ".96.0",
                  "21100", ".96.0",
                  "21101", ".96.0",
                  "21102", ".96.0",
                  "21103", ".96.0",
                  "21104", ".104.0",
                  "21105", ".104.0",
                  "21106", ".104.0",
                  "21107", ".104.0",
                  "21108", ".104.0",
                  "21109", ".104.0",
                  "21110", ".104.0",
                  "21111", ".104.0",
                  "21112", ".112.0",
                  "21113", ".112.0",
                  "21114", ".112.0",
                  "21115", ".112.0",
                  "21116", ".112.0",
                  "21117", ".112.0",
                  "21118", ".112.0",
                  "21119", ".112.0",
                  "21120", ".120.0",
                  "21121", ".120.0",
                  "21122", ".120.0",
                  "21123", ".120.0",
                  "21124", ".120.0",
                  "21125", ".120.0",
                  "21126", ".120.0",
                  "21127", ".120.0",
                  "21128", ".128.0",
                  "21129", ".128.0",
                  "21130", ".128.0",
                  "21131", ".128.0",
                  "21132", ".128.0",
                  "21133", ".128.0",
                  "21134", ".128.0",
                  "21135", ".128.0",
                  "21136", ".136.0",
                  "21137", ".136.0",
                  "21138", ".136.0",
                  "21139", ".136.0",
                  "21140", ".136.0",
                  "21141", ".136.0",
                  "21142", ".136.0",
                  "21143", ".136.0",
                  "21144", ".144.0",
                  "21145", ".144.0",
                  "21146", ".144.0",
                  "21147", ".144.0",
                  "21148", ".144.0",
                  "21149", ".144.0",
                  "21150", ".144.0",
                  "21151", ".144.0",
                  "21152", ".152.0",
                  "21153", ".152.0",
                  "21154", ".152.0",
                  "21155", ".152.0",
                  "21156", ".152.0",
                  "21157", ".152.0",
                  "21158", ".152.0",
                  "21159", ".152.0",
                  "21160", ".160.0",
                  "21161", ".160.0",
                  "21162", ".160.0",
                  "21163", ".160.0",
                  "21164", ".160.0",
                  "21165", ".160.0",
                  "21166", ".160.0",
                  "21167", ".160.0",
                  "21168", ".168.0",
                  "21169", ".168.0",
                  "21170", ".168.0",
                  "21171", ".168.0",
                  "21172", ".168.0",
                  "21173", ".168.0",
                  "21174", ".168.0",
                  "21175", ".168.0",
                  "21176", ".176.0",
                  "21177", ".176.0",
                  "21178", ".176.0",
                  "21179", ".176.0",
                  "21180", ".176.0",
                  "21181", ".176.0",
                  "21182", ".176.0",
                  "21183", ".176.0",
                  "21184", ".184.0",
                  "21185", ".184.0",
                  "21186", ".184.0",
                  "21187", ".184.0",
                  "21188", ".184.0",
                  "21189", ".184.0",
                  "21190", ".184.0",
                  "21191", ".184.0",
                  "21192", ".192.0",
                  "21193", ".192.0",
                  "21194", ".192.0",
                  "21195", ".192.0",
                  "21196", ".192.0",
                  "21197", ".192.0",
                  "21198", ".192.0",
                  "21199", ".192.0",
                  "21200", ".200.0",
                  "21201", ".200.0",
                  "21202", ".200.0",
                  "21203", ".200.0",
                  "21204", ".200.0",
                  "21205", ".200.0",
                  "21206", ".200.0",
                  "21207", ".200.0",
                  "21208", ".208.0",
                  "21209", ".208.0",
                  "21210", ".208.0",
                  "21211", ".208.0",
                  "21212", ".208.0",
                  "21213", ".208.0",
                  "21214", ".208.0",
                  "21215", ".208.0",
                  "21216", ".216.0",
                  "21217", ".216.0",
                  "21218", ".216.0",
                  "21219", ".216.0",
                  "21220", ".216.0",
                  "21221", ".216.0",
                  "21222", ".216.0",
                  "21223", ".216.0",
                  "21224", ".224.0",
                  "21225", ".224.0",
                  "21226", ".224.0",
                  "21227", ".224.0",
                  "21228", ".224.0",
                  "21229", ".224.0",
                  "21230", ".224.0",
                  "21231", ".224.0",
                  "21232", ".232.0",
                  "21233", ".232.0",
                  "21234", ".232.0",
                  "21235", ".232.0",
                  "21236", ".232.0",
                  "21237", ".232.0",
                  "21238", ".232.0",
                  "21239", ".232.0",
                  "21240", ".240.0",
                  "21241", ".240.0",
                  "21242", ".240.0",
                  "21243", ".240.0",
                  "21244", ".240.0",
                  "21245", ".240.0",
                  "21246", ".240.0",
                  "21247", ".240.0",
                  "21248", ".248.0",
                  "21249", ".248.0",
                  "21250", ".248.0",
                  "21251", ".248.0",
                  "21252", ".248.0",
                  "21253", ".248.0",
                  "21254", ".248.0",
                  "21255", ".248.0",
                  "220", ".0.0",
                  "221", ".0.0",
                  "222", ".0.0",
                  "223", ".0.0",
                  "224", ".4.0",
                  "225", ".4.0",
                  "226", ".4.0",
                  "227", ".4.0",
                  "228", ".8.0",
                  "229", ".8.0",
                  "2210", ".8.0",
                  "2211", ".8.0",
                  "2212", ".12.0",
                  "2213", ".12.0",
                  "2214", ".12.0",
                  "2215", ".12.0",
                  "2216", ".16.0",
                  "2217", ".16.0",
                  "2218", ".16.0",
                  "2219", ".16.0",
                  "2220", ".20.0",
                  "2221", ".20.0",
                  "2222", ".20.0",
                  "2223", ".20.0",
                  "2224", ".24.0",
                  "2225", ".24.0",
                  "2226", ".24.0",
                  "2227", ".24.0",
                  "2228", ".28.0",
                  "2229", ".28.0",
                  "2230", ".28.0",
                  "2231", ".28.0",
                  "2232", ".32.0",
                  "2233", ".32.0",
                  "2234", ".32.0",
                  "2235", ".32.0",
                  "2236", ".36.0",
                  "2237", ".36.0",
                  "2238", ".36.0",
                  "2239", ".36.0",
                  "2240", ".40.0",
                  "2241", ".40.0",
                  "2242", ".40.0",
                  "2243", ".40.0",
                  "2244", ".44.0",
                  "2245", ".44.0",
                  "2246", ".44.0",
                  "2247", ".44.0",
                  "2248", ".48.0",
                  "2249", ".48.0",
                  "2250", ".48.0",
                  "2251", ".48.0",
                  "2252", ".52.0",
                  "2253", ".52.0",
                  "2254", ".52.0",
                  "2255", ".52.0",
                  "2256", ".56.0",
                  "2257", ".56.0",
                  "2258", ".56.0",
                  "2259", ".56.0",
                  "2260", ".60.0",
                  "2261", ".60.0",
                  "2262", ".60.0",
                  "2263", ".60.0",
                  "2264", ".64.0",
                  "2265", ".64.0",
                  "2266", ".64.0",
                  "2267", ".64.0",
                  "2268", ".68.0",
                  "2269", ".68.0",
                  "2270", ".68.0",
                  "2271", ".68.0",
                  "2272", ".72.0",
                  "2273", ".72.0",
                  "2274", ".72.0",
                  "2275", ".72.0",
                  "2276", ".76.0",
                  "2277", ".76.0",
                  "2278", ".76.0",
                  "2279", ".76.0",
                  "2280", ".80.0",
                  "2281", ".80.0",
                  "2282", ".80.0",
                  "2283", ".80.0",
                  "2284", ".84.0",
                  "2285", ".84.0",
                  "2286", ".84.0",
                  "2287", ".84.0",
                  "2288", ".88.0",
                  "2289", ".88.0",
                  "2290", ".88.0",
                  "2291", ".88.0",
                  "2292", ".92.0",
                  "2293", ".92.0",
                  "2294", ".92.0",
                  "2295", ".92.0",
                  "2296", ".96.0",
                  "2297", ".96.0",
                  "2298", ".96.0",
                  "2299", ".96.0",
                  "22100", ".100.0",
                  "22101", ".100.0",
                  "22102", ".100.0",
                  "22103", ".100.0",
                  "22104", ".104.0",
                  "22105", ".104.0",
                  "22106", ".104.0",
                  "22107", ".104.0",
                  "22108", ".108.0",
                  "22109", ".108.0",
                  "22110", ".108.0",
                  "22111", ".108.0",
                  "22112", ".112.0",
                  "22113", ".112.0",
                  "22114", ".112.0",
                  "22115", ".112.0",
                  "22116", ".116.0",
                  "22117", ".116.0",
                  "22118", ".116.0",
                  "22119", ".116.0",
                  "22120", ".120.0",
                  "22121", ".120.0",
                  "22122", ".120.0",
                  "22123", ".120.0",
                  "22124", ".124.0",
                  "22125", ".124.0",
                  "22126", ".124.0",
                  "22127", ".124.0",
                  "22128", ".128.0",
                  "22129", ".128.0",
                  "22130", ".128.0",
                  "22131", ".128.0",
                  "22132", ".132.0",
                  "22133", ".132.0",
                  "22134", ".132.0",
                  "22135", ".132.0",
                  "22136", ".136.0",
                  "22137", ".136.0",
                  "22138", ".136.0",
                  "22139", ".136.0",
                  "22140", ".140.0",
                  "22141", ".140.0",
                  "22142", ".140.0",
                  "22143", ".140.0",
                  "22144", ".144.0",
                  "22145", ".144.0",
                  "22146", ".144.0",
                  "22147", ".144.0",
                  "22148", ".148.0",
                  "22149", ".148.0",
                  "22150", ".148.0",
                  "22151", ".148.0",
                  "22152", ".152.0",
                  "22153", ".152.0",
                  "22154", ".152.0",
                  "22155", ".152.0",
                  "22156", ".156.0",
                  "22157", ".156.0",
                  "22158", ".156.0",
                  "22159", ".156.0",
                  "22160", ".160.0",
                  "22161", ".160.0",
                  "22162", ".160.0",
                  "22163", ".160.0",
                  "22164", ".164.0",
                  "22165", ".164.0",
                  "22166", ".164.0",
                  "22167", ".164.0",
                  "22168", ".168.0",
                  "22169", ".168.0",
                  "22170", ".168.0",
                  "22171", ".168.0",
                  "22172", ".172.0",
                  "22173", ".172.0",
                  "22174", ".172.0",
                  "22175", ".172.0",
                  "22176", ".176.0",
                  "22177", ".176.0",
                  "22178", ".176.0",
                  "22179", ".176.0",
                  "22180", ".180.0",
                  "22181", ".180.0",
                  "22182", ".180.0",
                  "22183", ".180.0",
                  "22184", ".184.0",
                  "22185", ".184.0",
                  "22186", ".184.0",
                  "22187", ".184.0",
                  "22188", ".188.0",
                  "22189", ".188.0",
                  "22190", ".188.0",
                  "22191", ".188.0",
                  "22192", ".192.0",
                  "22193", ".192.0",
                  "22194", ".192.0",
                  "22195", ".192.0",
                  "22196", ".196.0",
                  "22197", ".196.0",
                  "22198", ".196.0",
                  "22199", ".196.0",
                  "22200", ".200.0",
                  "22201", ".200.0",
                  "22202", ".200.0",
                  "22203", ".200.0",
                  "22204", ".204.0",
                  "22205", ".204.0",
                  "22206", ".204.0",
                  "22207", ".204.0",
                  "22208", ".208.0",
                  "22209", ".208.0",
                  "22210", ".208.0",
                  "22211", ".208.0",
                  "22212", ".212.0",
                  "22213", ".212.0",
                  "22214", ".212.0",
                  "22215", ".212.0",
                  "22216", ".216.0",
                  "22217", ".216.0",
                  "22218", ".216.0",
                  "22219", ".216.0",
                  "22220", ".220.0",
                  "22221", ".220.0",
                  "22222", ".220.0",
                  "22223", ".220.0",
                  "22224", ".224.0",
                  "22225", ".224.0",
                  "22226", ".224.0",
                  "22227", ".224.0",
                  "22228", ".228.0",
                  "22229", ".228.0",
                  "22230", ".228.0",
                  "22231", ".228.0",
                  "22232", ".232.0",
                  "22233", ".232.0",
                  "22234", ".232.0",
                  "22235", ".232.0",
                  "22236", ".236.0",
                  "22237", ".236.0",
                  "22238", ".236.0",
                  "22239", ".236.0",
                  "22240", ".240.0",
                  "22241", ".240.0",
                  "22242", ".240.0",
                  "22243", ".240.0",
                  "22244", ".244.0",
                  "22245", ".244.0",
                  "22246", ".244.0",
                  "22247", ".244.0",
                  "22248", ".248.0",
                  "22249", ".248.0",
                  "22250", ".248.0",
                  "22251", ".248.0",
                  "22252", ".252.0",
                  "22253", ".252.0",
                  "22254", ".252.0",
                  "22255", ".252.0",
                  "230", ".0.0",
                  "231", ".0.0",
                  "232", ".2.0",
                  "233", ".2.0",
                  "234", ".4.0",
                  "235", ".4.0",
                  "236", ".6.0",
                  "237", ".6.0",
                  "238", ".8.0",
                  "239", ".8.0",
                  "2310", ".10.0",
                  "2311", ".10.0",
                  "2312", ".12.0",
                  "2313", ".12.0",
                  "2314", ".14.0",
                  "2315", ".14.0",
                  "2316", ".16.0",
                  "2317", ".16.0",
                  "2318", ".18.0",
                  "2319", ".18.0",
                  "2320", ".20.0",
                  "2321", ".20.0",
                  "2322", ".22.0",
                  "2323", ".22.0",
                  "2324", ".24.0",
                  "2325", ".24.0",
                  "2326", ".26.0",
                  "2327", ".26.0",
                  "2328", ".28.0",
                  "2329", ".28.0",
                  "2330", ".30.0",
                  "2331", ".30.0",
                  "2332", ".32.0",
                  "2333", ".32.0",
                  "2334", ".34.0",
                  "2335", ".34.0",
                  "2336", ".36.0",
                  "2337", ".36.0",
                  "2338", ".38.0",
                  "2339", ".38.0",
                  "2340", ".40.0",
                  "2341", ".40.0",
                  "2342", ".42.0",
                  "2343", ".42.0",
                  "2344", ".44.0",
                  "2345", ".44.0",
                  "2346", ".46.0",
                  "2347", ".46.0",
                  "2348", ".48.0",
                  "2349", ".48.0",
                  "2350", ".50.0",
                  "2351", ".50.0",
                  "2352", ".52.0",
                  "2353", ".52.0",
                  "2354", ".54.0",
                  "2355", ".54.0",
                  "2356", ".56.0",
                  "2357", ".56.0",
                  "2358", ".58.0",
                  "2359", ".58.0",
                  "2360", ".60.0",
                  "2361", ".60.0",
                  "2362", ".62.0",
                  "2363", ".62.0",
                  "2364", ".64.0",
                  "2365", ".64.0",
                  "2366", ".66.0",
                  "2367", ".66.0",
                  "2368", ".68.0",
                  "2369", ".68.0",
                  "2370", ".70.0",
                  "2371", ".70.0",
                  "2372", ".72.0",
                  "2373", ".72.0",
                  "2374", ".74.0",
                  "2375", ".74.0",
                  "2376", ".76.0",
                  "2377", ".76.0",
                  "2378", ".78.0",
                  "2379", ".78.0",
                  "2380", ".80.0",
                  "2381", ".80.0",
                  "2382", ".82.0",
                  "2383", ".82.0",
                  "2384", ".84.0",
                  "2385", ".84.0",
                  "2386", ".86.0",
                  "2387", ".86.0",
                  "2388", ".88.0",
                  "2389", ".88.0",
                  "2390", ".90.0",
                  "2391", ".90.0",
                  "2392", ".92.0",
                  "2393", ".92.0",
                  "2394", ".94.0",
                  "2395", ".94.0",
                  "2396", ".96.0",
                  "2397", ".96.0",
                  "2398", ".98.0",
                  "2399", ".98.0",
                  "23100", ".100.0",
                  "23101", ".100.0",
                  "23102", ".102.0",
                  "23103", ".102.0",
                  "23104", ".104.0",
                  "23105", ".104.0",
                  "23106", ".106.0",
                  "23107", ".106.0",
                  "23108", ".108.0",
                  "23109", ".108.0",
                  "23110", ".110.0",
                  "23111", ".110.0",
                  "23112", ".112.0",
                  "23113", ".112.0",
                  "23114", ".114.0",
                  "23115", ".114.0",
                  "23116", ".116.0",
                  "23117", ".116.0",
                  "23118", ".118.0",
                  "23119", ".118.0",
                  "23120", ".120.0",
                  "23121", ".120.0",
                  "23122", ".122.0",
                  "23123", ".122.0",
                  "23124", ".124.0",
                  "23125", ".124.0",
                  "23126", ".126.0",
                  "23127", ".126.0",
                  "23128", ".128.0",
                  "23129", ".128.0",
                  "23130", ".130.0",
                  "23131", ".130.0",
                  "23132", ".132.0",
                  "23133", ".132.0",
                  "23134", ".134.0",
                  "23135", ".134.0",
                  "23136", ".136.0",
                  "23137", ".136.0",
                  "23138", ".138.0",
                  "23139", ".138.0",
                  "23140", ".140.0",
                  "23141", ".140.0",
                  "23142", ".142.0",
                  "23143", ".142.0",
                  "23144", ".144.0",
                  "23145", ".144.0",
                  "23146", ".146.0",
                  "23147", ".146.0",
                  "23148", ".148.0",
                  "23149", ".148.0",
                  "23150", ".150.0",
                  "23151", ".150.0",
                  "23152", ".152.0",
                  "23153", ".152.0",
                  "23154", ".154.0",
                  "23155", ".154.0",
                  "23156", ".156.0",
                  "23157", ".156.0",
                  "23158", ".158.0",
                  "23159", ".158.0",
                  "23160", ".160.0",
                  "23161", ".160.0",
                  "23162", ".162.0",
                  "23163", ".162.0",
                  "23164", ".164.0",
                  "23165", ".164.0",
                  "23166", ".166.0",
                  "23167", ".166.0",
                  "23168", ".168.0",
                  "23169", ".168.0",
                  "23170", ".170.0",
                  "23171", ".170.0",
                  "23172", ".172.0",
                  "23173", ".172.0",
                  "23174", ".174.0",
                  "23175", ".174.0",
                  "23176", ".176.0",
                  "23177", ".176.0",
                  "23178", ".178.0",
                  "23179", ".178.0",
                  "23180", ".180.0",
                  "23181", ".180.0",
                  "23182", ".182.0",
                  "23183", ".182.0",
                  "23184", ".184.0",
                  "23185", ".184.0",
                  "23186", ".186.0",
                  "23187", ".186.0",
                  "23188", ".188.0",
                  "23189", ".188.0",
                  "23190", ".190.0",
                  "23191", ".190.0",
                  "23192", ".192.0",
                  "23193", ".192.0",
                  "23194", ".194.0",
                  "23195", ".194.0",
                  "23196", ".196.0",
                  "23197", ".196.0",
                  "23198", ".198.0",
                  "23199", ".198.0",
                  "23200", ".200.0",
                  "23201", ".200.0",
                  "23202", ".202.0",
                  "23203", ".202.0",
                  "23204", ".204.0",
                  "23205", ".204.0",
                  "23206", ".206.0",
                  "23207", ".206.0",
                  "23208", ".208.0",
                  "23209", ".208.0",
                  "23210", ".210.0",
                  "23211", ".210.0",
                  "23212", ".212.0",
                  "23213", ".212.0",
                  "23214", ".214.0",
                  "23215", ".214.0",
                  "23216", ".216.0",
                  "23217", ".216.0",
                  "23218", ".218.0",
                  "23219", ".218.0",
                  "23220", ".220.0",
                  "23221", ".220.0",
                  "23222", ".222.0",
                  "23223", ".222.0",
                  "23224", ".224.0",
                  "23225", ".224.0",
                  "23226", ".226.0",
                  "23227", ".226.0",
                  "23228", ".228.0",
                  "23229", ".228.0",
                  "23230", ".230.0",
                  "23231", ".230.0",
                  "23232", ".232.0",
                  "23233", ".232.0",
                  "23234", ".234.0",
                  "23235", ".234.0",
                  "23236", ".236.0",
                  "23237", ".236.0",
                  "23238", ".238.0",
                  "23239", ".238.0",
                  "23240", ".240.0",
                  "23241", ".240.0",
                  "23242", ".242.0",
                  "23243", ".242.0",
                  "23244", ".244.0",
                  "23245", ".244.0",
                  "23246", ".246.0",
                  "23247", ".246.0",
                  "23248", ".248.0",
                  "23249", ".248.0",
                  "23250", ".250.0",
                  "23251", ".250.0",
                  "23252", ".252.0",
                  "23253", ".252.0",
                  "23254", ".254.0",
                  "23255", ".254.0",
);

%IPv4RIGHTMASKS24=(
                  "240", ".0",
                  "241", ".0",
                  "242", ".0",
                  "243", ".0",
                  "244", ".0",
                  "245", ".0",
                  "246", ".0",
                  "247", ".0",
                  "248", ".0",
                  "249", ".0",
                  "2410", ".0",
                  "2411", ".0",
                  "2412", ".0",
                  "2413", ".0",
                  "2414", ".0",
                  "2415", ".0",
                  "2416", ".0",
                  "2417", ".0",
                  "2418", ".0",
                  "2419", ".0",
                  "2420", ".0",
                  "2421", ".0",
                  "2422", ".0",
                  "2423", ".0",
                  "2424", ".0",
                  "2425", ".0",
                  "2426", ".0",
                  "2427", ".0",
                  "2428", ".0",
                  "2429", ".0",
                  "2430", ".0",
                  "2431", ".0",
                  "2432", ".0",
                  "2433", ".0",
                  "2434", ".0",
                  "2435", ".0",
                  "2436", ".0",
                  "2437", ".0",
                  "2438", ".0",
                  "2439", ".0",
                  "2440", ".0",
                  "2441", ".0",
                  "2442", ".0",
                  "2443", ".0",
                  "2444", ".0",
                  "2445", ".0",
                  "2446", ".0",
                  "2447", ".0",
                  "2448", ".0",
                  "2449", ".0",
                  "2450", ".0",
                  "2451", ".0",
                  "2452", ".0",
                  "2453", ".0",
                  "2454", ".0",
                  "2455", ".0",
                  "2456", ".0",
                  "2457", ".0",
                  "2458", ".0",
                  "2459", ".0",
                  "2460", ".0",
                  "2461", ".0",
                  "2462", ".0",
                  "2463", ".0",
                  "2464", ".0",
                  "2465", ".0",
                  "2466", ".0",
                  "2467", ".0",
                  "2468", ".0",
                  "2469", ".0",
                  "2470", ".0",
                  "2471", ".0",
                  "2472", ".0",
                  "2473", ".0",
                  "2474", ".0",
                  "2475", ".0",
                  "2476", ".0",
                  "2477", ".0",
                  "2478", ".0",
                  "2479", ".0",
                  "2480", ".0",
                  "2481", ".0",
                  "2482", ".0",
                  "2483", ".0",
                  "2484", ".0",
                  "2485", ".0",
                  "2486", ".0",
                  "2487", ".0",
                  "2488", ".0",
                  "2489", ".0",
                  "2490", ".0",
                  "2491", ".0",
                  "2492", ".0",
                  "2493", ".0",
                  "2494", ".0",
                  "2495", ".0",
                  "2496", ".0",
                  "2497", ".0",
                  "2498", ".0",
                  "2499", ".0",
                  "24100", ".0",
                  "24101", ".0",
                  "24102", ".0",
                  "24103", ".0",
                  "24104", ".0",
                  "24105", ".0",
                  "24106", ".0",
                  "24107", ".0",
                  "24108", ".0",
                  "24109", ".0",
                  "24110", ".0",
                  "24111", ".0",
                  "24112", ".0",
                  "24113", ".0",
                  "24114", ".0",
                  "24115", ".0",
                  "24116", ".0",
                  "24117", ".0",
                  "24118", ".0",
                  "24119", ".0",
                  "24120", ".0",
                  "24121", ".0",
                  "24122", ".0",
                  "24123", ".0",
                  "24124", ".0",
                  "24125", ".0",
                  "24126", ".0",
                  "24127", ".0",
                  "24128", ".0",
                  "24129", ".0",
                  "24130", ".0",
                  "24131", ".0",
                  "24132", ".0",
                  "24133", ".0",
                  "24134", ".0",
                  "24135", ".0",
                  "24136", ".0",
                  "24137", ".0",
                  "24138", ".0",
                  "24139", ".0",
                  "24140", ".0",
                  "24141", ".0",
                  "24142", ".0",
                  "24143", ".0",
                  "24144", ".0",
                  "24145", ".0",
                  "24146", ".0",
                  "24147", ".0",
                  "24148", ".0",
                  "24149", ".0",
                  "24150", ".0",
                  "24151", ".0",
                  "24152", ".0",
                  "24153", ".0",
                  "24154", ".0",
                  "24155", ".0",
                  "24156", ".0",
                  "24157", ".0",
                  "24158", ".0",
                  "24159", ".0",
                  "24160", ".0",
                  "24161", ".0",
                  "24162", ".0",
                  "24163", ".0",
                  "24164", ".0",
                  "24165", ".0",
                  "24166", ".0",
                  "24167", ".0",
                  "24168", ".0",
                  "24169", ".0",
                  "24170", ".0",
                  "24171", ".0",
                  "24172", ".0",
                  "24173", ".0",
                  "24174", ".0",
                  "24175", ".0",
                  "24176", ".0",
                  "24177", ".0",
                  "24178", ".0",
                  "24179", ".0",
                  "24180", ".0",
                  "24181", ".0",
                  "24182", ".0",
                  "24183", ".0",
                  "24184", ".0",
                  "24185", ".0",
                  "24186", ".0",
                  "24187", ".0",
                  "24188", ".0",
                  "24189", ".0",
                  "24190", ".0",
                  "24191", ".0",
                  "24192", ".0",
                  "24193", ".0",
                  "24194", ".0",
                  "24195", ".0",
                  "24196", ".0",
                  "24197", ".0",
                  "24198", ".0",
                  "24199", ".0",
                  "24200", ".0",
                  "24201", ".0",
                  "24202", ".0",
                  "24203", ".0",
                  "24204", ".0",
                  "24205", ".0",
                  "24206", ".0",
                  "24207", ".0",
                  "24208", ".0",
                  "24209", ".0",
                  "24210", ".0",
                  "24211", ".0",
                  "24212", ".0",
                  "24213", ".0",
                  "24214", ".0",
                  "24215", ".0",
                  "24216", ".0",
                  "24217", ".0",
                  "24218", ".0",
                  "24219", ".0",
                  "24220", ".0",
                  "24221", ".0",
                  "24222", ".0",
                  "24223", ".0",
                  "24224", ".0",
                  "24225", ".0",
                  "24226", ".0",
                  "24227", ".0",
                  "24228", ".0",
                  "24229", ".0",
                  "24230", ".0",
                  "24231", ".0",
                  "24232", ".0",
                  "24233", ".0",
                  "24234", ".0",
                  "24235", ".0",
                  "24236", ".0",
                  "24237", ".0",
                  "24238", ".0",
                  "24239", ".0",
                  "24240", ".0",
                  "24241", ".0",
                  "24242", ".0",
                  "24243", ".0",
                  "24244", ".0",
                  "24245", ".0",
                  "24246", ".0",
                  "24247", ".0",
                  "24248", ".0",
                  "24249", ".0",
                  "24250", ".0",
                  "24251", ".0",
                  "24252", ".0",
                  "24253", ".0",
                  "24254", ".0",
                  "24255", ".0",
                  "250", ".0",
                  "251", ".0",
                  "252", ".0",
                  "253", ".0",
                  "254", ".0",
                  "255", ".0",
                  "256", ".0",
                  "257", ".0",
                  "258", ".0",
                  "259", ".0",
                  "2510", ".0",
                  "2511", ".0",
                  "2512", ".0",
                  "2513", ".0",
                  "2514", ".0",
                  "2515", ".0",
                  "2516", ".0",
                  "2517", ".0",
                  "2518", ".0",
                  "2519", ".0",
                  "2520", ".0",
                  "2521", ".0",
                  "2522", ".0",
                  "2523", ".0",
                  "2524", ".0",
                  "2525", ".0",
                  "2526", ".0",
                  "2527", ".0",
                  "2528", ".0",
                  "2529", ".0",
                  "2530", ".0",
                  "2531", ".0",
                  "2532", ".0",
                  "2533", ".0",
                  "2534", ".0",
                  "2535", ".0",
                  "2536", ".0",
                  "2537", ".0",
                  "2538", ".0",
                  "2539", ".0",
                  "2540", ".0",
                  "2541", ".0",
                  "2542", ".0",
                  "2543", ".0",
                  "2544", ".0",
                  "2545", ".0",
                  "2546", ".0",
                  "2547", ".0",
                  "2548", ".0",
                  "2549", ".0",
                  "2550", ".0",
                  "2551", ".0",
                  "2552", ".0",
                  "2553", ".0",
                  "2554", ".0",
                  "2555", ".0",
                  "2556", ".0",
                  "2557", ".0",
                  "2558", ".0",
                  "2559", ".0",
                  "2560", ".0",
                  "2561", ".0",
                  "2562", ".0",
                  "2563", ".0",
                  "2564", ".0",
                  "2565", ".0",
                  "2566", ".0",
                  "2567", ".0",
                  "2568", ".0",
                  "2569", ".0",
                  "2570", ".0",
                  "2571", ".0",
                  "2572", ".0",
                  "2573", ".0",
                  "2574", ".0",
                  "2575", ".0",
                  "2576", ".0",
                  "2577", ".0",
                  "2578", ".0",
                  "2579", ".0",
                  "2580", ".0",
                  "2581", ".0",
                  "2582", ".0",
                  "2583", ".0",
                  "2584", ".0",
                  "2585", ".0",
                  "2586", ".0",
                  "2587", ".0",
                  "2588", ".0",
                  "2589", ".0",
                  "2590", ".0",
                  "2591", ".0",
                  "2592", ".0",
                  "2593", ".0",
                  "2594", ".0",
                  "2595", ".0",
                  "2596", ".0",
                  "2597", ".0",
                  "2598", ".0",
                  "2599", ".0",
                  "25100", ".0",
                  "25101", ".0",
                  "25102", ".0",
                  "25103", ".0",
                  "25104", ".0",
                  "25105", ".0",
                  "25106", ".0",
                  "25107", ".0",
                  "25108", ".0",
                  "25109", ".0",
                  "25110", ".0",
                  "25111", ".0",
                  "25112", ".0",
                  "25113", ".0",
                  "25114", ".0",
                  "25115", ".0",
                  "25116", ".0",
                  "25117", ".0",
                  "25118", ".0",
                  "25119", ".0",
                  "25120", ".0",
                  "25121", ".0",
                  "25122", ".0",
                  "25123", ".0",
                  "25124", ".0",
                  "25125", ".0",
                  "25126", ".0",
                  "25127", ".0",
                  "25128", ".128",
                  "25129", ".128",
                  "25130", ".128",
                  "25131", ".128",
                  "25132", ".128",
                  "25133", ".128",
                  "25134", ".128",
                  "25135", ".128",
                  "25136", ".128",
                  "25137", ".128",
                  "25138", ".128",
                  "25139", ".128",
                  "25140", ".128",
                  "25141", ".128",
                  "25142", ".128",
                  "25143", ".128",
                  "25144", ".128",
                  "25145", ".128",
                  "25146", ".128",
                  "25147", ".128",
                  "25148", ".128",
                  "25149", ".128",
                  "25150", ".128",
                  "25151", ".128",
                  "25152", ".128",
                  "25153", ".128",
                  "25154", ".128",
                  "25155", ".128",
                  "25156", ".128",
                  "25157", ".128",
                  "25158", ".128",
                  "25159", ".128",
                  "25160", ".128",
                  "25161", ".128",
                  "25162", ".128",
                  "25163", ".128",
                  "25164", ".128",
                  "25165", ".128",
                  "25166", ".128",
                  "25167", ".128",
                  "25168", ".128",
                  "25169", ".128",
                  "25170", ".128",
                  "25171", ".128",
                  "25172", ".128",
                  "25173", ".128",
                  "25174", ".128",
                  "25175", ".128",
                  "25176", ".128",
                  "25177", ".128",
                  "25178", ".128",
                  "25179", ".128",
                  "25180", ".128",
                  "25181", ".128",
                  "25182", ".128",
                  "25183", ".128",
                  "25184", ".128",
                  "25185", ".128",
                  "25186", ".128",
                  "25187", ".128",
                  "25188", ".128",
                  "25189", ".128",
                  "25190", ".128",
                  "25191", ".128",
                  "25192", ".128",
                  "25193", ".128",
                  "25194", ".128",
                  "25195", ".128",
                  "25196", ".128",
                  "25197", ".128",
                  "25198", ".128",
                  "25199", ".128",
                  "25200", ".128",
                  "25201", ".128",
                  "25202", ".128",
                  "25203", ".128",
                  "25204", ".128",
                  "25205", ".128",
                  "25206", ".128",
                  "25207", ".128",
                  "25208", ".128",
                  "25209", ".128",
                  "25210", ".128",
                  "25211", ".128",
                  "25212", ".128",
                  "25213", ".128",
                  "25214", ".128",
                  "25215", ".128",
                  "25216", ".128",
                  "25217", ".128",
                  "25218", ".128",
                  "25219", ".128",
                  "25220", ".128",
                  "25221", ".128",
                  "25222", ".128",
                  "25223", ".128",
                  "25224", ".128",
                  "25225", ".128",
                  "25226", ".128",
                  "25227", ".128",
                  "25228", ".128",
                  "25229", ".128",
                  "25230", ".128",
                  "25231", ".128",
                  "25232", ".128",
                  "25233", ".128",
                  "25234", ".128",
                  "25235", ".128",
                  "25236", ".128",
                  "25237", ".128",
                  "25238", ".128",
                  "25239", ".128",
                  "25240", ".128",
                  "25241", ".128",
                  "25242", ".128",
                  "25243", ".128",
                  "25244", ".128",
                  "25245", ".128",
                  "25246", ".128",
                  "25247", ".128",
                  "25248", ".128",
                  "25249", ".128",
                  "25250", ".128",
                  "25251", ".128",
                  "25252", ".128",
                  "25253", ".128",
                  "25254", ".128",
                  "25255", ".128",
                  "260", ".0",
                  "261", ".0",
                  "262", ".0",
                  "263", ".0",
                  "264", ".0",
                  "265", ".0",
                  "266", ".0",
                  "267", ".0",
                  "268", ".0",
                  "269", ".0",
                  "2610", ".0",
                  "2611", ".0",
                  "2612", ".0",
                  "2613", ".0",
                  "2614", ".0",
                  "2615", ".0",
                  "2616", ".0",
                  "2617", ".0",
                  "2618", ".0",
                  "2619", ".0",
                  "2620", ".0",
                  "2621", ".0",
                  "2622", ".0",
                  "2623", ".0",
                  "2624", ".0",
                  "2625", ".0",
                  "2626", ".0",
                  "2627", ".0",
                  "2628", ".0",
                  "2629", ".0",
                  "2630", ".0",
                  "2631", ".0",
                  "2632", ".0",
                  "2633", ".0",
                  "2634", ".0",
                  "2635", ".0",
                  "2636", ".0",
                  "2637", ".0",
                  "2638", ".0",
                  "2639", ".0",
                  "2640", ".0",
                  "2641", ".0",
                  "2642", ".0",
                  "2643", ".0",
                  "2644", ".0",
                  "2645", ".0",
                  "2646", ".0",
                  "2647", ".0",
                  "2648", ".0",
                  "2649", ".0",
                  "2650", ".0",
                  "2651", ".0",
                  "2652", ".0",
                  "2653", ".0",
                  "2654", ".0",
                  "2655", ".0",
                  "2656", ".0",
                  "2657", ".0",
                  "2658", ".0",
                  "2659", ".0",
                  "2660", ".0",
                  "2661", ".0",
                  "2662", ".0",
                  "2663", ".0",
                  "2664", ".64",
                  "2665", ".64",
                  "2666", ".64",
                  "2667", ".64",
                  "2668", ".64",
                  "2669", ".64",
                  "2670", ".64",
                  "2671", ".64",
                  "2672", ".64",
                  "2673", ".64",
                  "2674", ".64",
                  "2675", ".64",
                  "2676", ".64",
                  "2677", ".64",
                  "2678", ".64",
                  "2679", ".64",
                  "2680", ".64",
                  "2681", ".64",
                  "2682", ".64",
                  "2683", ".64",
                  "2684", ".64",
                  "2685", ".64",
                  "2686", ".64",
                  "2687", ".64",
                  "2688", ".64",
                  "2689", ".64",
                  "2690", ".64",
                  "2691", ".64",
                  "2692", ".64",
                  "2693", ".64",
                  "2694", ".64",
                  "2695", ".64",
                  "2696", ".64",
                  "2697", ".64",
                  "2698", ".64",
                  "2699", ".64",
                  "26100", ".64",
                  "26101", ".64",
                  "26102", ".64",
                  "26103", ".64",
                  "26104", ".64",
                  "26105", ".64",
                  "26106", ".64",
                  "26107", ".64",
                  "26108", ".64",
                  "26109", ".64",
                  "26110", ".64",
                  "26111", ".64",
                  "26112", ".64",
                  "26113", ".64",
                  "26114", ".64",
                  "26115", ".64",
                  "26116", ".64",
                  "26117", ".64",
                  "26118", ".64",
                  "26119", ".64",
                  "26120", ".64",
                  "26121", ".64",
                  "26122", ".64",
                  "26123", ".64",
                  "26124", ".64",
                  "26125", ".64",
                  "26126", ".64",
                  "26127", ".64",
                  "26128", ".128",
                  "26129", ".128",
                  "26130", ".128",
                  "26131", ".128",
                  "26132", ".128",
                  "26133", ".128",
                  "26134", ".128",
                  "26135", ".128",
                  "26136", ".128",
                  "26137", ".128",
                  "26138", ".128",
                  "26139", ".128",
                  "26140", ".128",
                  "26141", ".128",
                  "26142", ".128",
                  "26143", ".128",
                  "26144", ".128",
                  "26145", ".128",
                  "26146", ".128",
                  "26147", ".128",
                  "26148", ".128",
                  "26149", ".128",
                  "26150", ".128",
                  "26151", ".128",
                  "26152", ".128",
                  "26153", ".128",
                  "26154", ".128",
                  "26155", ".128",
                  "26156", ".128",
                  "26157", ".128",
                  "26158", ".128",
                  "26159", ".128",
                  "26160", ".128",
                  "26161", ".128",
                  "26162", ".128",
                  "26163", ".128",
                  "26164", ".128",
                  "26165", ".128",
                  "26166", ".128",
                  "26167", ".128",
                  "26168", ".128",
                  "26169", ".128",
                  "26170", ".128",
                  "26171", ".128",
                  "26172", ".128",
                  "26173", ".128",
                  "26174", ".128",
                  "26175", ".128",
                  "26176", ".128",
                  "26177", ".128",
                  "26178", ".128",
                  "26179", ".128",
                  "26180", ".128",
                  "26181", ".128",
                  "26182", ".128",
                  "26183", ".128",
                  "26184", ".128",
                  "26185", ".128",
                  "26186", ".128",
                  "26187", ".128",
                  "26188", ".128",
                  "26189", ".128",
                  "26190", ".128",
                  "26191", ".128",
                  "26192", ".192",
                  "26193", ".192",
                  "26194", ".192",
                  "26195", ".192",
                  "26196", ".192",
                  "26197", ".192",
                  "26198", ".192",
                  "26199", ".192",
                  "26200", ".192",
                  "26201", ".192",
                  "26202", ".192",
                  "26203", ".192",
                  "26204", ".192",
                  "26205", ".192",
                  "26206", ".192",
                  "26207", ".192",
                  "26208", ".192",
                  "26209", ".192",
                  "26210", ".192",
                  "26211", ".192",
                  "26212", ".192",
                  "26213", ".192",
                  "26214", ".192",
                  "26215", ".192",
                  "26216", ".192",
                  "26217", ".192",
                  "26218", ".192",
                  "26219", ".192",
                  "26220", ".192",
                  "26221", ".192",
                  "26222", ".192",
                  "26223", ".192",
                  "26224", ".192",
                  "26225", ".192",
                  "26226", ".192",
                  "26227", ".192",
                  "26228", ".192",
                  "26229", ".192",
                  "26230", ".192",
                  "26231", ".192",
                  "26232", ".192",
                  "26233", ".192",
                  "26234", ".192",
                  "26235", ".192",
                  "26236", ".192",
                  "26237", ".192",
                  "26238", ".192",
                  "26239", ".192",
                  "26240", ".192",
                  "26241", ".192",
                  "26242", ".192",
                  "26243", ".192",
                  "26244", ".192",
                  "26245", ".192",
                  "26246", ".192",
                  "26247", ".192",
                  "26248", ".192",
                  "26249", ".192",
                  "26250", ".192",
                  "26251", ".192",
                  "26252", ".192",
                  "26253", ".192",
                  "26254", ".192",
                  "26255", ".192",
                  "270", ".0",
                  "271", ".0",
                  "272", ".0",
                  "273", ".0",
                  "274", ".0",
                  "275", ".0",
                  "276", ".0",
                  "277", ".0",
                  "278", ".0",
                  "279", ".0",
                  "2710", ".0",
                  "2711", ".0",
                  "2712", ".0",
                  "2713", ".0",
                  "2714", ".0",
                  "2715", ".0",
                  "2716", ".0",
                  "2717", ".0",
                  "2718", ".0",
                  "2719", ".0",
                  "2720", ".0",
                  "2721", ".0",
                  "2722", ".0",
                  "2723", ".0",
                  "2724", ".0",
                  "2725", ".0",
                  "2726", ".0",
                  "2727", ".0",
                  "2728", ".0",
                  "2729", ".0",
                  "2730", ".0",
                  "2731", ".0",
                  "2732", ".32",
                  "2733", ".32",
                  "2734", ".32",
                  "2735", ".32",
                  "2736", ".32",
                  "2737", ".32",
                  "2738", ".32",
                  "2739", ".32",
                  "2740", ".32",
                  "2741", ".32",
                  "2742", ".32",
                  "2743", ".32",
                  "2744", ".32",
                  "2745", ".32",
                  "2746", ".32",
                  "2747", ".32",
                  "2748", ".32",
                  "2749", ".32",
                  "2750", ".32",
                  "2751", ".32",
                  "2752", ".32",
                  "2753", ".32",
                  "2754", ".32",
                  "2755", ".32",
                  "2756", ".32",
                  "2757", ".32",
                  "2758", ".32",
                  "2759", ".32",
                  "2760", ".32",
                  "2761", ".32",
                  "2762", ".32",
                  "2763", ".32",
                  "2764", ".64",
                  "2765", ".64",
                  "2766", ".64",
                  "2767", ".64",
                  "2768", ".64",
                  "2769", ".64",
                  "2770", ".64",
                  "2771", ".64",
                  "2772", ".64",
                  "2773", ".64",
                  "2774", ".64",
                  "2775", ".64",
                  "2776", ".64",
                  "2777", ".64",
                  "2778", ".64",
                  "2779", ".64",
                  "2780", ".64",
                  "2781", ".64",
                  "2782", ".64",
                  "2783", ".64",
                  "2784", ".64",
                  "2785", ".64",
                  "2786", ".64",
                  "2787", ".64",
                  "2788", ".64",
                  "2789", ".64",
                  "2790", ".64",
                  "2791", ".64",
                  "2792", ".64",
                  "2793", ".64",
                  "2794", ".64",
                  "2795", ".64",
                  "2796", ".96",
                  "2797", ".96",
                  "2798", ".96",
                  "2799", ".96",
                  "27100", ".96",
                  "27101", ".96",
                  "27102", ".96",
                  "27103", ".96",
                  "27104", ".96",
                  "27105", ".96",
                  "27106", ".96",
                  "27107", ".96",
                  "27108", ".96",
                  "27109", ".96",
                  "27110", ".96",
                  "27111", ".96",
                  "27112", ".96",
                  "27113", ".96",
                  "27114", ".96",
                  "27115", ".96",
                  "27116", ".96",
                  "27117", ".96",
                  "27118", ".96",
                  "27119", ".96",
                  "27120", ".96",
                  "27121", ".96",
                  "27122", ".96",
                  "27123", ".96",
                  "27124", ".96",
                  "27125", ".96",
                  "27126", ".96",
                  "27127", ".96",
                  "27128", ".128",
                  "27129", ".128",
                  "27130", ".128",
                  "27131", ".128",
                  "27132", ".128",
                  "27133", ".128",
                  "27134", ".128",
                  "27135", ".128",
                  "27136", ".128",
                  "27137", ".128",
                  "27138", ".128",
                  "27139", ".128",
                  "27140", ".128",
                  "27141", ".128",
                  "27142", ".128",
                  "27143", ".128",
                  "27144", ".128",
                  "27145", ".128",
                  "27146", ".128",
                  "27147", ".128",
                  "27148", ".128",
                  "27149", ".128",
                  "27150", ".128",
                  "27151", ".128",
                  "27152", ".128",
                  "27153", ".128",
                  "27154", ".128",
                  "27155", ".128",
                  "27156", ".128",
                  "27157", ".128",
                  "27158", ".128",
                  "27159", ".128",
                  "27160", ".160",
                  "27161", ".160",
                  "27162", ".160",
                  "27163", ".160",
                  "27164", ".160",
                  "27165", ".160",
                  "27166", ".160",
                  "27167", ".160",
                  "27168", ".160",
                  "27169", ".160",
                  "27170", ".160",
                  "27171", ".160",
                  "27172", ".160",
                  "27173", ".160",
                  "27174", ".160",
                  "27175", ".160",
                  "27176", ".160",
                  "27177", ".160",
                  "27178", ".160",
                  "27179", ".160",
                  "27180", ".160",
                  "27181", ".160",
                  "27182", ".160",
                  "27183", ".160",
                  "27184", ".160",
                  "27185", ".160",
                  "27186", ".160",
                  "27187", ".160",
                  "27188", ".160",
                  "27189", ".160",
                  "27190", ".160",
                  "27191", ".160",
                  "27192", ".192",
                  "27193", ".192",
                  "27194", ".192",
                  "27195", ".192",
                  "27196", ".192",
                  "27197", ".192",
                  "27198", ".192",
                  "27199", ".192",
                  "27200", ".192",
                  "27201", ".192",
                  "27202", ".192",
                  "27203", ".192",
                  "27204", ".192",
                  "27205", ".192",
                  "27206", ".192",
                  "27207", ".192",
                  "27208", ".192",
                  "27209", ".192",
                  "27210", ".192",
                  "27211", ".192",
                  "27212", ".192",
                  "27213", ".192",
                  "27214", ".192",
                  "27215", ".192",
                  "27216", ".192",
                  "27217", ".192",
                  "27218", ".192",
                  "27219", ".192",
                  "27220", ".192",
                  "27221", ".192",
                  "27222", ".192",
                  "27223", ".192",
                  "27224", ".224",
                  "27225", ".224",
                  "27226", ".224",
                  "27227", ".224",
                  "27228", ".224",
                  "27229", ".224",
                  "27230", ".224",
                  "27231", ".224",
                  "27232", ".224",
                  "27233", ".224",
                  "27234", ".224",
                  "27235", ".224",
                  "27236", ".224",
                  "27237", ".224",
                  "27238", ".224",
                  "27239", ".224",
                  "27240", ".224",
                  "27241", ".224",
                  "27242", ".224",
                  "27243", ".224",
                  "27244", ".224",
                  "27245", ".224",
                  "27246", ".224",
                  "27247", ".224",
                  "27248", ".224",
                  "27249", ".224",
                  "27250", ".224",
                  "27251", ".224",
                  "27252", ".224",
                  "27253", ".224",
                  "27254", ".224",
                  "27255", ".224",
                  "280", ".0",
                  "281", ".0",
                  "282", ".0",
                  "283", ".0",
                  "284", ".0",
                  "285", ".0",
                  "286", ".0",
                  "287", ".0",
                  "288", ".0",
                  "289", ".0",
                  "2810", ".0",
                  "2811", ".0",
                  "2812", ".0",
                  "2813", ".0",
                  "2814", ".0",
                  "2815", ".0",
                  "2816", ".16",
                  "2817", ".16",
                  "2818", ".16",
                  "2819", ".16",
                  "2820", ".16",
                  "2821", ".16",
                  "2822", ".16",
                  "2823", ".16",
                  "2824", ".16",
                  "2825", ".16",
                  "2826", ".16",
                  "2827", ".16",
                  "2828", ".16",
                  "2829", ".16",
                  "2830", ".16",
                  "2831", ".16",
                  "2832", ".32",
                  "2833", ".32",
                  "2834", ".32",
                  "2835", ".32",
                  "2836", ".32",
                  "2837", ".32",
                  "2838", ".32",
                  "2839", ".32",
                  "2840", ".32",
                  "2841", ".32",
                  "2842", ".32",
                  "2843", ".32",
                  "2844", ".32",
                  "2845", ".32",
                  "2846", ".32",
                  "2847", ".32",
                  "2848", ".48",
                  "2849", ".48",
                  "2850", ".48",
                  "2851", ".48",
                  "2852", ".48",
                  "2853", ".48",
                  "2854", ".48",
                  "2855", ".48",
                  "2856", ".48",
                  "2857", ".48",
                  "2858", ".48",
                  "2859", ".48",
                  "2860", ".48",
                  "2861", ".48",
                  "2862", ".48",
                  "2863", ".48",
                  "2864", ".64",
                  "2865", ".64",
                  "2866", ".64",
                  "2867", ".64",
                  "2868", ".64",
                  "2869", ".64",
                  "2870", ".64",
                  "2871", ".64",
                  "2872", ".64",
                  "2873", ".64",
                  "2874", ".64",
                  "2875", ".64",
                  "2876", ".64",
                  "2877", ".64",
                  "2878", ".64",
                  "2879", ".64",
                  "2880", ".80",
                  "2881", ".80",
                  "2882", ".80",
                  "2883", ".80",
                  "2884", ".80",
                  "2885", ".80",
                  "2886", ".80",
                  "2887", ".80",
                  "2888", ".80",
                  "2889", ".80",
                  "2890", ".80",
                  "2891", ".80",
                  "2892", ".80",
                  "2893", ".80",
                  "2894", ".80",
                  "2895", ".80",
                  "2896", ".96",
                  "2897", ".96",
                  "2898", ".96",
                  "2899", ".96",
                  "28100", ".96",
                  "28101", ".96",
                  "28102", ".96",
                  "28103", ".96",
                  "28104", ".96",
                  "28105", ".96",
                  "28106", ".96",
                  "28107", ".96",
                  "28108", ".96",
                  "28109", ".96",
                  "28110", ".96",
                  "28111", ".96",
                  "28112", ".112",
                  "28113", ".112",
                  "28114", ".112",
                  "28115", ".112",
                  "28116", ".112",
                  "28117", ".112",
                  "28118", ".112",
                  "28119", ".112",
                  "28120", ".112",
                  "28121", ".112",
                  "28122", ".112",
                  "28123", ".112",
                  "28124", ".112",
                  "28125", ".112",
                  "28126", ".112",
                  "28127", ".112",
                  "28128", ".128",
                  "28129", ".128",
                  "28130", ".128",
                  "28131", ".128",
                  "28132", ".128",
                  "28133", ".128",
                  "28134", ".128",
                  "28135", ".128",
                  "28136", ".128",
                  "28137", ".128",
                  "28138", ".128",
                  "28139", ".128",
                  "28140", ".128",
                  "28141", ".128",
                  "28142", ".128",
                  "28143", ".128",
                  "28144", ".144",
                  "28145", ".144",
                  "28146", ".144",
                  "28147", ".144",
                  "28148", ".144",
                  "28149", ".144",
                  "28150", ".144",
                  "28151", ".144",
                  "28152", ".144",
                  "28153", ".144",
                  "28154", ".144",
                  "28155", ".144",
                  "28156", ".144",
                  "28157", ".144",
                  "28158", ".144",
                  "28159", ".144",
                  "28160", ".160",
                  "28161", ".160",
                  "28162", ".160",
                  "28163", ".160",
                  "28164", ".160",
                  "28165", ".160",
                  "28166", ".160",
                  "28167", ".160",
                  "28168", ".160",
                  "28169", ".160",
                  "28170", ".160",
                  "28171", ".160",
                  "28172", ".160",
                  "28173", ".160",
                  "28174", ".160",
                  "28175", ".160",
                  "28176", ".176",
                  "28177", ".176",
                  "28178", ".176",
                  "28179", ".176",
                  "28180", ".176",
                  "28181", ".176",
                  "28182", ".176",
                  "28183", ".176",
                  "28184", ".176",
                  "28185", ".176",
                  "28186", ".176",
                  "28187", ".176",
                  "28188", ".176",
                  "28189", ".176",
                  "28190", ".176",
                  "28191", ".176",
                  "28192", ".192",
                  "28193", ".192",
                  "28194", ".192",
                  "28195", ".192",
                  "28196", ".192",
                  "28197", ".192",
                  "28198", ".192",
                  "28199", ".192",
                  "28200", ".192",
                  "28201", ".192",
                  "28202", ".192",
                  "28203", ".192",
                  "28204", ".192",
                  "28205", ".192",
                  "28206", ".192",
                  "28207", ".192",
                  "28208", ".208",
                  "28209", ".208",
                  "28210", ".208",
                  "28211", ".208",
                  "28212", ".208",
                  "28213", ".208",
                  "28214", ".208",
                  "28215", ".208",
                  "28216", ".208",
                  "28217", ".208",
                  "28218", ".208",
                  "28219", ".208",
                  "28220", ".208",
                  "28221", ".208",
                  "28222", ".208",
                  "28223", ".208",
                  "28224", ".224",
                  "28225", ".224",
                  "28226", ".224",
                  "28227", ".224",
                  "28228", ".224",
                  "28229", ".224",
                  "28230", ".224",
                  "28231", ".224",
                  "28232", ".224",
                  "28233", ".224",
                  "28234", ".224",
                  "28235", ".224",
                  "28236", ".224",
                  "28237", ".224",
                  "28238", ".224",
                  "28239", ".224",
                  "28240", ".240",
                  "28241", ".240",
                  "28242", ".240",
                  "28243", ".240",
                  "28244", ".240",
                  "28245", ".240",
                  "28246", ".240",
                  "28247", ".240",
                  "28248", ".240",
                  "28249", ".240",
                  "28250", ".240",
                  "28251", ".240",
                  "28252", ".240",
                  "28253", ".240",
                  "28254", ".240",
                  "28255", ".240",
                  "290", ".0",
                  "291", ".0",
                  "292", ".0",
                  "293", ".0",
                  "294", ".0",
                  "295", ".0",
                  "296", ".0",
                  "297", ".0",
                  "298", ".8",
                  "299", ".8",
                  "2910", ".8",
                  "2911", ".8",
                  "2912", ".8",
                  "2913", ".8",
                  "2914", ".8",
                  "2915", ".8",
                  "2916", ".16",
                  "2917", ".16",
                  "2918", ".16",
                  "2919", ".16",
                  "2920", ".16",
                  "2921", ".16",
                  "2922", ".16",
                  "2923", ".16",
                  "2924", ".24",
                  "2925", ".24",
                  "2926", ".24",
                  "2927", ".24",
                  "2928", ".24",
                  "2929", ".24",
                  "2930", ".24",
                  "2931", ".24",
                  "2932", ".32",
                  "2933", ".32",
                  "2934", ".32",
                  "2935", ".32",
                  "2936", ".32",
                  "2937", ".32",
                  "2938", ".32",
                  "2939", ".32",
                  "2940", ".40",
                  "2941", ".40",
                  "2942", ".40",
                  "2943", ".40",
                  "2944", ".40",
                  "2945", ".40",
                  "2946", ".40",
                  "2947", ".40",
                  "2948", ".48",
                  "2949", ".48",
                  "2950", ".48",
                  "2951", ".48",
                  "2952", ".48",
                  "2953", ".48",
                  "2954", ".48",
                  "2955", ".48",
                  "2956", ".56",
                  "2957", ".56",
                  "2958", ".56",
                  "2959", ".56",
                  "2960", ".56",
                  "2961", ".56",
                  "2962", ".56",
                  "2963", ".56",
                  "2964", ".64",
                  "2965", ".64",
                  "2966", ".64",
                  "2967", ".64",
                  "2968", ".64",
                  "2969", ".64",
                  "2970", ".64",
                  "2971", ".64",
                  "2972", ".72",
                  "2973", ".72",
                  "2974", ".72",
                  "2975", ".72",
                  "2976", ".72",
                  "2977", ".72",
                  "2978", ".72",
                  "2979", ".72",
                  "2980", ".80",
                  "2981", ".80",
                  "2982", ".80",
                  "2983", ".80",
                  "2984", ".80",
                  "2985", ".80",
                  "2986", ".80",
                  "2987", ".80",
                  "2988", ".88",
                  "2989", ".88",
                  "2990", ".88",
                  "2991", ".88",
                  "2992", ".88",
                  "2993", ".88",
                  "2994", ".88",
                  "2995", ".88",
                  "2996", ".96",
                  "2997", ".96",
                  "2998", ".96",
                  "2999", ".96",
                  "29100", ".96",
                  "29101", ".96",
                  "29102", ".96",
                  "29103", ".96",
                  "29104", ".104",
                  "29105", ".104",
                  "29106", ".104",
                  "29107", ".104",
                  "29108", ".104",
                  "29109", ".104",
                  "29110", ".104",
                  "29111", ".104",
                  "29112", ".112",
                  "29113", ".112",
                  "29114", ".112",
                  "29115", ".112",
                  "29116", ".112",
                  "29117", ".112",
                  "29118", ".112",
                  "29119", ".112",
                  "29120", ".120",
                  "29121", ".120",
                  "29122", ".120",
                  "29123", ".120",
                  "29124", ".120",
                  "29125", ".120",
                  "29126", ".120",
                  "29127", ".120",
                  "29128", ".128",
                  "29129", ".128",
                  "29130", ".128",
                  "29131", ".128",
                  "29132", ".128",
                  "29133", ".128",
                  "29134", ".128",
                  "29135", ".128",
                  "29136", ".136",
                  "29137", ".136",
                  "29138", ".136",
                  "29139", ".136",
                  "29140", ".136",
                  "29141", ".136",
                  "29142", ".136",
                  "29143", ".136",
                  "29144", ".144",
                  "29145", ".144",
                  "29146", ".144",
                  "29147", ".144",
                  "29148", ".144",
                  "29149", ".144",
                  "29150", ".144",
                  "29151", ".144",
                  "29152", ".152",
                  "29153", ".152",
                  "29154", ".152",
                  "29155", ".152",
                  "29156", ".152",
                  "29157", ".152",
                  "29158", ".152",
                  "29159", ".152",
                  "29160", ".160",
                  "29161", ".160",
                  "29162", ".160",
                  "29163", ".160",
                  "29164", ".160",
                  "29165", ".160",
                  "29166", ".160",
                  "29167", ".160",
                  "29168", ".168",
                  "29169", ".168",
                  "29170", ".168",
                  "29171", ".168",
                  "29172", ".168",
                  "29173", ".168",
                  "29174", ".168",
                  "29175", ".168",
                  "29176", ".176",
                  "29177", ".176",
                  "29178", ".176",
                  "29179", ".176",
                  "29180", ".176",
                  "29181", ".176",
                  "29182", ".176",
                  "29183", ".176",
                  "29184", ".184",
                  "29185", ".184",
                  "29186", ".184",
                  "29187", ".184",
                  "29188", ".184",
                  "29189", ".184",
                  "29190", ".184",
                  "29191", ".184",
                  "29192", ".192",
                  "29193", ".192",
                  "29194", ".192",
                  "29195", ".192",
                  "29196", ".192",
                  "29197", ".192",
                  "29198", ".192",
                  "29199", ".192",
                  "29200", ".200",
                  "29201", ".200",
                  "29202", ".200",
                  "29203", ".200",
                  "29204", ".200",
                  "29205", ".200",
                  "29206", ".200",
                  "29207", ".200",
                  "29208", ".208",
                  "29209", ".208",
                  "29210", ".208",
                  "29211", ".208",
                  "29212", ".208",
                  "29213", ".208",
                  "29214", ".208",
                  "29215", ".208",
                  "29216", ".216",
                  "29217", ".216",
                  "29218", ".216",
                  "29219", ".216",
                  "29220", ".216",
                  "29221", ".216",
                  "29222", ".216",
                  "29223", ".216",
                  "29224", ".224",
                  "29225", ".224",
                  "29226", ".224",
                  "29227", ".224",
                  "29228", ".224",
                  "29229", ".224",
                  "29230", ".224",
                  "29231", ".224",
                  "29232", ".232",
                  "29233", ".232",
                  "29234", ".232",
                  "29235", ".232",
                  "29236", ".232",
                  "29237", ".232",
                  "29238", ".232",
                  "29239", ".232",
                  "29240", ".240",
                  "29241", ".240",
                  "29242", ".240",
                  "29243", ".240",
                  "29244", ".240",
                  "29245", ".240",
                  "29246", ".240",
                  "29247", ".240",
                  "29248", ".248",
                  "29249", ".248",
                  "29250", ".248",
                  "29251", ".248",
                  "29252", ".248",
                  "29253", ".248",
                  "29254", ".248",
                  "29255", ".248",
                  "300", ".0",
                  "301", ".0",
                  "302", ".0",
                  "303", ".0",
                  "304", ".4",
                  "305", ".4",
                  "306", ".4",
                  "307", ".4",
                  "308", ".8",
                  "309", ".8",
                  "3010", ".8",
                  "3011", ".8",
                  "3012", ".12",
                  "3013", ".12",
                  "3014", ".12",
                  "3015", ".12",
                  "3016", ".16",
                  "3017", ".16",
                  "3018", ".16",
                  "3019", ".16",
                  "3020", ".20",
                  "3021", ".20",
                  "3022", ".20",
                  "3023", ".20",
                  "3024", ".24",
                  "3025", ".24",
                  "3026", ".24",
                  "3027", ".24",
                  "3028", ".28",
                  "3029", ".28",
                  "3030", ".28",
                  "3031", ".28",
                  "3032", ".32",
                  "3033", ".32",
                  "3034", ".32",
                  "3035", ".32",
                  "3036", ".36",
                  "3037", ".36",
                  "3038", ".36",
                  "3039", ".36",
                  "3040", ".40",
                  "3041", ".40",
                  "3042", ".40",
                  "3043", ".40",
                  "3044", ".44",
                  "3045", ".44",
                  "3046", ".44",
                  "3047", ".44",
                  "3048", ".48",
                  "3049", ".48",
                  "3050", ".48",
                  "3051", ".48",
                  "3052", ".52",
                  "3053", ".52",
                  "3054", ".52",
                  "3055", ".52",
                  "3056", ".56",
                  "3057", ".56",
                  "3058", ".56",
                  "3059", ".56",
                  "3060", ".60",
                  "3061", ".60",
                  "3062", ".60",
                  "3063", ".60",
                  "3064", ".64",
                  "3065", ".64",
                  "3066", ".64",
                  "3067", ".64",
                  "3068", ".68",
                  "3069", ".68",
                  "3070", ".68",
                  "3071", ".68",
                  "3072", ".72",
                  "3073", ".72",
                  "3074", ".72",
                  "3075", ".72",
                  "3076", ".76",
                  "3077", ".76",
                  "3078", ".76",
                  "3079", ".76",
                  "3080", ".80",
                  "3081", ".80",
                  "3082", ".80",
                  "3083", ".80",
                  "3084", ".84",
                  "3085", ".84",
                  "3086", ".84",
                  "3087", ".84",
                  "3088", ".88",
                  "3089", ".88",
                  "3090", ".88",
                  "3091", ".88",
                  "3092", ".92",
                  "3093", ".92",
                  "3094", ".92",
                  "3095", ".92",
                  "3096", ".96",
                  "3097", ".96",
                  "3098", ".96",
                  "3099", ".96",
                  "30100", ".100",
                  "30101", ".100",
                  "30102", ".100",
                  "30103", ".100",
                  "30104", ".104",
                  "30105", ".104",
                  "30106", ".104",
                  "30107", ".104",
                  "30108", ".108",
                  "30109", ".108",
                  "30110", ".108",
                  "30111", ".108",
                  "30112", ".112",
                  "30113", ".112",
                  "30114", ".112",
                  "30115", ".112",
                  "30116", ".116",
                  "30117", ".116",
                  "30118", ".116",
                  "30119", ".116",
                  "30120", ".120",
                  "30121", ".120",
                  "30122", ".120",
                  "30123", ".120",
                  "30124", ".124",
                  "30125", ".124",
                  "30126", ".124",
                  "30127", ".124",
                  "30128", ".128",
                  "30129", ".128",
                  "30130", ".128",
                  "30131", ".128",
                  "30132", ".132",
                  "30133", ".132",
                  "30134", ".132",
                  "30135", ".132",
                  "30136", ".136",
                  "30137", ".136",
                  "30138", ".136",
                  "30139", ".136",
                  "30140", ".140",
                  "30141", ".140",
                  "30142", ".140",
                  "30143", ".140",
                  "30144", ".144",
                  "30145", ".144",
                  "30146", ".144",
                  "30147", ".144",
                  "30148", ".148",
                  "30149", ".148",
                  "30150", ".148",
                  "30151", ".148",
                  "30152", ".152",
                  "30153", ".152",
                  "30154", ".152",
                  "30155", ".152",
                  "30156", ".156",
                  "30157", ".156",
                  "30158", ".156",
                  "30159", ".156",
                  "30160", ".160",
                  "30161", ".160",
                  "30162", ".160",
                  "30163", ".160",
                  "30164", ".164",
                  "30165", ".164",
                  "30166", ".164",
                  "30167", ".164",
                  "30168", ".168",
                  "30169", ".168",
                  "30170", ".168",
                  "30171", ".168",
                  "30172", ".172",
                  "30173", ".172",
                  "30174", ".172",
                  "30175", ".172",
                  "30176", ".176",
                  "30177", ".176",
                  "30178", ".176",
                  "30179", ".176",
                  "30180", ".180",
                  "30181", ".180",
                  "30182", ".180",
                  "30183", ".180",
                  "30184", ".184",
                  "30185", ".184",
                  "30186", ".184",
                  "30187", ".184",
                  "30188", ".188",
                  "30189", ".188",
                  "30190", ".188",
                  "30191", ".188",
                  "30192", ".192",
                  "30193", ".192",
                  "30194", ".192",
                  "30195", ".192",
                  "30196", ".196",
                  "30197", ".196",
                  "30198", ".196",
                  "30199", ".196",
                  "30200", ".200",
                  "30201", ".200",
                  "30202", ".200",
                  "30203", ".200",
                  "30204", ".204",
                  "30205", ".204",
                  "30206", ".204",
                  "30207", ".204",
                  "30208", ".208",
                  "30209", ".208",
                  "30210", ".208",
                  "30211", ".208",
                  "30212", ".212",
                  "30213", ".212",
                  "30214", ".212",
                  "30215", ".212",
                  "30216", ".216",
                  "30217", ".216",
                  "30218", ".216",
                  "30219", ".216",
                  "30220", ".220",
                  "30221", ".220",
                  "30222", ".220",
                  "30223", ".220",
                  "30224", ".224",
                  "30225", ".224",
                  "30226", ".224",
                  "30227", ".224",
                  "30228", ".228",
                  "30229", ".228",
                  "30230", ".228",
                  "30231", ".228",
                  "30232", ".232",
                  "30233", ".232",
                  "30234", ".232",
                  "30235", ".232",
                  "30236", ".236",
                  "30237", ".236",
                  "30238", ".236",
                  "30239", ".236",
                  "30240", ".240",
                  "30241", ".240",
                  "30242", ".240",
                  "30243", ".240",
                  "30244", ".244",
                  "30245", ".244",
                  "30246", ".244",
                  "30247", ".244",
                  "30248", ".248",
                  "30249", ".248",
                  "30250", ".248",
                  "30251", ".248",
                  "30252", ".252",
                  "30253", ".252",
                  "30254", ".252",
                  "30255", ".252",
                  "310", ".0",
                  "311", ".0",
                  "312", ".2",
                  "313", ".2",
                  "314", ".4",
                  "315", ".4",
                  "316", ".6",
                  "317", ".6",
                  "318", ".8",
                  "319", ".8",
                  "3110", ".10",
                  "3111", ".10",
                  "3112", ".12",
                  "3113", ".12",
                  "3114", ".14",
                  "3115", ".14",
                  "3116", ".16",
                  "3117", ".16",
                  "3118", ".18",
                  "3119", ".18",
                  "3120", ".20",
                  "3121", ".20",
                  "3122", ".22",
                  "3123", ".22",
                  "3124", ".24",
                  "3125", ".24",
                  "3126", ".26",
                  "3127", ".26",
                  "3128", ".28",
                  "3129", ".28",
                  "3130", ".30",
                  "3131", ".30",
                  "3132", ".32",
                  "3133", ".32",
                  "3134", ".34",
                  "3135", ".34",
                  "3136", ".36",
                  "3137", ".36",
                  "3138", ".38",
                  "3139", ".38",
                  "3140", ".40",
                  "3141", ".40",
                  "3142", ".42",
                  "3143", ".42",
                  "3144", ".44",
                  "3145", ".44",
                  "3146", ".46",
                  "3147", ".46",
                  "3148", ".48",
                  "3149", ".48",
                  "3150", ".50",
                  "3151", ".50",
                  "3152", ".52",
                  "3153", ".52",
                  "3154", ".54",
                  "3155", ".54",
                  "3156", ".56",
                  "3157", ".56",
                  "3158", ".58",
                  "3159", ".58",
                  "3160", ".60",
                  "3161", ".60",
                  "3162", ".62",
                  "3163", ".62",
                  "3164", ".64",
                  "3165", ".64",
                  "3166", ".66",
                  "3167", ".66",
                  "3168", ".68",
                  "3169", ".68",
                  "3170", ".70",
                  "3171", ".70",
                  "3172", ".72",
                  "3173", ".72",
                  "3174", ".74",
                  "3175", ".74",
                  "3176", ".76",
                  "3177", ".76",
                  "3178", ".78",
                  "3179", ".78",
                  "3180", ".80",
                  "3181", ".80",
                  "3182", ".82",
                  "3183", ".82",
                  "3184", ".84",
                  "3185", ".84",
                  "3186", ".86",
                  "3187", ".86",
                  "3188", ".88",
                  "3189", ".88",
                  "3190", ".90",
                  "3191", ".90",
                  "3192", ".92",
                  "3193", ".92",
                  "3194", ".94",
                  "3195", ".94",
                  "3196", ".96",
                  "3197", ".96",
                  "3198", ".98",
                  "3199", ".98",
                  "31100", ".100",
                  "31101", ".100",
                  "31102", ".102",
                  "31103", ".102",
                  "31104", ".104",
                  "31105", ".104",
                  "31106", ".106",
                  "31107", ".106",
                  "31108", ".108",
                  "31109", ".108",
                  "31110", ".110",
                  "31111", ".110",
                  "31112", ".112",
                  "31113", ".112",
                  "31114", ".114",
                  "31115", ".114",
                  "31116", ".116",
                  "31117", ".116",
                  "31118", ".118",
                  "31119", ".118",
                  "31120", ".120",
                  "31121", ".120",
                  "31122", ".122",
                  "31123", ".122",
                  "31124", ".124",
                  "31125", ".124",
                  "31126", ".126",
                  "31127", ".126",
                  "31128", ".128",
                  "31129", ".128",
                  "31130", ".130",
                  "31131", ".130",
                  "31132", ".132",
                  "31133", ".132",
                  "31134", ".134",
                  "31135", ".134",
                  "31136", ".136",
                  "31137", ".136",
                  "31138", ".138",
                  "31139", ".138",
                  "31140", ".140",
                  "31141", ".140",
                  "31142", ".142",
                  "31143", ".142",
                  "31144", ".144",
                  "31145", ".144",
                  "31146", ".146",
                  "31147", ".146",
                  "31148", ".148",
                  "31149", ".148",
                  "31150", ".150",
                  "31151", ".150",
                  "31152", ".152",
                  "31153", ".152",
                  "31154", ".154",
                  "31155", ".154",
                  "31156", ".156",
                  "31157", ".156",
                  "31158", ".158",
                  "31159", ".158",
                  "31160", ".160",
                  "31161", ".160",
                  "31162", ".162",
                  "31163", ".162",
                  "31164", ".164",
                  "31165", ".164",
                  "31166", ".166",
                  "31167", ".166",
                  "31168", ".168",
                  "31169", ".168",
                  "31170", ".170",
                  "31171", ".170",
                  "31172", ".172",
                  "31173", ".172",
                  "31174", ".174",
                  "31175", ".174",
                  "31176", ".176",
                  "31177", ".176",
                  "31178", ".178",
                  "31179", ".178",
                  "31180", ".180",
                  "31181", ".180",
                  "31182", ".182",
                  "31183", ".182",
                  "31184", ".184",
                  "31185", ".184",
                  "31186", ".186",
                  "31187", ".186",
                  "31188", ".188",
                  "31189", ".188",
                  "31190", ".190",
                  "31191", ".190",
                  "31192", ".192",
                  "31193", ".192",
                  "31194", ".194",
                  "31195", ".194",
                  "31196", ".196",
                  "31197", ".196",
                  "31198", ".198",
                  "31199", ".198",
                  "31200", ".200",
                  "31201", ".200",
                  "31202", ".202",
                  "31203", ".202",
                  "31204", ".204",
                  "31205", ".204",
                  "31206", ".206",
                  "31207", ".206",
                  "31208", ".208",
                  "31209", ".208",
                  "31210", ".210",
                  "31211", ".210",
                  "31212", ".212",
                  "31213", ".212",
                  "31214", ".214",
                  "31215", ".214",
                  "31216", ".216",
                  "31217", ".216",
                  "31218", ".218",
                  "31219", ".218",
                  "31220", ".220",
                  "31221", ".220",
                  "31222", ".222",
                  "31223", ".222",
                  "31224", ".224",
                  "31225", ".224",
                  "31226", ".226",
                  "31227", ".226",
                  "31228", ".228",
                  "31229", ".228",
                  "31230", ".230",
                  "31231", ".230",
                  "31232", ".232",
                  "31233", ".232",
                  "31234", ".234",
                  "31235", ".234",
                  "31236", ".236",
                  "31237", ".236",
                  "31238", ".238",
                  "31239", ".238",
                  "31240", ".240",
                  "31241", ".240",
                  "31242", ".242",
                  "31243", ".242",
                  "31244", ".244",
                  "31245", ".244",
                  "31246", ".246",
                  "31247", ".246",
                  "31248", ".248",
                  "31249", ".248",
                  "31250", ".250",
                  "31251", ".250",
                  "31252", ".252",
                  "31253", ".252",
                  "31254", ".254",
                  "31255", ".254",
);




#
# got them from IANA at 19970901
#
# many sevices files are not complete enough
# and thus hardcoding works better ... :-(
#
# note when updating, special case:
# 
# ping is added with value 2

%SERVICES= ("ping", 2,
            "tcpmux", 1,
            "compressnet", 1,
            "rje", 1,
            "echo", 1,
            "discard", 1,
            "systat", 1,
            "daytime", 1,
            "qotd", 1,
            "msp", 1,
            "chargen", 1,
            "ftp-data", 1,
            "ftp", 1,
            "ssh", 1,
            "telnet", 1,
            "smtp", 1,
            "nsw-fe", 1,
            "msg-icp", 1,
            "msg-auth", 1,
            "dsp", 1,
            "time", 1,
            "rap", 1,
            "rlp", 1,
            "graphics", 1,
            "name", 1,
            "nameserver", 1,
            "nicname", 1,
            "mpm-flags", 1,
            "mpm", 1,
            "mpm-snd", 1,
            "ni-ftp", 1,
            "auditd", 1,
            "tacacs", 1,
            "re-mail-ck", 1,
            "la-maint", 1,
            "xns-time", 1,
            "domain", 1,
            "xns-ch", 1,
            "isi-gl", 1,
            "xns-auth", 1,
            "xns-mail", 1,
            "ni-mail", 1,
            "acas", 1,
            "whois", 1,
            "covia", 1,
            "tacacs-ds", 1,
            "sql", 1,
            "bootps", 1,
            "bootpc", 1,
            "tftp", 1,
            "gopher", 1,
            "netrjs-1", 1,
            "netrjs-2", 1,
            "netrjs-3", 1,
            "netrjs-4", 1,
            "deos", 1,
            "vettcp", 1,
            "finger", 1,
            "http", 1,
            "www", 1,
            "www-http", 1,
            "hosts2-ns", 1,
            "xfer", 1,
            "mit-ml-dev", 1,
            "ctf", 1,
            "mfcobol", 1,
            "kerberos", 1,
            "su-mit-tg", 1,
            "dnsix", 1,
            "mit-dov", 1,
            "npp", 1,
            "dcp", 1,
            "objcall", 1,
            "supdup", 1,
            "dixie", 1,
            "swift-rvf", 1,
            "tacnews", 1,
            "metagram", 1,
            "newacct", 1,
            "hostname", 1,
            "iso-tsap", 1,
            "gppitnp", 1,
            "acr-nema", 1,
            "cso", 1,
            "csnet-ns", 1,
            "3com-tsmux", 1,
            "rtelnet", 1,
            "snagas", 1,
            "pop2", 1,
            "pop3", 1,
            "sunrpc", 1,
            "mcidas", 1,
            "ident", 1,
            "auth", 1,
            "audionews", 1,
            "sftp", 1,
            "ansanotify", 1,
            "uucp-path", 1,
            "sqlserv", 1,
            "nntp", 1,
            "cfdptkt", 1,
            "erpc", 1,
            "smakynet", 1,
            "ntp", 1,
            "ansatrader", 1,
            "locus-map", 1,
            "unitary", 1,
            "locus-con", 1,
            "gss-xlicen", 1,
            "pwdgen", 1,
            "cisco-fna", 1,
            "cisco-tna", 1,
            "cisco-sys", 1,
            "statsrv", 1,
            "ingres-net", 1,
            "epmap", 1,
            "profile", 1,
            "netbios-ns", 1,
            "netbios-dgm", 1,
            "netbios-ssn", 1,
            "emfis-data", 1,
            "emfis-cntl", 1,
            "bl-idm", 1,
            "imap", 1,
            "news", 1,
            "uaac", 1,
            "iso-tp0", 1,
            "iso-ip", 1,
            "jargon", 1,
            "aed-512", 1,
            "sql-net", 1,
            "hems", 1,
            "bftp", 1,
            "sgmp", 1,
            "netsc-prod", 1,
            "netsc-dev", 1,
            "sqlsrv", 1,
            "knet-cmp", 1,
            "pcmail-srv", 1,
            "nss-routing", 1,
            "sgmp-traps", 1,
            "snmp", 1,
            "snmptrap", 1,
            "cmip-man", 1,
            "cmip-agent", 1,
            "smip-agent", 1,
            "xns-courier", 1,
            "s-net", 1,
            "namp", 1,
            "rsvd", 1,
            "send", 1,
            "print-srv", 1,
            "multiplex", 1,
            "cl", 1,
            "xyplex-mux", 1,
            "mailq", 1,
            "vmnet", 1,
            "genrad-mux", 1,
            "xdmcp", 1,
            "nextstep", 1,
            "bgp", 1,
            "ris", 1,
            "unify", 1,
            "audit", 1,
            "ocbinder", 1,
            "ocserver", 1,
            "remote-kis", 1,
            "kis", 1,
            "aci", 1,
            "mumps", 1,
            "qft", 1,
            "gacp", 1,
            "cacp", 1,
            "prospero", 1,
            "osu-nms", 1,
            "srmp", 1,
            "irc", 1,
            "dn6-nlm-aud", 1,
            "dn6-smm-red", 1,
            "dls", 1,
            "dls-mon", 1,
            "smux", 1,
            "src", 1,
            "at-rtmp", 1,
            "at-nbp", 1,
            "at-3", 1,
            "at-echo", 1,
            "at-5", 1,
            "at-zis", 1,
            "at-7", 1,
            "at-8", 1,
            "qmtp", 1,
            "z39", 1,
            "914c", 1,
            "anet", 1,
            "ipx", 1,
            "vmpwscs", 1,
            "softpc", 1,
            "cailic", 1,
            "dbase", 1,
            "mpp", 1,
            "uarps", 1,
            "imap3", 1,
            "fln-spx", 1,
            "rsh-spx", 1,
            "cdc", 1,
            "direct", 1,
            "sur-meas", 1,
            "dayna", 1,
            "link", 1,
            "dsp3270", 1,
            "subntbcst_tftp", 1,
            "bhfhs", 1,
            "set", 1,
            "yak-chat", 1,
            "esro-gen", 1,
            "openport", 1,
            "nsiiops", 1,
            "arcisdms", 1,
            "hdap", 1,
            "http-mgmt", 1,
            "personal-link", 1,
            "cableport-ax", 1,
            "entrusttime", 1,
            "bhmds", 1,
            "pdap", 1,
            "pawserv", 1,
            "zserv", 1,
            "fatserv", 1,
            "csi-sgwp", 1,
            "mftp", 1,
            "matip-type-a", 1,
            "matip-type-b", 1,
            "bhoetty", 1,
            "dtag-ste-sb", 1,
            "bhoedap4", 1,
            "bh611", 1,
            "bhevent", 1,
            "clearcase", 1,
            "ulistproc", 1,
            "legent-1", 1,
            "legent-2", 1,
            "hassle", 1,
            "nip", 1,
            "tnetos", 1,
            "dsetos", 1,
            "is99c", 1,
            "is99s", 1,
            "hp-collector", 1,
            "hp-managed-node", 1,
            "hp-alarm-mgr", 1,
            "arns", 1,
            "ibm-app", 1,
            "asa", 1,
            "aurp", 1,
            "unidata-ldm", 1,
            "ldap", 1,
            "uis", 1,
            "synotics-relay", 1,
            "synotics-broker", 1,
            "dis", 1,
            "embl-ndt", 1,
            "netcp", 1,
            "netware-ip", 1,
            "mptn", 1,
            "kryptolan", 1,
            "iso-tsap-c2", 1,
            "work-sol", 1,
            "ups", 1,
            "genie", 1,
            "decap", 1,
            "nced", 1,
            "ncld", 1,
            "imsp", 1,
            "timbuktu", 1,
            "prm-sm", 1,
            "prm-nm", 1,
            "decladebug", 1,
            "rmt", 1,
            "synoptics-trap", 1,
            "smsp", 1,
            "infoseek", 1,
            "bnet", 1,
            "silverplatter", 1,
            "onmux", 1,
            "hyper-g", 1,
            "ariel1", 1,
            "smpte", 1,
            "ariel2", 1,
            "ariel3", 1,
            "opc-job-start", 1,
            "opc-job-track", 1,
            "icad-el", 1,
            "smartsdp", 1,
            "svrloc", 1,
            "ocs_cmu", 1,
            "ocs_amu", 1,
            "utmpsd", 1,
            "utmpcd", 1,
            "iasd", 1,
            "nnsp", 1,
            "mobileip-agent", 1,
            "mobilip-mn", 1,
            "dna-cml", 1,
            "comscm", 1,
            "dsfgw", 1,
            "dasp", 1,
            "sgcp", 1,
            "decvms-sysmgt", 1,
            "cvc_hostd", 1,
            "https", 1,
            "snpp", 1,
            "microsoft-ds", 1,
            "ddm-rdb", 1,
            "ddm-dfm", 1,
            "ddm-byte", 1,
            "as-servermap", 1,
            "tserver", 1,
            "sfs-smp-net", 1,
            "sfs-config", 1,
            "creativeserver", 1,
            "contentserver", 1,
            "creativepartnr", 1,
            "macon-tcp", 1,
            "macon-udp", 1,
            "scohelp", 1,
            "appleqtc", 1,
            "ampr-rcmd", 1,
            "skronk", 1,
            "datasurfsrv", 1,
            "datasurfsrvsec", 1,
            "alpes", 1,
            "kpasswd", 1,
            "smtps", 1,
            "digital-vrc", 1,
            "mylex-mapd", 1,
            "photuris", 1,
            "rcp", 1,
            "scx-proxy", 1,
            "mondex", 1,
            "ljk-login", 1,
            "hybrid-pop", 1,
            "tn-tl-w1", 1,
            "tn-tl-w2", 1,
            "tcpnethaspsrv", 1,
            "tn-tl-fd1", 1,
            "ss7ns", 1,
            "spsc", 1,
            "iafserver", 1,
            "iafdbase", 1,
            "ph", 1,
            "bgs-nsi", 1,
            "ulpnet", 1,
            "integra-sme", 1,
            "powerburst", 1,
            "avian", 1,
            "saft", 1,
            "gss-http", 1,
            "nest-protocol", 1,
            "micom-pfs", 1,
            "go-login", 1,
            "ticf-1", 1,
            "ticf-2", 1,
            "pov-ray", 1,
            "intecourier", 1,
            "pim-rp-disc", 1,
            "dantz", 1,
            "siam", 1,
            "iso-ill", 1,
            "isakmp", 1,
            "stmf", 1,
            "asa-appl-proto", 1,
            "intrinsa", 1,
            "citadel", 1,
            "mailbox-lm", 1,
            "beverly", 1,
            "ohimsrv", 1,
            "crs", 1,
            "xvttp", 1,
            "snare", 1,
            "fcp", 1,
            "mynet", 1,
            "exec", 1,
            "comsat", 1,
            "biff", 1,
            "login", 1,
            "who", 1,
            "shell", 1,
            "syslog", 1,
            "printer", 1,
            "videotex", 1,
            "talk", 1,
            "ntalk", 1,
            "utime", 1,
            "efs", 1,
            "router", 1,
            "ripng", 1,
            "ulp", 1,
            "ibm-db2", 1,
            "ncp", 1,
            "timed", 1,
            "tempo", 1,
            "stx", 1,
            "custix", 1,
            "irc-serv", 1,
            "courier", 1,
            "conference", 1,
            "netnews", 1,
            "netwall", 1,
            "mm-admin", 1,
            "iiop", 1,
            "opalis-rdv", 1,
            "nmsp", 1,
            "gdomap", 1,
            "apertus-ldp", 1,
            "uucp", 1,
            "uucp-rlogin", 1,
            "commerce", 1,
            "klogin", 1,
            "kshell", 1,
            "appleqtcsrvr", 1,
            "dhcpv6-client", 1,
            "dhcpv6-server", 1,
            "afpovertcp", 1,
            "idfp", 1,
            "new-rwho", 1,
            "cybercash", 1,
            "deviceshare", 1,
            "pirp", 1,
            "rtsp", 1,
            "dsf", 1,
            "remotefs", 1,
            "openvms-sysipc", 1,
            "sdnskmp", 1,
            "teedtap", 1,
            "rmonitor", 1,
            "monitor", 1,
            "chshell", 1,
            "nntps", 1,
            "9pfs", 1,
            "whoami", 1,
            "streettalk", 1,
            "banyan-rpc", 1,
            "ms-shuttle", 1,
            "ms-rome", 1,
            "meter", 1,
            "sonar", 1,
            "banyan-vip", 1,
            "ftp-agent", 1,
            "vemmi", 1,
            "ipcd", 1,
            "vnas", 1,
            "ipdd", 1,
            "decbsrv", 1,
            "sntp-heartbeat", 1,
            "bdp", 1,
            "scc-security", 1,
            "philips-vc", 1,
            "keyserver", 1,
            "imap4-ssl", 1,
            "password-chg", 1,
            "submission", 1,
            "cal", 1,
            "eyelink", 1,
            "ipcserver", 1,
            "urm", 1,
            "nqs", 1,
            "n", 1,
            "sift-uft", 1,
            "npmp-trap", 1,
            "npmp-local", 1,
            "npmp-gui", 1,
            "hmmp-ind", 1,
            "hmmp-op", 1,
            "sshell", 1,
            "sco-inetmgr", 1,
            "sco-sysmgr", 1,
            "sco-dtmgr", 1,
            "dei-icda", 1,
            "digital-evm", 1,
            "sco-websrvrmgr", 1,
            "escp-ip", 1,
            "servstat", 1,
            "ginad", 1,
            "rlzdbase", 1,
            "ldaps", 1,
            "lanserver", 1,
            "mdqs", 1,
            "doom", 1,
            "disclose", 1,
            "sdr", 1,
            "mecomm", 1,
            "meregister", 1,
            "vacdsm-sws", 1,
            "vacdsm-app", 1,
            "vpps-qua", 1,
            "cimplex", 1,
            "acap", 1,
            "dctp", 1,
            "elcsd", 1,
            "agentx", 1,
            "entrust-kmsh", 1,
            "entrust-ash", 1,
            "netviewdm1", 1,
            "netviewdm2", 1,
            "netviewdm3", 1,
            "netgw", 1,
            "netrcs", 1,
            "flexlm", 1,
            "fujitsu-dev", 1,
            "ris-cm", 1,
            "kerberos-adm", 1,
            "rfile", 1,
            "loadav", 1,
            "kerberos-iv", 1,
            "pump", 1,
            "qrh", 1,
            "rrh", 1,
            "tell", 1,
            "nlogin", 1,
            "con", 1,
            "ns", 1,
            "rxe", 1,
            "quotad", 1,
            "cycleserv", 1,
            "omserv", 1,
            "webster", 1,
            "phonebook", 1,
            "vid", 1,
            "cadlock", 1,
            "rtip", 1,
            "cycleserv2", 1,
            "submit", 1,
            "notify", 1,
            "rpasswd", 1,
            "acmaint_dbd", 1,
            "entomb", 1,
            "acmaint_transd", 1,
            "wpages", 1,
            "wpgs", 1,
            "concert", 1,
            "mdbs_daemon", 1,
            "device", 1,
            "iclcnet-locate", 1,
            "iclcnet_svinfo", 1,
            "accessbuilder", 1,
            "omginitialrefs", 1,
            "xact-backup", 1,
            "ftps-data", 1,
            "ftps", 1,
            "nas", 1,
            "telnets", 1,
            "imaps", 1,
            "ircs", 1,
            "pop3s", 1,
            "vsinet", 1,
            "maitrd", 1,
            "busboy", 1,
            "puparp", 1,
            "garcon", 1,
            "applix", 1,
            "puprouter", 1,
            "ock", 1,
            "registered", 1,
            "the", 1,
            "used", 1,
            "users", 1,
            "ports", 1,
            "connections", 1,
            "providing", 1,
            "defined", 1,
            "its", 1,
            "community", 1,
            "to", 1,
            "udp", 1,
            "port", 1,
            "keyword", 1,
            "blackjack", 1,
            "iad1", 1,
            "iad2", 1,
            "iad3", 1,
            "neod1", 1,
            "neod2", 1,
            "nim", 1,
            "nimreg", 1,
            "instl_boots", 1,
            "instl_bootc", 1,
            "socks", 1,
            "ansoft-lm-1", 1,
            "ansoft-lm-2", 1,
            "nfsd-status", 1,
            "nfsd-keepalive", 1,
            "lmsocialserver", 1,
            "murray", 1,
            "nfa", 1,
            "mc-client", 1,
            "lupa", 1,
            "nerv", 1,
            "hermes", 1,
            "h323hostcallsc", 1,
            "bmc_patroldb", 1,
            "bmc-patroldb", 1,
            "pdps", 1,
            "vpjp", 1,
            "alta-ana-lm", 1,
            "bbn-mmc", 1,
            "bbn-mmx", 1,
            "sbook", 1,
            "editbench", 1,
            "equationbuilder", 1,
            "lotusnote", 1,
            "relief", 1,
            "rightbrain", 1,
            "intuitive", 1,
            "cuillamartin", 1,
            "pegboard", 1,
            "connlcli", 1,
            "ftsrv", 1,
            "mimer", 1,
            "linx", 1,
            "timeflies", 1,
            "ndm-requester", 1,
            "ndm-server", 1,
            "adapt-sna", 1,
            "netware-csp", 1,
            "dcs", 1,
            "screencast", 1,
            "gv-us", 1,
            "us-gv", 1,
            "fc-cli", 1,
            "fc-ser", 1,
            "chromagrafx", 1,
            "molly", 1,
            "bytex", 1,
            "ibm-pps", 1,
            "cichlid", 1,
            "elan", 1,
            "dbreporter", 1,
            "telesis-licman", 1,
            "apple-licman", 1,
            "udt_os", 1,
            "gwha", 1,
            "os-licman", 1,
            "atex_elmd", 1,
            "checksum", 1,
            "cadsi-lm", 1,
            "objective-dbc", 1,
            "iclpv-dm", 1,
            "iclpv-sc", 1,
            "iclpv-sas", 1,
            "iclpv-pm", 1,
            "iclpv-nls", 1,
            "iclpv-nlc", 1,
            "iclpv-wsm", 1,
            "dvl-activemail", 1,
            "audio-activmail", 1,
            "video-activmail", 1,
            "cadkey-licman", 1,
            "cadkey-tablet", 1,
            "goldleaf-licman", 1,
            "prm-sm-np", 1,
            "prm-nm-np", 1,
            "igi-lm", 1,
            "ibm-res", 1,
            "netlabs-lm", 1,
            "dbsa-lm", 1,
            "sophia-lm", 1,
            "here-lm", 1,
            "hiq", 1,
            "af", 1,
            "innosys", 1,
            "innosys-acl", 1,
            "ibm-mqseries", 1,
            "dbstar", 1,
            "novell-lu6", 1,
            "timbuktu-srv1", 1,
            "timbuktu-srv2", 1,
            "timbuktu-srv3", 1,
            "timbuktu-srv4", 1,
            "gandalf-lm", 1,
            "autodesk-lm", 1,
            "essbase", 1,
            "hybrid", 1,
            "zion-lm", 1,
            "sais", 1,
            "mloadd", 1,
            "informatik-lm", 1,
            "nms", 1,
            "tpdu", 1,
            "rgtp", 1,
            "blueberry-lm", 1,
            "ms-sql-s", 1,
            "ms-sql-m", 1,
            "ibm-cics", 1,
            "saism", 1,
            "tabula", 1,
            "eicon-server", 1,
            "eicon-x25", 1,
            "eicon-slp", 1,
            "cadis-1", 1,
            "cadis-2", 1,
            "ies-lm", 1,
            "marcam-lm", 1,
            "proxima-lm", 1,
            "ora-lm", 1,
            "apri-lm", 1,
            "oc-lm", 1,
            "peport", 1,
            "dwf", 1,
            "infoman", 1,
            "gtegsc-lm", 1,
            "genie-lm", 1,
            "interhdl_elmd", 1,
            "esl-lm", 1,
            "dca", 1,
            "valisys-lm", 1,
            "nrcabq-lm", 1,
            "proshare1", 1,
            "proshare2", 1,
            "ibm_wrless_lan", 1,
            "world-lm", 1,
            "nucleus", 1,
            "msl_lmd", 1,
            "pipes", 1,
            "oceansoft-lm", 1,
            "csdmbase", 1,
            "csdm", 1,
            "aal-lm", 1,
            "uaiact", 1,
            "openmath", 1,
            "telefinder", 1,
            "taligent-lm", 1,
            "clvm-cfg", 1,
            "ms-sna-server", 1,
            "ms-sna-base", 1,
            "dberegister", 1,
            "pacerforum", 1,
            "airs", 1,
            "miteksys-lm", 1,
            "afs", 1,
            "confluent", 1,
            "lansource", 1,
            "nms_topo_serv", 1,
            "localinfosrvr", 1,
            "docstor", 1,
            "dmdocbroker", 1,
            "insitu-conf", 1,
            "anynetgateway", 1,
            "stone-design-1", 1,
            "netmap_lm", 1,
            "ica", 1,
            "cvc", 1,
            "liberty-lm", 1,
            "rfx-lm", 1,
            "watcom-sql", 1,
            "fhc", 1,
            "vlsi-lm", 1,
            "saiscm", 1,
            "shivadiscovery", 1,
            "imtc-mcs", 1,
            "evb-elm", 1,
            "funkproxy", 1,
            "utcd", 1,
            "symplex", 1,
            "diagmond", 1,
            "robcad-lm", 1,
            "mvx-lm", 1,
            "3l-l1", 1,
            "wins", 1,
            "fujitsu-dtc", 1,
            "fujitsu-dtcns", 1,
            "ifor-protocol", 1,
            "vpad", 1,
            "vpac", 1,
            "vpvd", 1,
            "vpvc", 1,
            "atm-zip-office", 1,
            "ncube-lm", 1,
            "ricardo-lm", 1,
            "cichild-lm", 1,
            "ingreslock", 1,
            "orasrv", 1,
            "prospero-np", 1,
            "pdap-np", 1,
            "tlisrv", 1,
            "mciautoreg", 1,
            "coauthor", 1,
            "rap-service", 1,
            "rap-listen", 1,
            "miroconnect", 1,
            "virtual-places", 1,
            "micromuse-lm", 1,
            "ampr-info", 1,
            "ampr-inter", 1,
            "sdsc-lm", 1,
            "3ds-lm", 1,
            "intellistor-lm", 1,
            "rds", 1,
            "rds2", 1,
            "gridgen-elmd", 1,
            "simba-cs", 1,
            "aspeclmd", 1,
            "vistium-share", 1,
            "abbaccuray", 1,
            "laplink", 1,
            "axon-lm", 1,
            "shivahose", 1,
            "shivasound", 1,
            "3m-image-lm", 1,
            "hecmtl-db", 1,
            "pciarray", 1,
            "sna-cs", 1,
            "caci-lm", 1,
            "livelan", 1,
            "ashwin", 1,
            "arbortext-lm", 1,
            "xingmpeg", 1,
            "web2host", 1,
            "asci-val", 1,
            "facilityview", 1,
            "pconnectmgr", 1,
            "cadabra-lm", 1,
            "pay-per-view", 1,
            "winddlb", 1,
            "corelvideo", 1,
            "jlicelmd", 1,
            "tsspmap", 1,
            "ets", 1,
            "orbixd", 1,
            "rdb-dbs-disp", 1,
            "chip-lm", 1,
            "itscomm-ns", 1,
            "mvel-lm", 1,
            "oraclenames", 1,
            "moldflow-lm", 1,
            "hypercube-lm", 1,
            "jacobus-lm", 1,
            "ioc-sea-lm", 1,
            "tn-tl-r1", 1,
            "tn-tl-r2", 1,
            "vmf-msg-port", 1,
            "msims", 1,
            "simbaexpress", 1,
            "tn-tl-fd2", 1,
            "intv", 1,
            "ibm-abtact", 1,
            "pra_elmd", 1,
            "triquest-lm", 1,
            "vqp", 1,
            "gemini-lm", 1,
            "ncpm-pm", 1,
            "commonspace", 1,
            "mainsoft-lm", 1,
            "sixtrak", 1,
            "radio", 1,
            "radio-sm", 1,
            "radio-bc", 1,
            "orbplus-iiop", 1,
            "picknfs", 1,
            "simbaservices", 1,
            "issd", 1,
            "aas", 1,
            "inspect", 1,
            "picodbc", 1,
            "icabrowser", 1,
            "slp", 1,
            "slm-api", 1,
            "stt", 1,
            "smart-lm", 1,
            "isysg-lm", 1,
            "taurus-wh", 1,
            "ill", 1,
            "netbill-trans", 1,
            "netbill-keyrep", 1,
            "netbill-cred", 1,
            "netbill-auth", 1,
            "netbill-prod", 1,
            "nimrod-agent", 1,
            "skytelnet", 1,
            "xs-openstorage", 1,
            "faxportwinport", 1,
            "softdataphone", 1,
            "ontime", 1,
            "jaleosnd", 1,
            "udp-sr-port", 1,
            "svs-omagent", 1,
            "cncp", 1,
            "cnap", 1,
            "cnip", 1,
            "cert-initiator", 1,
            "cert-responder", 1,
            "invision", 1,
            "isis-am", 1,
            "isis-ambc", 1,
            "saiseh", 1,
            "datametrics", 1,
            "sa-msg-port", 1,
            "rsap", 1,
            "concurrent-lm", 1,
            "nkd", 1,
            "shiva_confsrvr", 1,
            "xnmp", 1,
            "alphatech-lm", 1,
            "stargatealerts", 1,
            "dec-mbadmin", 1,
            "dec-mbadmin-h", 1,
            "fujitsu-mmpdc", 1,
            "sixnetudr", 1,
            "sg-lm", 1,
            "skip-mc-gikreq", 1,
            "netview-aix-1", 1,
            "netview-aix-2", 1,
            "netview-aix-3", 1,
            "netview-aix-4", 1,
            "netview-aix-5", 1,
            "netview-aix-6", 1,
            "netview-aix-7", 1,
            "netview-aix-8", 1,
            "netview-aix-9", 1,
            "netview-aix-10", 1,
            "netview-aix-11", 1,
            "netview-aix-12", 1,
            "proshare-mc-1", 1,
            "proshare-mc-2", 1,
            "pdp", 1,
            "netcomm1", 1,
            "netcomm2", 1,
            "groupwise", 1,
            "prolink", 1,
            "darcorp-lm", 1,
            "microcom-sbp", 1,
            "sd-elmd", 1,
            "lanyon-lantern", 1,
            "ncpm-hip", 1,
            "snaresecure", 1,
            "n2nremote", 1,
            "cvmon", 1,
            "nsjtp-ctrl", 1,
            "nsjtp-data", 1,
            "firefox", 1,
            "ng-umds", 1,
            "empire-empuma", 1,
            "sstsys-lm", 1,
            "rrirtr", 1,
            "rrimwm", 1,
            "rrilwm", 1,
            "rrifmm", 1,
            "rrisat", 1,
            "rsvp-encap-1", 1,
            "rsvp-encap-2", 1,
            "mps-raft", 1,
            "l2f", 1,
            "deskshare", 1,
            "hb-engine", 1,
            "bcs-broker", 1,
            "slingshot", 1,
            "jetform", 1,
            "vdmplay", 1,
            "gat-lmd", 1,
            "centra", 1,
            "impera", 1,
            "pptconference", 1,
            "registrar", 1,
            "conferencetalk", 1,
            "sesi-lm", 1,
            "houdini-lm", 1,
            "xmsg", 1,
            "fj-hdnet", 1,
            "h323gatedisc", 1,
            "h323gatestat", 1,
            "h323hostcall", 1,
            "caicci", 1,
            "hks-lm", 1,
            "pptp", 1,
            "csbphonemaster", 1,
            "iden-ralp", 1,
            "iberiagames", 1,
            "winddx", 1,
            "telindus", 1,
            "citynl", 1,
            "roketz", 1,
            "msiccp", 1,
            "proxim", 1,
            "sipat", 1,
            "cambertx-lm", 1,
            "privatechat", 1,
            "street-stream", 1,
            "ultimad", 1,
            "gamegen1", 1,
            "webaccess", 1,
            "encore", 1,
            "cisco-net-mgmt", 1,
            "3com-nsd", 1,
            "cinegrfx-lm", 1,
            "ncpm-ft", 1,
            "remote-winsock", 1,
            "ftrapid-1", 1,
            "ftrapid-2", 1,
            "oracle-em1", 1,
            "aspen-services", 1,
            "sslp", 1,
            "swiftnet", 1,
            "lofr-lm", 1,
            "translogic-lm", 1,
            "oracle-em2", 1,
            "ms-streaming", 1,
            "capfast-lmd", 1,
            "cnhrp", 1,
            "tftp-mcast", 1,
            "spss-lm", 1,
            "www-ldap-gw", 1,
            "cft-0", 1,
            "cft-1", 1,
            "cft-2", 1,
            "cft-3", 1,
            "cft-4", 1,
            "cft-5", 1,
            "cft-6", 1,
            "cft-7", 1,
            "bmc-net-adm", 1,
            "bmc-net-svc", 1,
            "vaultbase", 1,
            "essweb-gw", 1,
            "kmscontrol", 1,
            "global-dtserv", 1,
            "199z", 1,
            "femis", 1,
            "powerguardian", 1,
            "prodigy-internet1778", 1,
            "pharmasoft", 1,
            "dpkeyserv", 1,
            "answersoft-lm", 1,
            "hp-hcip", 1,
            "fjris", 1,
            "finle-lm", 1,
            "windlm", 1,
            "funk-logger", 1,
            "funk-license", 1,
            "psmond", 1,
            "hello", 1,
            "ea1", 1,
            "ibm-dt-2", 1,
            "rsc-robot", 1,
            "cera-bcm", 1,
            "dpi-proxy", 1,
            "vocaltec-admin", 1,
            "uma", 1,
            "etp", 1,
            "netrisk", 1,
            "ansys-lm", 1,
            "msmq", 1,
            "concomp1", 1,
            "hp-hcip-gwy", 1,
            "enl", 1,
            "enl-name", 1,
            "musiconline", 1,
            "fhsp", 1,
            "oracle-vp2", 1,
            "oracle-vp1", 1,
            "jerand-lm", 1,
            "scientia-sdb", 1,
            "radius", 1,
            "radius-acct", 1,
            "tdp-suite", 1,
            "mmpft", 1,
            "etftp", 1,
            "plato-lm", 1,
            "mcagent", 1,
            "donnyworld", 1,
            "es-elmd", 1,
            "unisys-lm", 1,
            "metrics-pas", 1,
            "fjicl-tep-a", 1,
            "fjicl-tep-b", 1,
            "linkname", 1,
            "fjicl-tep-c", 1,
            "sugp", 1,
            "tpmd", 1,
            "intrastar", 1,
            "dawn", 1,
            "global-wlink", 1,
            "mtp", 1,
            "armadp", 1,
            "elm-momentum", 1,
            "facelink", 1,
            "persoft", 1,
            "noagent", 1,
            "can-nds", 1,
            "can-dch", 1,
            "can-ferret", 1,
            "noadmin", 1,
            "close-combat", 1,
            "dialogic-elmd", 1,
            "tekpls", 1,
            "hlserver", 1,
            "eye2eye", 1,
            "ismaeasdaqlive", 1,
            "ismaeasdaqtest", 1,
            "bcs-lmserver", 1,
            "dlsrap", 1,
            "foliocorp", 1,
            "licensedaemon", 1,
            "tr-rsrb-p1", 1,
            "tr-rsrb-p2", 1,
            "tr-rsrb-p3", 1,
            "mshnet", 1,
            "stun-p1", 1,
            "stun-p2", 1,
            "stun-p3", 1,
            "ipsendmsg", 1,
            "snmp-tcp-port", 1,
            "stun-port", 1,
            "perf-port", 1,
            "tr-rsrb-port", 1,
            "gdp-port", 1,
            "x25-svc-port", 1,
            "tcp-id-port", 1,
            "callbook", 1,
            "dc", 1,
            "wizard", 1,
            "globe", 1,
            "mailbox", 1,
            "emce", 1,
            "berknet", 1,
            "oracle", 1,
            "invokator", 1,
            "raid-cc", 1,
            "dectalk", 1,
            "raid-am", 1,
            "conf", 1,
            "terminaldb", 1,
            "whosockami", 1,
            "search", 1,
            "pipe_server", 1,
            "servserv", 1,
            "ttyinfo", 1,
            "raid-ac", 1,
            "raid-cd", 1,
            "troff", 1,
            "raid-sf", 1,
            "cypress", 1,
            "raid-cs", 1,
            "bootserver", 1,
            "cypress-stat", 1,
            "bootclient", 1,
            "rellpack", 1,
            "about", 1,
            "xinupageserver", 1,
            "servexec", 1,
            "xinuexpansion1", 1,
            "down", 1,
            "xinuexpansion2", 1,
            "xinuexpansion3", 1,
            "xinuexpansion4", 1,
            "ellpack", 1,
            "xribs", 1,
            "scrabble", 1,
            "shadowserver", 1,
            "submitserver", 1,
            "device2", 1,
            "blackboard", 1,
            "glogger", 1,
            "scoremgr", 1,
            "imsldoc", 1,
            "objectmanager", 1,
            "lam", 1,
            "interbase", 1,
            "isis", 1,
            "isis-bcast", 1,
            "rimsl", 1,
            "cdfunc", 1,
            "sdfunc", 1,
            "dls-monitor", 1,
            "shilp", 1,
            "nfs", 1,
            "dlsrpn", 1,
            "dlswpn", 1,
            "zephyr-srv", 1,
            "zephyr-clt", 1,
            "zephyr-hm", 1,
            "minipay", 1,
            "mc-gt-srv", 1,
            "ats", 1,
            "imtc-map", 1,
            "kali", 1,
            "unreg-ab1", 1,
            "unreg-ab2", 1,
            "inreg-ab3", 1,
            "ivs-video", 1,
            "infocrypt", 1,
            "directplay", 1,
            "sercomm-wlink", 1,
            "nani", 1,
            "optech-port1-lm", 1,
            "aviva-sna", 1,
            "imagequery", 1,
            "ivsd", 1,
            "xmquery", 1,
            "lnvpoller", 1,
            "lnvconsole", 1,
            "lnvalarm", 1,
            "lnvstatus", 1,
            "lnvmaps", 1,
            "lnvmailmon", 1,
            "nas-metering", 1,
            "dna", 1,
            "netml", 1,
            "pehelp", 1,
            "sdhelp", 1,
            "cvspserver", 1,
            "rtsserv", 1,
            "rtsclient", 1,
            "hp-3000-telnet", 1,
            "netrek", 1,
            "tqdata", 1,
            "www-dev", 1,
            "aic-np", 1,
            "aic-oncrpc", 1,
            "piccolo", 1,
            "fryeserv", 1,
            "media-agent", 1,
            "mao", 1,
            "funk-dialout", 1,
            "tdaccess", 1,
            "blockade", 1,
            "epicon", 1,
            "hbci", 1,
            "redwood-broker", 1,
            "exlm-agent", 1,
            "gw", 1,
            "ping-pong", 1,
            "trusted-web", 1,
            "pctrader", 1,
            "nsws", 1,
            "vmodem", 1,
            "rdc-wh-eos", 1,
            "seaview", 1,
            "tarantella", 1,
            "csi-lfap", 1,
            "mc-brk-srv", 1,
            "ccmail", 1,
            "altav-tunnel", 1,
            "ns-cfg-server", 1,
            "ibm-dial-out", 1,
            "msft-gc", 1,
            "msft-gc-ssl", 1,
            "verismart", 1,
            "csoft-prev", 1,
            "user-manager", 1,
            "sxmp", 1,
            "ordinox-server", 1,
            "samd", 1,
            "maxim-asics", 1,
            "awg-proxy", 1,
            "lkcmserver", 1,
            "admind", 1,
            "vs-server", 1,
            "sysopt", 1,
            "datusorb", 1,
            "net-assistant", 1,
            "4talk", 1,
            "plato", 1,
            "e-net", 1,
            "directvdata", 1,
            "oops", 1,
            "enpc", 1,
            "caps-lm", 1,
            "sah-lm", 1,
            "cart-o-rama", 1,
            "fg-fps", 1,
            "fg-gip", 1,
            "dyniplookup", 1,
            "rib-slm", 1,
            "cytel-lm", 1,
            "transview", 1,
            "pdrncs", 1,
            "bmcpatrolagent", 1,
            "bmcpatrolrnvu", 1,
            "dec-notes", 1,
            "bmap", 1,
            "mira", 1,
            "prsvp", 1,
            "vat", 1,
            "vat-control", 1,
            "d3winosfi", 1,
            "integral", 1,
            "mapper-nodemgr", 1,
            "mapper-mapethd", 1,
            "mapper-ws_ethd", 1,
            "terabase", 1,
            "netcheque", 1,
            "chimera-hwm", 1,
            "samsung-unidex", 1,
            "altserviceboot", 1,
            "pda-gate", 1,
            "acl-manager", 1,
            "nuts_dem", 1,
            "nuts_bootp", 1,
            "nifty-hmi", 1,
            "oirtgsvc", 1,
            "oidocsvc", 1,
            "oidsr", 1,
            "vrml-multi-use", 1,
            "rwhois", 1,
            "unicall", 1,
            "vinainstall", 1,
            "krb524", 1,
            "nv-video", 1,
            "upnotifyp", 1,
            "n1-fwp", 1,
            "n1-rmgmt", 1,
            "asc-slmd", 1,
            "arcryptoip", 1,
            "camp", 1,
            "ctisystemmsg", 1,
            "ctiprogramload", 1,
            "nssalertmgr", 1,
            "nssagentmgr", 1,
            "sae-urn", 1,
            "urn-x-cdchoice", 1,
            "highscore", 1,
            "rfa", 1,
            "commplex-main", 1,
            "commplex-link", 1,
            "rfe", 1,
            "claris-fmpro", 1,
            "avt-profile-1", 1,
            "avt-profile-2", 1,
            "telelpathstart", 1,
            "telelpathattack", 1,
            "zenginkyo-1", 1,
            "zenginkyo-2", 1,
            "mmcc", 1,
            "rmonitor_secure", 1,
            "atmp", 1,
            "aol", 1,
            "aol-1", 1,
            "aol-2", 1,
            "aol-3", 1,
            "padl2sim", 1,
            "hacl-hb", 1,
            "hacl-gs", 1,
            "hacl-cfg", 1,
            "hacl-probe", 1,
            "hacl-local", 1,
            "hacl-test", 1,
            "sun-mc-grp", 1,
            "sco-aip", 1,
            "cfengine", 1,
            "jprinter", 1,
            "outlaws", 1,
            "tmlogin", 1,
            "excerpt", 1,
            "excerpts", 1,
            "hpoms-ci-lstn", 1,
            "hpoms-dps-lstn", 1,
            "netsupport", 1,
            "systemics-sox", 1,
            "foresyte-clear", 1,
            "foresyte-sec", 1,
            "salient-dtasrv", 1,
            "salient-usrmgr", 1,
            "actnet", 1,
            "continuus", 1,
            "wwiotalk", 1,
            "statusd", 1,
            "ns-server", 1,
            "sns-gateway", 1,
            "sns-agent", 1,
            "mcntp", 1,
            "dj-ice", 1,
            "cylink-c", 1,
            "personal-agent", 1,
            "esmmanager", 1,
            "esmagent", 1,
            "a1-msc", 1,
            "a1-bs", 1,
            "a3-sdunode", 1,
            "a4-sdunode", 1,
            "pcanywheredata", 1,
            "pcanywherestat", 1,
            "rrac", 1,
            "dccm", 1,
            "proshareaudio", 1,
            "prosharevideo", 1,
            "prosharedata", 1,
            "prosharerequest", 1,
            "prosharenotify", 1,
            "openmail", 1,
            "openmailg", 1,
            "x500ms", 1,
            "openmailns", 1,
            "s-openmail", 1,
            "openmailpxy", 1,
            "fcopy-server", 1,
            "x11", 1,
            "softcm", 1,
            "spc", 1,
            "dtspcd", 1,
            "backup-express", 1,
            "meta-corp", 1,
            "aspentec-lm", 1,
            "watershed-lm", 1,
            "statsci1-lm", 1,
            "statsci2-lm", 1,
            "lonewolf-lm", 1,
            "montage-lm", 1,
            "tal-pod", 1,
            "crip", 1,
            "clariion-evr01", 1,
            "skip-cert-recv", 1,
            "skip-cert-send", 1,
            "lvision-lm", 1,
            "xdsxdm", 1,
            "vocaltec-gold", 1,
            "vision_server", 1,
            "vision_elmd", 1,
            "ambit-lm", 1,
            "acmsoda", 1,
            "afs3-fileserver", 1,
            "afs3-callback", 1,
            "afs3-prserver", 1,
            "afs3-vlserver", 1,
            "afs3-kaserver", 1,
            "afs3-volser", 1,
            "afs3-errors", 1,
            "afs3-bos", 1,
            "afs3-update", 1,
            "afs3-rmtsys", 1,
            "ups-onlinet", 1,
            "dpserve", 1,
            "dpserveadmin", 1,
            "lazy-ptop", 1,
            "font-service", 1,
            "virprot-lm", 1,
            "clutild", 1,
            "fodms", 1,
            "dlip", 1,
            "winqedit", 1,
            "pmdmgr", 1,
            "oveadmgr", 1,
            "ovladmgr", 1,
            "opi-sock", 1,
            "xmpv7", 1,
            "pmd", 1,
            "telops-lmd", 1,
            "pafec-lm", 1,
            "cbt", 1,
            "accu-lmgr", 1,
            "quest-vista", 1,
            "irdmi2", 1,
            "irdmi", 1,
            "pro-ed", 1,
            "npmp", 1,
            "ddi-tcp-1", 1,
            "ddi-udp-1", 1,
            "ddi-tcp-2", 1,
            "ddi-udp-2", 1,
            "ddi-tcp-3", 1,
            "ddi-udp-3", 1,
            "ddi-tcp-4", 1,
            "ddi-udp-4", 1,
            "ddi-tcp-5", 1,
            "ddi-udp-5", 1,
            "ddi-tcp-6", 1,
            "ddi-udp-6", 1,
            "ddi-tcp-7", 1,
            "ddi-udp-7", 1,
            "cslistener", 1,
            "man", 1,
            "sd", 1,
            "palace", 1,
            "distinct32", 1,
            "distinct", 1,
            "ndmp", 1,
            "tsaf", 1,
            "dsmcc-config", 1,
            "dsmcc-session", 1,
            "dsmcc-passthru", 1,
            "dsmcc-download", 1,
            "dsmcc-ccp", 1,
            "isode-dua", 1,
            "biimenu", 1,
            "r", 1,
            "webphone", 1,
            "netspeak-is", 1,
            "netspeak-cs", 1,
            "netspeak-acd", 1,
            "netspeak-cps", 1,
            "wnn6", 1,
            "vocaltec-wconf", 1,
            "vocaltec-phone", 1,
            "aws-brf", 1,
            "brf-gw", 1,
            "icl-twobase1", 1,
            "icl-twobase2", 1,
            "icl-twobase3", 1,
            "icl-twobase4", 1,
            "icl-twobase5", 1,
            "icl-twobase6", 1,
            "icl-twobase7", 1,
            "icl-twobase8", 1,
            "icl-twobase9", 1,
            "icl-twobase10", 1,
            "vocaltec-hos", 1,
            "quake", 1,
            "wnn6-ds", 1,
            "dbbrowse", 1,
            "ap", 1,
            "bacnet", 1,
           );

1;



#
#	End of included 'defines.pl' data is here
#

#
#	The file 'doripe2rpsl.pl' is included here
#



#
# $Id: ripe2rpsl,v 1.3 2001/06/04 19:09:44 ljb Exp $
# 
#  Copyright (c) 1998 by the University of Southern California
#  and/or the International Business Machines Corporation.
#  All rights reserved.
#
#  Permission to use, copy, modify, and distribute this software and
#  its documentation in source and binary forms for lawful
#  non-commercial purposes and without fee is hereby granted, provided
#  that the above copyright notice appear in all copies and that both
#  the copyright notice and this permission notice appear in supporting
#  documentation, and that any documentation, advertising materials,
#  and other materials related to such distribution and use acknowledge
#  that the software was developed by the University of Southern
#  California, Information Sciences Institute and/or the International
#  Business Machines Corporation.  The name of the USC or IBM may not
#  be used to endorse or promote products derived from this software
#  without specific prior written permission.
#
#  NEITHER THE UNIVERSITY OF SOUTHERN CALIFORNIA NOR INTERNATIONAL
#  BUSINESS MACHINES CORPORATION MAKES ANY REPRESENTATIONS ABOUT
#  THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.  THIS SOFTWARE IS
#  PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
#  INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND 
#  NON-INFRINGEMENT.
#
#  IN NO EVENT SHALL USC, IBM, OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY
#  SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, WHETHER IN CONTRACT,
#  TORT, OR OTHER FORM OF ACTION, ARISING OUT OF OR IN CONNECTION WITH,
#  THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
#  Questions concerning this software should be directed to 
#  info-ra@isi.edu.
#
#  Author(s): Cengiz Alaettinoglu <cengiz@isi.edu>
#  Author(s): David Kessens <davidk@isi.edu>

sub fix_policy_attr_errors {
    local(*str)=@_;
    
# ask the follwoing exp
    $str=~ s/[^\S\r\n]+/ /g;
    $str=~ s/ *([\r\n]+) */$1/g;
    
    $str=~ s/OR\s+OR/OR/ig;
    $str=~ s/AND\s+AND/AND/ig;
    $str=~ s/AND\s+ANT/ANY AND/g;
    while ($str=~ s/\((AND|OR)\s*([^\s\)][^\)]+\))/$1 \($2/gi) {};
  
    $str=~ s/\=20//gi;
  
    $str=~ s/([^\d\.]\d+\.\d+\.\d+)(\/\d+[^\d])/$1\.0$2/g;
    $str=~ s/([^\d\.]\d+\.\d+)(\/\d+[^\d])/$1\.0\.0$2/g;
}

sub fix_filter_errors {
    local(*str)=@_;

    $str =~ s/^\d+\s+//g;
    $str =~ s/(AS\d+\s*),/$1/gi; # potentially dangerous when input is rpsl
    $str =~ s/\"//g;
    $str=~ s/(<[^>]+\*)1040\b/$1*>/g;
#    $str=~ s/(\s*)$/\>$1/ if (scalar($str=~ tr/\</\</)-scalar($str=~ tr/\>/\>/)==1);
#    $str=~ s/(\s*)$/\}$1/ if (scalar($str=~ tr/\{/\{/)-scalar($str=~ tr/\}/\}/)==1);

    local(@lines)=();

    foreach (split(/([^a-zA-Z\d\-]+)/, $str)) {
       if (/^[^a-zA-Z\d\-]+$/) {
	 push(@lines, $_);
	 next;
       }
       $_="RS-".$_ if ((/^[a-zA-Z]([a-zA-Z0-9_-]*[a-zA-Z0-9])?$/) && # a word
                       (! /^(AS\d+|AS-.*|RS-.*|AND|NOT|OR|ANY)$/i));
       push(@lines, $_);
    }

    $str=join("", @lines);

}

sub fix_email_errors() {
    local(*str)=@_;

    local(@lines)=();

    $str =~ s/<//g;
    $str =~ s/>//g;
 
    foreach (split(/(\s+)/,  $str)) {
       if (/^\s+$/) {
          if (/\n/) {
             push(@lines, "\n");
          }
          elsif (/\r/) {
             push(@lines, "\r");
          }
          else {
             push(@lines, " ");
          }
          next;
       }
       (/\@[\w\-]+$/) &&
       ((s/(com|org|net|edu|gov)$/.$1/i) ||
        (s/(com?|org|net|edu|gov)(..)$/.$1.$2/i));
       push(@lines, $_);
    }

    $str=join("", @lines);

}

sub fix_date_errors() {
    local(*str)=@_;

    local(@lines)=();

    foreach (split(/(\s+)/,  $str)) {
       if (/^\s+$/) {
          if (/\n/) {
             push(@lines, "\n");
          }
          elsif (/\r/) {
             push(@lines, "\r");
          }
          else {
             push(@lines, " ");
          }
          next;
       }
       /^\d\d\.\d\d\.\d\d$/ && s/\.//g;
       if (/^(\d{2})\d{4}$/) {
         if ($1 < 90) {
           s/^(\d{6})$/20$1/g;
         }
         else {
           s/^(\d{6})$/19$1/g;
         }
       }

       push(@lines, $_);
    }

    $str=join("", @lines);

}

sub fix_mntner_errors() {
    local(*str)=@_;

    local(@lines)=();

    foreach (split(/(\s+)/,  $str)) {
       if (/^\s+$/) {
          if (/\n/) {
             push(@lines, "\n");
          }
          elsif (/\r/) {
             push(@lines, "\r");
          }
          else {
             push(@lines, " ");
          }
          next;
       }
       s/^AS\d+$/MNT-$&/i ||
       s/^AS-/MNT-AS-/i ||
       s/^RS-/MNT-RS-/i ||
       s/^\d/MNT-$&/gi;
       push(@lines, $_);
    }

    $str=join("", @lines);

}

sub uniqify_listify() {
    local(*str) = @_;
    
    local(%items)=();
    local(@lines)=();
    local($i)=0;

    foreach (grep( $_ && ((++$items{$_})==1), split(/[\s,]/, $str))) {
       if ($i % 5) {
          push(@lines, ", ", $_);
       }
       else {
          if (@lines) {
             push(@lines, ",\r", $_);
          }
          else {
             push(@lines, $_);
          }
          $i=0;
       }
       $i++;
    }
    $str=join("", @lines);
    

}


#
# ripe2rpsl
#
# converts RIPE181 %entry to RPSL %entry
# 
# returns new type of the object
#
# $options=1 assume that the object was sent in as RPSL
#            and convert only the RIPE181 attributes/object type

sub ripe2rpsl {
    local(*entry, $type, $options)=@_; 

    local($str, $line, @lines, $lastline, $thisline, $peeras, $pref, $rest);
    local($br, $peerbr);

    #
    # delete as-exclude/advisory attributes

    delete($entry{"ae"});
    delete($entry{"av"});
    #
    # the following is all kind of Merit crap: 
    delete($entry{"ne"});
    delete($entry{"np"});
    delete($entry{"cp"});
    delete($entry{"ri"});
    delete($entry{"rs"});

    if ($options) {

       #
       # remove line continuation information
       foreach ("al", "cl", "ho") {
          delete($entry{$_}) if (/$CONTINUATIONSUFFIX$/o);
       }

       $entry{"al"} =~ tr/\n/ /  if $entry{"al"};
       $entry{"cl"} =~ tr/\n/ /  if $entry{"cl"};
       $entry{"ho"} =~ tr/\n/ /  if $entry{"ho"};

    }
    else {

       #
       # remove garbage values
       
       foreach ("em", "fx", "ny", "ph") {
          $entry{$_}=~ s/(^|\n)(\<?(NONE(\s+yet)?|no\s+fax|no\s+\-?e\-?mail)\>?|nobody\@nowhere\.net)\s*($|\n)/\n/i;
          $entry{$_}=~ s/\n+$/\n/g;
          $entry{$_}=~ s/^\n//;
          $entry{$_}=~ s/\n$//;
       }

       #
       # remove line continuation information
       foreach (keys %entry) {
          delete($entry{$_}) if (/$CONTINUATIONSUFFIX$/o);
       }

       # 
       # if the following attributes are missing insert them
       
       $entry{"ad"}="no address"  if (($type eq "pn") && ($entry{"ad"}=~ /^\s*$/));
       $entry{"mb"}="MNT-ANYBODY" if (($type!~ /^in|dn|i6|is|pn|ro$/) && ($entry{"mb"}=~ /^\s*$/));

       #  
       # the following attributes are now single valued
       $entry{"mb"} =~ tr/\n/ /  if defined($entry{"mb"});
       $entry{"ml"} =~ tr/\n/ /  if defined($entry{"ml"});
       $entry{"al"} =~ tr/\n/ /  if defined($entry{"al"});
       $entry{"cl"} =~ tr/\n/ /  if defined($entry{"cl"});
       $entry{"ho"} =~ tr/\n/ /  if defined($entry{"ho"});

       #
       # convert to white space line continuations and remove white space

       $entry{"de"} =~ tr/\n/\r/ if defined($entry{"de"});
       $entry{"tb"} =~ tr/\n/\r/ if defined($entry{"tb"});
       $entry{"tx"} =~ tr/\n/\r/ if defined($entry{"tx"});
       $entry{"ad"} =~ tr/\n/\r/ if defined($entry{"ad"});
       $entry{"rm"} =~ tr/\n/\r/ if defined($entry{"rm"});
       $entry{"de"} =~ s/\r *(\r|$)/$1/g if defined($entry{"de"});
       $entry{"tb"} =~ s/\r *(\r|$)/$1/g if defined($entry{"tb"});
       $entry{"tx"} =~ s/\r *(\r|$)/$1/g if defined($entry{"tx"});
       $entry{"ad"} =~ s/\r *(\r|$)/$1/g if defined($entry{"ad"});
       $entry{"rm"} =~ s/\r *(\r|$)/$1/g if defined($entry{"rm"});

       #
       # MCI contained comments at many wrong places ...
       # also thismakes sure to get rid of '# EOF' at end of files.

       $entry{"so"}=$1 if ($entry{"so"}=~ /^(\w+)/);
    
       #
       # fix st
       if (defined($entry{"st"})) {
          $entry{"st"}=~ s/^(\s*)D(ELEGATED)?(\s*)$/$1ALLOCATED UNSPECIFIED$3/i;
       }

       #
       # fix ch
       if (defined($entry{"ch"})) {

          $str=$entry{"ch"};

          $str=~ s/,(\s*\d)/$1/g;
          &fix_email_errors(*str);
          &fix_date_errors(*str);

          @lines = ();
          foreach (split(/\n/, $str)) {
          
	     @fields = split(/\s+/, $_);
	     if ($fields[$#fields] =~ /^\d{8}$/) {
	        push(@lines, $fields[0]." ".$fields[$#fields]);
	        next;
	     }

	     push(@lines, $fields[0]." ".$DATE);
          }
#JW          $entry{"ch"}=join("\n", @lines, $CHANGEDLINE);
          $entry{"ch"}=join("\n", @lines);

       }
       else {
#JW          $entry{"ch"}=$CHANGEDLINE;
       }

       #
       # fix remarks
#JW       if (defined($entry{"rm"})) {
#JW          $entry{"rm"}=join("\n", $entry{"rm"}, $REMARKSLINE);
#JW       }
#JW       else {
#JW          $entry{"rm"}=$REMARKSLINE;
#JW       }

       #
       # fix wd
       if (defined($entry{"wd"})) {

          $str=$entry{"wd"};

          &fix_date_errors(*str);
       
          @lines = ();

          foreach (split(/\n/, $str)) {
          
             if (/^\s*\S*\s*(\d{8,8})\s*$/) {
                push(@lines, $1);
                next;
             }
  
             push(@lines, $DATE);

          }
          $entry{"wd"}=$lines[$#lines];

       }

       if (defined($entry{"mt"})) {
          $str=$entry{"mt"};
          &fix_mntner_errors(*str);
          $entry{"mt"}=$str;
       }

       if (defined($entry{"mb"})) {
          $str=$entry{"mb"};
          &fix_mntner_errors(*str);
          &uniqify_listify(*str);
          $entry{"mb"}=$str;
       }
    
       if (defined($entry{"ml"})) {
          $str=$entry{"ml"}; 
          &fix_mntner_errors(*str);
          &uniqify_listify(*str);
          $entry{"ml"}=$str; 
       }
    
       if (defined($entry{"em"})) {
          $str=$entry{"em"}; 
          &fix_email_errors(*str);
          $entry{"em"}=$str; 
       }
    
       if (defined($entry{"dt"})) {
          $str=$entry{"dt"};  
          &fix_email_errors(*str);
          $entry{"dt"}=$str; 
       }

       if (defined($entry{"ir"})) {
       
          if ($line=&convert2domainname($entry{"ir"})) {
             $entry{"ir"}=$line;
          }
          else {
             $entry{"ir"}=~ s/^\s*(\d+)\.(\d+)\.(\d+)\.(\d+)\s*$/$4.$3.$2.$1.in-addr.arpa/;
          }
    
       }

       if (defined($entry{"ho"})) {
          $str=$entry{"ho"}; 
          &uniqify_listify(*str);
          $entry{"ho"}=$str; 
       }

       #  
       # fix aa
       if ((defined($entry{"aa"})) && ($entry{"aa"}!~ /^ASN/i)) {
          $entry{"aa"}=~ s/^AS(\d+)/ASN-$1/i;
          $entry{"aa"}=~ s/^AS-/ASN-/i;
          $entry{"aa"}=~ s/^RS-/ASN-RS-/i;
          $entry{"aa"}=~ s/^(\d)/ASN-$1/i;
       }
       else {
          $entry{"aa"}="UNSPECIFIED" if ($entry{"aa"}=~ /^\s*$/);
       }
       
    }

    #
    # fix guardian & notify (note: order is important!)
    if (defined($entry{"gd"})) {
       if ($entry{"ny"}) {
          $entry{"ny"}=$entry{"gd"}."\n".$entry{"ny"}; 
       }
       else {
          $entry{"ny"}=$entry{"gd"}; 
       }
    }

    if (defined($entry{"ny"})) {
       $str=$entry{"ny"};
       &fix_email_errors(*str);
       my(%items)=();
       $entry{"ny"}=join("\n", grep( $_ && ((++$items{$_})==1), split(/\s*\n+\s*/, $str)));
    }
  
    
    #
    # fix community
    if (defined($entry{"cm"})) {
       $entry{"rs"}="RS-".delete($entry{"cm"});
       $entry{"mr"}="any";
       $type="rs";
    }

    #
    # fix comm-list
    if (defined($entry{"cl"})) {
       $entry{"mo"}="RS-".join(", RS-", split(/[\s,]+/, delete($entry{"cl"})));
    }

    #
    # fix community
    if (defined($entry{"am"})) {
       $entry{"as"}=delete($entry{"am"});
       $type="as";
    }

    #
    # fix as-list
    if (defined($entry{"al"})) {
       $str=delete($entry{"al"});
       &uniqify_listify(*str);
       $entry{"ms"}=$str;
    }

    
    #
    # interas-in lines
    
    if (defined($entry{"it"})) {

       $str=delete($entry{"it"});
       &fix_policy_attr_errors(*str);
  
       $lastline="";
       $thisline="";
       @lines=();

       foreach (split(/\n/, $entry{"it"})) {
          ($peeras, $br, $peerbr, $rest) = split(/ +/, $_, 4);
          $rest=~ /\(\s*PREF\s*=\s*([^)\s]*)\s*\)\s*(.*)$/i;
          $pref=$1;
          $rest=$2;
          &fix_filter_errors(*rest);

          $thisline = "$peeras%$br%$peerbr%$pref";
          if ($thisline eq $lastline) {
	     $lines[$#lines] .= " " . $rest if (@lines);
          }
          else {
	     push(@lines, join("", "from ", $peeras, $peerbr, " at ", $br, 
			           "\raction pref=", $pref,
			           ";\raccept ", $rest));
          }
          $lastline = $thisline;
       }

       if ($entry{"ip"}) {
          $entry{"ip"}.="\n".join("\n", @lines);
       }
       else {
          $entry{"ip"}=join("\n", @lines);
       }

    }

    #
    # interas-out lines
    
    if (defined($entry{"io"})) {

       $str=delete($entry{"io"});
       &fix_policy_attr_errors(*str);
  
       $lastline="";
       $thisline="";
       @lines=();

       foreach (split(/\n/, $entry{"io"})) {
          
          ($peeras, $br, $peerbr, $rest) = split(/ +/, $_, 4);
          if ($rest =~ /\(\s*METRIC\-OUT\s*=\s*([^)\s]*)\s*\)?\s*(.*)$/i) {
             $pref = $1;
             $rest = $2;
          }
          else {
	     $pref = "?";
          }
          &fix_filter_errors(*$rest);

          $thisline = "$peeras%$br%$peerbr%$pref";
          if ($thisline eq $lastline) {
             $lines[$#lines] .= " " . $rest if (@lines);
          }
          else {
	   
             if ($pref eq "?") {
	        push(@lines, join("", "to ", $peeras, $peerbr, " at ", $br, 
                                      "\rannounce ", $rest));
	     }
             else {
	        push(@lines, join("", "to ", $peeras, $peerbr, " at ", $br, 
                                      "\raction med=", $pref,
                                      ";\rannounce ", $rest));
	     }

          }
       
          $lastline = $thisline;
       }

       if ($entry{"ep"}) {
          $entry{"ep"}.="\n".join("\n", @lines);
       }
       else {
          $entry{"ep"}=join("\n", @lines);
       }

    }

    #
    # as-in lines
    if (defined($entry{"ai"})) {

       $str=delete($entry{"ai"});

       &fix_policy_attr_errors(*str);
       $str=~ s/\bfrom\s+//gi && $str=~ s/\s+accept\s+/ /gi;
       
       $lastline="";
       $thisline="";
       @lines=();
    
       foreach (split(/\n/, $str)) {
          
          ($peeras, $pref, $rest) = split(/ +/, $_, 3);
	  if (! $rest) {
	    $rest = $pref;
	    $pref = "";
	  }
          &fix_filter_errors(*rest);

          $thisline = "$peeras%$pref";
          if ($thisline eq $lastline) {
	     $lines[$#lines] .= " " . $rest if (@lines);
          }
          else {
	    if ($pref) {
	      push(@lines, join("", "from ", $peeras, "\raction pref=", $pref, 
				";\raccept ", $rest));
	    } else {
	      push(@lines, join("", "from ", $peeras, "\raccept ", $rest));	      
	    }
          }
          $lastline = $thisline;
       }

       foreach (@lines) {
	 s/accept AND NOT/accept ANY AND NOT/i;
	 s/NOT$/NOT {}/i;
	 s/OR$/OR {}/i;
	 s/AND$/AND {}/i;
       }

       if ($entry{"ip"}) {
          $entry{"ip"}.="\n".join("\n", @lines);
       }
       else {
          $entry{"ip"}=join("\n", @lines);
       }

    }

    #
    # as-out lines
    if (defined($entry{"ao"})) {

       $str=delete($entry{"ao"});

       &fix_policy_attr_errors(*str);
       $str=~ s/\bto\s+//gi && $str=~ s/\s+announce\s+/ /gi;

       $lastline="";
       $thisline="";
       @lines=();

       foreach (split(/\n/, $str)) {
          
          ($peeras, $rest)=split(/ +/, $_, 2);
          &fix_filter_errors(*rest);

          $thisline = "$peeras";
          if ($thisline eq $lastline) {
	     $lines[$#lines] .= " " . $rest if (@lines);
          }
          else {
	     push(@lines, join("", "to ", $peeras, "\rannounce ", $rest));
          }
          $lastline = $thisline;

       }

       foreach (@lines) {
	 s/announce AND NOT/announce ANY AND NOT/i;
	 s/NOT$/NOT {}/i;
	 s/OR$/OR {}/i;
	 s/AND$/AND {}/i;
       }

       if ($entry{"ep"}) {
          $entry{"ep"}.="\n".join("\n", @lines);
       }
       else {
          $entry{"ep"}=join("\n", @lines);
       }

    }

    #
    # fix default
    
    if ((defined($entry{"df"})) && ($entry{"df"}!~ /to/i)) {
      $str=$entry{"df"};
      &fix_policy_attr_errors(*str);
      $str=~s/default/ANY/g;
      $str=~s/static/ANY/g;

      @lines=();
      foreach (split(/\n/, $str)) {
	($peeras, $pref, $rest) = split(/ +/, $_, 3);
	$rest = "ANY" if (!$rest);
	push(@lines, join("", "to ", $peeras, 
			  "\raction pref=", $pref, 
			  ";\rnetworks ", $rest)); 
      }
      $entry{"df"}=join("\n", @lines);
    }

    #
    # fix peer
    if ((defined($entry{"pe"})) && ($entry{"pe"}!~ /\,/)) {
      @lines = split(/\n/, $entry{"pe"});
      for ($i =0; $i <= $#lines; $i++) {
	split(/\s+/, $lines[$i]);
	$lines[$i] = join(" ", $_[2], $_[0], "asno($_[1])");
      }
      $entry{"pe"} = join("\n", @lines);
    }

    #
    # fix ifaddr
    if ((defined($entry{"if"})) && ($entry{"if"}!~ /mask|len/i)) {
      @lines = split(/\n/, $entry{"if"});
      for ($i =0; $i <= $#lines; $i++) {
	$mask = 0;
	@fields = split(/\s+/, $lines[$i]);
	foreach $_ (split(/\./, $fields[$#fields])) {
	  last if ($_ == 0);
	  if ($_ < 128) {
	    next;
	  }
	  if ($_ < 192) {
	    $mask+=1;
	    next;
	  }
	  if ($_ < 224) {
	    $mask+= 2;
	    next;
	  }
	  if ($_ < 240) {
	    $mask+= 3;
	    next;
	  }
	  if ($_ < 248) {
	    $mask+= 4;
	    next;
	  }
	  if ($_ < 252) {
	    $mask+= 5;
	    next;
	  }
	  if ($_ < 254) {
	    $mask+= 6;
	    next;
	  }
	  if ($_ < 255) {
	    $mask+= 7;
	    next;
	  }
	  $mask+= 8;
	}
	pop @fields;
	$lines[$i] = join(" ", @fields, "masklen", $mask);
      }
      $entry{"if"} = join("\n", @lines);
    
    }
    
    # fix source 
    if ($opt_s) {
	if ((defined($entry{"so"}))) {
	    $entry{"so"}=$opt_s; 
	}    
    }

    return $type;
    
}

1;


#
#	End of included 'doripe2rpsl.pl' data is here
#

#
#	The file 'enread.pl' is included here
#


#
#       enread - read RIPE database entry
#
#	$RCSfile: ripe2rpsl,v $
#	$Revision: 1.3 $
#	$Author: ljb $
#	$Date: 2001/06/04 19:09:44 $

#  Original code is written by various authors and copyrighted by the RIPE NCC
#  Contact <ncc@ripe.net> for details.
#
#  Copyright (c) 1998 by the University of Southern California
#  and/or the International Business Machines Corporation.
#  All rights reserved.
#
#  Permission to use, copy, modify, and distribute this software and
#  its documentation in source and binary forms for lawful
#  non-commercial purposes and without fee is hereby granted, provided
#  that the above copyright notice appear in all copies and that both
#  the copyright notice and this permission notice appear in supporting
#  documentation, and that any documentation, advertising materials,
#  and other materials related to such distribution and use acknowledge
#  that the software was developed by the University of Southern
#  California, Information Sciences Institute and/or the International
#  Business Machines Corporation.  The name of the USC or IBM may not
#  be used to endorse or promote products derived from this software
#  without specific prior written permission.
#
#  NEITHER THE UNIVERSITY OF SOUTHERN CALIFORNIA NOR INTERNATIONAL
#  BUSINESS MACHINES CORPORATION MAKES ANY REPRESENTATIONS ABOUT
#  THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.  THIS SOFTWARE IS
#  PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
#  INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND 
#  NON-INFRINGEMENT.
#
#  IN NO EVENT SHALL USC, IBM, OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY
#  SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, WHETHER IN CONTRACT,
#  TORT, OR OTHER FORM OF ACTION, ARISING OUT OF OR IN CONNECTION WITH,
#  THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
#  Questions concerning this software should be directed to 
#  info-ra@isi.edu.
#
#  Author(s): David Kessens <davidk@isi.edu>
#
#       This routine reads RIPE database entries in %entry and returns the
#       type, "" when nothing has been found, $DELETEDOBJECT when
#       the object has been deleted, and an other invalid type when an 
#       invalid object has been found.
#       When no valid/deleted object has been found %entry is set to ().
#
#       file       file to read from


#
# enread
#
# Take care with changing anything in this routine.
# It is highly optimized for speed, especially for (sorted) big objects.
#
# $offset=#
#         >=0   read from position # and return position first found object
#         =-1   return position first found object and read from current position 
#         =-2   read from current position and don't return current position

sub enread {
    local($file, *entry, $offset, $size) = @_;

    local($line,$newtag,$shorttag,$connect,$prefixlength,$standardprefixlength,$linelength);

    local($readsize)=0;
    local($tag)="";
    local($type)="";
    local(@inputlines)=();
    local(@connectlength)=();
    %entry=();

    local(@lines);

    #
    # select the right file for reading for RPSLCONVERSION
    # special update path data

    $file.=".rpsl" if ($offset=~ /^0[^0]/);
  
    # print STDERR "enread file: $file offset: $offset size: $size\n";
    
    # print STDERR "first line: ", scalar(<$file>); seek($file, $offset, 0);

    if (defined($size)) {
       
       local($object);

       if ($SYSREAD) {
          if (-2!=$offset) {
             if ($offset>=0) {
                $offset=sysseek($file, $offset, 0);
             }
             else {
                $offset=sysseek($file, 0, 1) 
             }
          }
          elsif ($offset>=0) {
             sysseek($file, $offset, 0) 
          }
          &safesysread($file, *object, $size);
       }
       else {
          $offset=tell($file) if ($offset==-1);
          seek($file, $offset, 0) if ($offset>=0);
          &readparagraph($file, *object);
       }

       $object=~ s/\n+$//;

       # print STDERR "enread file: $file offset: $offset size: $size loc: ", tell($file), " ",$object, "-\n";

       ($line,@inputlines)=split(/\n/, $object);

       $line=~ s/\s/ /g;
       
       # print STDERR "$line --- \n", join("\n",@inputlines);

    }
    else {

       # print "no seek $offset $!\n";

       seek($file, $offset, 0) if ($offset>=0);

       # print "seek $!\n";

       #
       # skip empty lines until we find the first data and
       # make sure that we keep the offset
    
       $offset=tell($file) if (-1==$offset);
       while ((defined($line=<$file>)) &&
	      (($line=~ /^\s+$/) || ($line=~ /^\s*\#/))) {
          $offset=tell($file) if (-2!=$offset);
          # print STDERR "skip lines: ", $line;
       }
       $line=~ s/\s/ /g;

    }
    
    # print "start $!\n";

    # print STDERR "first line: ", $line;
    
    if ($line) {
       
       #
       # return immediately if we found a deleted object
       # and we are not in scanning mode during the index
       # process when we intend to skip deleted objects
    
       if ($line=~ /^ *\*?$DELETEDOBJECT *\:/o) {

          return ($DELETEDOBJECT, $offset, 0) if ($offset>=0);

          # print STDERR "XX object $line";
       
          while ($line=~ /^\s*\*?$DELETEDOBJECT\s*\:/o) {
                while ((defined($line=<$file>)) && 
                       ($line ne "\n")) {};
                while ((defined($line=<$file>)) &&
                       (($line=~ /^\s*$/) || ($line=~ /^\s*\#/))) {
                   $offset=tell($file) if (-2!=$offset);
                }; 
          }
          $line=~ s/\s/ /g;

       }
       
       for (;;) {
          
          $linelength=length($line);

          if (($line=~ s/^(\*)?([^\*\: ]+)( *\: *)//) ||
              ((@lines) && (($line=~ s/^(  +)//) || ($line=~ s/^()\#/\#/)))) {
             
             $readsize+=$linelength;

             if ($3) {
                
                #
                # we found another attribute

                $standardprefixlength=length($1)+length($2)+length($3);

                ($newtag=$2)=~ tr/A-Z/a-z/;
                $connect="\n";

             }
             else {

                #
                # we have a line continuation

                $prefixlength=length($1)-$standardprefixlength;

                push(@connectlength, ($prefixlength<=0)?2:($prefixlength+2));                

                $connect="\r";
                
             }
             
             #
             # remove trailing spaces
             
             $line=~ s/ *$//;
             
             if ($tag eq $newtag) {
             
                # print STDERR "tag: ", $tag, "\n";
             
                # tag is same as previous one
             
                if ($line) {
                   # print STDERR "tag: $tag value: $line\n";
                   push(@lines, $connect, $line);
                }
                else {
                   push(@lines, $connect, "")  if ($lines[$#lines]);
                   #&logmessage("ERRLOG", "enread: empty attribute, normal $tag (offset: ".$offset." ".$offset." ".tell($file).") in line: $newtag:");
                }
             
             }
             else {
                
                #
                # tag could have been changed
                
                #
                # store old tag
                
                if ($entry{$shorttag}) {
                   $entry{$shorttag}=join("", $entry{$shorttag}, $connect, @lines) if (@lines);
                }
                else {
                   $entry{$shorttag}=join("", @lines) if (@lines);
                }

                #
                # store line continuation lengths

                if (@connectlength) {
                   if ($entry{$shorttag.$CONTINUATIONSUFFIX}) {
                      $entry{$shorttag.$CONTINUATIONSUFFIX}=join(" ", $entry{$shorttag.$CONTINUATIONSUFFIX}, @connectlength);
                   }
                   else {
                      $entry{$shorttag.$CONTINUATIONSUFFIX}=join(" ", @connectlength);
                   }
                }
                
                $tag=$newtag;
                
                $shorttag=$ATTR{$tag};
                
                if (!$shorttag) {
                   &logmessage("ERRLOG", "enread: unknown attribute: \'$tag\' found, (offset: ".$offset." ".$offset." ".tell($file).") in line: $tag: ".$line);
                   $shorttag=$tag;
                }
                
                #
                # we keep the type of the object
                
                # print STDERR "newtag: ", keys %OBJATSQ, $tag, "\n";
                
                $type=$shorttag if ((!$type) && ($OBJATSQ{$shorttag}));
                
                #
                # print STDERR "type: ", $type, "\n";
                
                if ($line) {
                   # print STDERR "newtag: $tag type: $type value: $value\n";
                   @lines=($line);

                }
                else {
                   @lines=("");
                   #&logmessage("ERRLOG", "enread: empty attribute, newtag $newtag (offset: ".$offset." ".$offset." ".tell($file).") in line:".$line);
                }
             
             }
             
          }
          else {
             
             # now we have the following possibilties:
             #
             # - we are at the end of the object
             # - we found a comment
             # - we have an error condition
             #
             # let's assume the first possibility first since
             # it is most common
             
             if ($line=~ /^ *$/) {

                #   
                # end of object
                
                #
                # store old tag
                
                if ($entry{$shorttag}) {
                   $entry{$shorttag}=join("", $entry{$shorttag},$connect,@lines);
                }
                else {
                   $entry{$shorttag}=join("", @lines);
                }
                
                #
                # store line continuation lengths

                if ($entry{$shorttag.$CONTINUATIONSUFFIX}) {
                   $entry{$shorttag.$CONTINUATIONSUFFIX}=join(" ", $entry{$shorttag.$CONTINUATIONSUFFIX}, @connectlength) if (@connectlength);
                }
                else {
                   $entry{$shorttag.$CONTINUATIONSUFFIX}=join(" ", @connectlength) if (@connectlength);
                }
      
                # print STDERR "type: $type ",$entry{"so"}." $shorttag entry:\n", %entry, "\n";
                
                return ($type, $offset, $readsize) if ($type);
                
                &logmessage("ERRLOG", "enread: object has no type (offset: ".$offset." ".$offset." ".tell($file).") in line: ".$line);  
                   
                %entry=();
                   
                # just create a type that is not the same as others and 
                # that is for sure invalid ...
                      
                return ($DELETEDOBJECT.$DELETEDOBJECT, $offset, 0);
                      
             }
             elsif ($line!~ /^\#/) {
  
                #              
                # no comment, no end of object
                #
                # we have an error condition
                #
                
                # print STDERR "$offset $line";
                      
                &logmessage("ERRLOG", "enread: no attribute in line (tag: $tag, type: $type) (offset: ".$offset." ".$offset." ".tell($file).") in line: ".$line);  
                
                # skip rest of object
                
                if (!defined($size)) {         
                   while ((defined($line=<$file>)) && ($line!~ /^\s+$/)) {}
                }
     
                %entry=();
                      
                # just create a type that is not the same as others and 
                # that is for sure invalid ...
                      
                return ($DELETEDOBJECT.$DELETEDOBJECT, $offset, 0);
                
             }
             
          }
       
          if (defined($size)) {
             ($line=shift(@inputlines)." ")=~ s/\s/ /g;
             #print STDERR "next: -", $line,"-", @inputlines;
          }
          else {
             ($line=<$file>)=~ s/\s/ /g;
             #print STDERR "line: ",$line,"\n";
          }
          
       
       }
  
    }
    else {
       return();
    }

}

1;


#
#	End of included 'enread.pl' data is here
#

#
#	The file 'enwrite.pl' is included here
#



#
#       enwrite - write RIPE database entry
#
#	$RCSfile: ripe2rpsl,v $
#	$Revision: 1.3 $
#	$Author: ljb $
#	$Date: 2001/06/04 19:09:44 $
#
#	This routine writes a RIPE database entry to standard output
#	in long or short form.
#
#       Arguments:
#	$output		file handle for output
#	*object		pointer to assoc array with database entry
#	$witherrors	boolean flag for with or without error messages

#  Original code is written by various authors and copyrighted by the RIPE NCC
#  Contact <ncc@ripe.net> for details.
#
#  Copyright (c) 1998 by the University of Southern California
#  and/or the International Business Machines Corporation.
#  All rights reserved.
#
#  Permission to use, copy, modify, and distribute this software and
#  its documentation in source and binary forms for lawful
#  non-commercial purposes and without fee is hereby granted, provided
#  that the above copyright notice appear in all copies and that both
#  the copyright notice and this permission notice appear in supporting
#  documentation, and that any documentation, advertising materials,
#  and other materials related to such distribution and use acknowledge
#  that the software was developed by the University of Southern
#  California, Information Sciences Institute and/or the International
#  Business Machines Corporation.  The name of the USC or IBM may not
#  be used to endorse or promote products derived from this software
#  without specific prior written permission.
#
#  NEITHER THE UNIVERSITY OF SOUTHERN CALIFORNIA NOR INTERNATIONAL
#  BUSINESS MACHINES CORPORATION MAKES ANY REPRESENTATIONS ABOUT
#  THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE.  THIS SOFTWARE IS
#  PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
#  INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND 
#  NON-INFRINGEMENT.
#
#  IN NO EVENT SHALL USC, IBM, OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY
#  SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, WHETHER IN CONTRACT,
#  TORT, OR OTHER FORM OF ACTION, ARISING OUT OF OR IN CONNECTION WITH,
#  THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
#  Questions concerning this software should be directed to 
#  info-ra@isi.edu.
#
#  Author(s): David Kessens <davidk@isi.edu>
sub enwrite {
    local($output, *object, $type, $witherrors) = @_;
    
    local($offset)=tell($output)+1;
    local(@errs)=(); @errs=("uw","ue") if ($witherrors);
    local(@buffer)=("\n");
        
    local($val, @continuations, $margin);
    
    #
    # If we have an unknown object, let's try
    # and print this anyway to inform the user ...

    if ((!$type) || ($object{"ue"})) {

       local(@keys)=();
       local(%doubles)=();

       @keys=split(/ /, $OBJATSQ{$type}) if ($type);
       push(@keys, grep( ! /^u[ew]$/, keys %object), @errs);
       
       foreach $key (@keys) {
	    
          next if ((!defined($object{$key})) ||
                   ($doubles{$key}) ||
                   ($key=~ /$CONTINUATIONSUFFIX$/o) || 
                   ((!$witherrors) && ($key=~ /^u[ew]$/)));
 
          $doubles{$key}=1;
	  
          foreach $val (split(/\n/, $object{$key})) {
	       
             if ($ATTL{$key}) {
                push(@buffer, $ATTL{$key}, ": ", " " x ($MAXATTRIBUTELENGTH - length($ATTL{$key})));
             }
             else {
                push(@buffer, $key, ": ");
             }

             #
             # for just in case:
             # remove any line continuations at the end of lines ...

             #
             # we will not enter 'foreach' when $val=""
             # so we are repairing it in advance ...

             push(@buffer, "\n") if ($val eq "");

             $val=~ s/[^\S\n]+$//;

             #
             # add line continuation leading spaces

             @continuations=split(/ /, $object{$key.$CONTINUATIONSUFFIX});

             foreach (split(/(\r)/, $val)) {
                  
                if ($_ eq "\r") {

                   $margin=shift(@continuations);
                   $margin=2 if ((!$margin) || ($margin<2));

                   push(@buffer, (" " x ($MAXATTRIBUTELENGTH + $margin)));

                }
                elsif (scalar(@buffer)>$MAXLISTLENGTH) {
                   print $output @buffer;
                   @buffer=($_, "\n");
                }
                else {
                   push(@buffer, $_, "\n");
                }

             }

          }
	
       }

       print $output @buffer if (@buffer);
       return $offset;
    
    }
    
    foreach $key (split(/ /, $OBJATSQ{$type}), @errs) {
       
       next if (!defined($object{$key}));

       # print STDERR "*",$key,"* ", $object{$key}, "\n";
    
       foreach $val (split(/\n/, $object{$key})) {

          push(@buffer, $ATTL{$key}, ": ", " " x ($MAXATTRIBUTELENGTH - length($ATTL{$key})));

          #
          # for just in case:
          # remove any line continuations at the end of lines ...

          $val=~ s/[^\S\n]+$//;

          #
          # we will not enter 'foreach' when $val=""
          # so we are repairing it in advance ...

          push(@buffer, "\n") if ($val eq "");

          #
          # add line continuation leading spaces

          @continuations=split(/ /, $object{$key.$CONTINUATIONSUFFIX});

          foreach (split(/(\r)/, $val)) {

             if ($_ eq "\r") {

                $margin=shift(@continuations);
                $margin=2 if ((!$margin) || ($margin<2));

                push(@buffer, (" " x ($MAXATTRIBUTELENGTH + $margin)));

             }
             elsif (scalar(@buffer)>$MAXLISTLENGTH) {
                print $output @buffer;
                @buffer=($_, "\n");
             }
             else {
                push(@buffer, $_, "\n");
             }

          }

       }

    }

    print $output @buffer if (@buffer);

    return $offset;
    
}

1;


#
#	End of included 'enwrite.pl' data is here
#

#
#	'convert2domainname' is included from the file 'misc.pl'
#


#       misc - miscellaneaous functions
#
#	$RCSfile: ripe2rpsl,v $
#	$Revision: 1.3 $
#	$Author: ljb $
#	$Date: 2001/06/04 19:09:44 $
#


sub convert2domainname {
    local($domain)=@_;

    return "" if (!&isdomname($domain));

    if ($domain=~ /^$VALIDFULLIP4$/o) {

       local($newdomain)=(gethostbyaddr(pack("C4", split(/\./, $domain)), PF_INET))[0];
       
       return "" if (!&isdomname($domain));

       return $newdomain;

    }
    
    return $domain;

}

#
#	End of included 'misc.pl' data is here
#

#
#	'getYYYYMMDDandHHMMSS' is included from the file 'misc.pl'
#


#       misc - miscellaneaous functions
#
#	$RCSfile: ripe2rpsl,v $
#	$Revision: 1.3 $
#	$Author: ljb $
#	$Date: 2001/06/04 19:09:44 $
#


#
# the name says all ...:


sub getYYYYMMDDandHHMMSS {

    local($s,$m,$h,$day,$month,$year,$wd,$yd,$is)=localtime(time);

    $year+=1900;

    local($YYYYMMDD)=sprintf("%4d%2d%2d",$year,++$month,$day);
    $YYYYMMDD=~ tr/ /0/;

    local($HHMMSS)=sprintf("%2d:%2d:%2d",$h,$m,$s);
    $HHMMSS=~ s/ /0/g;

    return ($YYYYMMDD,$HHMMSS);

}

#
#	End of included 'misc.pl' data is here
#

#
#	'isdomname' is included from the file 'misc.pl'
#


#       misc - miscellaneaous functions
#
#	$RCSfile: ripe2rpsl,v $
#	$Revision: 1.3 $
#	$Author: ljb $
#	$Date: 2001/06/04 19:09:44 $
#


sub isdomname {

    # print STDERR "dom: ($_[0])", scalar($_[0]=~ /^\s*$DOMAINNAME\s*$/o), "\n";
    
    return scalar($_[0]=~ /^\s*$DOMAINNAME\s*$/o);

}

#
#	End of included 'misc.pl' data is here
#


#
# end of included code

($DATE,$TIME)=&getYYYYMMDDandHHMMSS();
$REMARKSLINE="This object is automatically converted from the RIPE181 registry";
$CHANGEDLINE=$AUTOBOX." ".$DATE."\n";

local($type, %entry);

if (!getopts('s:')) {
	print "ERROR: unknown command-line option.  Abort!\n";
	exit;
}

while ($type=(&enread(STDIN, *entry, -1))[0]) {

   $type=&ripe2rpsl(*entry, $type, 0);
   &enwrite(STDOUT, *entry, $type, 1);
  
}

# end of program
